Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Python API reference

Generated from the live modules by tools/api_docs.py. Each page is a signature and summary reference for what FerroCAD ships, not a tutorial: the workflows in ../user/ show the same surface being used.

The product surface is the FreeCAD/FreeCADGui pair, which deliberately mirrors upstream, so the authoritative description of behaviour remains FreeCAD’s own documentation. FerroCAD/FerroCADGui hold the FerroCAD-only extensions and are documented here alone. What this section adds is the exact shape of the surface here.

ModulePublic namesWhat it is
FreeCAD15Upstream-compatible surface: documents, objects, the base value types.
FreeCAD.Base13The Base value types FreeCAD exposes as a submodule.
FreeCAD.Units9Quantity parsing, units and number formatting.
FreeCAD.Console5The console sink a workbench prints through.
FreeCADGui20Upstream-compatible GUI surface: commands, selection and dialogs.
FerroCAD11FerroCAD-only surface: the semantic grid and the module hooks.
FerroCADGui15FerroCAD-only GUI surface: providers, settings, overlays and view state.
ferrocad_shell26The host bridge the shell calls. Not upstream API: it is how FerroCAD’s window (and tools/userdocs.py) drive the facade.

Scope and honesty

  • Generated, not curated. A page lists what the module actually exports when the generator runs. A missing name means missing here, not undocumented.
  • Signatures where Python exposes them. Names implemented by the PyO3 extension may not report a signature; those show as (...).
  • Not a parity claim. Upstream has far more surface. The measured gap lives in docs/workbenches/conformance.md.

Regenerating

python3 tools/api_docs.py            # refresh every page
python3 tools/api_docs.py --check    # non-zero exit if a page is stale