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.
| Module | Public names | What it is |
|---|---|---|
FreeCAD | 15 | Upstream-compatible surface: documents, objects, the base value types. |
FreeCAD.Base | 13 | The Base value types FreeCAD exposes as a submodule. |
FreeCAD.Units | 9 | Quantity parsing, units and number formatting. |
FreeCAD.Console | 5 | The console sink a workbench prints through. |
FreeCADGui | 20 | Upstream-compatible GUI surface: commands, selection and dialogs. |
FerroCAD | 11 | FerroCAD-only surface: the semantic grid and the module hooks. |
FerroCADGui | 15 | FerroCAD-only GUI surface: providers, settings, overlays and view state. |
ferrocad_shell | 26 | The 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