Installing Kabuto Meshing

Kabuto Meshing runs on

  • Windows 10 / 11, 64-bit (Intel or AMD)
  • macOS 14 or later (Apple Silicon and Intel)
  • Linux x86_64 with glibc 2.28 or later (Ubuntu 22.04 and 24.04 are tested; also under WSL2)

It is installed for the current user; no administrator rights are needed.

Installer

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://kabuto.cfd/install.ps1 | iex"

macOS and Linux (terminal):

curl -LsSf https://kabuto.cfd/install.sh | sh

The installer

  1. installs uv, a tool installer, when it is not there yet;
  2. installs Kabuto Meshing into its own environment, with a Python that uv manages (the Python of your system is neither used nor changed);
  3. adds the command kabuto-mesh and a launcher for the desktop application: the Start menu on Windows, ~/Applications/Kabuto Meshing on macOS, the applications menu on Linux.

Then:

kabuto-mesh sample my-sample
kabuto-mesh --config my-sample/tee.yaml
kabuto-mesh gui

Without the desktop application (a server, a cluster, WSL without a display): curl -LsSf https://kabuto.cfd/install.sh | sh -s -- --no-gui, on Windows $env:KABUTO_NO_GUI = "1" before the command above.

By hand

The installer does nothing more than this:

uv tool install "kabuto-meshing[gui]" --index https://kabuto.cfd/simple/

or, with pipx: pipx install "kabuto-meshing[gui]" --pip-args="--extra-index-url https://kabuto.cfd/simple/". Leave out [gui] for the command line and the MCP server alone. Python 3.10 or later.

Update and removal

  • Update: run the installer again, or uv tool upgrade kabuto-meshing.
  • Remove: curl -LsSf https://kabuto.cfd/install.sh | sh -s -- --uninstall; on Windows $env:KABUTO_UNINSTALL = "1" before the installer command. By hand: uv tool uninstall kabuto-meshing and delete the launcher.

Your cases and settings files are never touched.

Checking a download

Every released file is listed with its SHA-256 checksum in SHA256SUMS and signed with minisign (<file>.minisig, next to the file in packages/):

minisign -V -p minisign.pub -m kabuto_meshing-<version>-<platform>.whl

The installer checks the checksum of what it downloads against the package index.

What is installed, and what goes over the network

  • The meshing core, a program of Kabuto CFD, inside the Python package kabuto-meshing.
  • Separate packages from the Python Package Index, among them Netgen (tetrahedral mesher, run as a separate program) and, for the desktop application, Qt for Python and VTK. THIRD_PARTY_NOTICES.txt in the package lists them with their licences.
  • Kabuto Meshing sends nothing about you or your work: no usage statistics, no crash reports, no geometry, no file names. Installing and updating download packages from kabuto.cfd and pypi.org (and uv itself from astral.sh and github.com); meshing works without a network connection.
  • The one request the program itself makes: a subscription license fetches its next license file from kabuto.cfd, sending the license's id and the product version and nothing else. The Free edition and licenses for a whole term make no request; KABUTO_LICENSE_OFFLINE=1 turns it off (licensing.md).

Notes

  • macOS: the programs are not signed with a developer certificate. Installed as above they run without a warning, because they are not downloaded with a browser. (A wheel downloaded with a browser and installed by hand may be blocked; use the commands above.)
  • WSL2: the command line and the MCP server work as on Linux. The desktop application needs WSLg (Windows 11, or Windows 10 with the Store version of WSL); otherwise install Kabuto Meshing on Windows itself.
  • Linux: Netgen needs the OpenGL libraries of a desktop system. On a minimal server: sudo apt install libgl1 libglu1-mesa libxrender1 libxcursor1 libxinerama1 libxft2.