Skip to content

Installation

pynumgeo needs Python 3.11 or newer and runs on Windows and Linux. Its only runtime dependencies are numpy and pydantic 2.

pip install --pre pynumgeo                   # pre-releases (2026.2.0.devN) until 2026.2.0
pip install --pre "pynumgeo[meshio]"         # + meshio for mesh import/export (Gmsh, VTK, ...)
pip install --pre "pynumgeo[pandas]"         # + pandas for result tables

From a checkout of the repository:

git clone https://github.com/j-machacek/pynumgeo.git
cd pynumgeo
pip install -e .
pip install -e ".[docs]"             # to build this documentation: zensical build

The numgeo executable

ng.run and pynumgeo run look for numgeo in this order:

  1. the executable= argument (--exe on the command line),
  2. the environment variable NUMGEO_EXE,
  3. numgeo (Windows: numgeo.exe) on the PATH.

pynumgeo does not ship numgeo. Reading, writing and validating need no executable.

Inside FreeCAD

The numgeo FreeCAD workbench uses pynumgeo from FreeCAD's own Python. That Python must be 3.11 or newer, and numpy and pydantic must be installed into it (numpy usually is). pynumgeo.mesh.mesh_from_femmesh converts a FreeCAD FEM mesh (FreeCAD stores lengths in mm, so it takes a length_scale); pynumgeo itself never imports FreeCAD.

Environment variables

variable used by meaning
NUMGEO_EXE run path of the numgeo executable
PYNUMGEO_CATALOGUE catalogue path of another catalogue file (the full, non-public catalogue for numgeo developers)