Machinewright documentation
Machinewright is a graph-native hardware-as-code framework. A design declares part and assembly instances, typed ports, containment, transforms and connections. Machinewright resolves that declaration once and projects CAD, BOMs, print layouts, documentation graphs and artifact manifests from the same canonical ResolvedHardwareGraph.
CadQuery remains the leaf-geometry engine. It is not the assembly model.
Where to start
Section titled “Where to start”| If you want to… | Go to |
|---|---|
| Get Machinewright running | Install |
| Make your first design | Create a starter project |
| See what the app can do | Tour of the macOS app |
| Learn by building | Tutorials |
| Look up an API | Python API reference |
| Look up a command | CLI reference |
| Grab a release | Downloads |
The pieces
Section titled “The pieces”- The Python package (
machinewright) providesPartDefinition,AssemblyDefinition, the resolver, exporters and themachinewrightCLI. - Projects are ordinary Python folders with a
pyproject.tomland amachinewright.tomlthat describes the design’s templates and input configurations. - The macOS app opens a project folder, edits the source with a language server, and previews the evaluated design in 3D.
The ironless-actuator project, a 154-part planetary-geared actuator, is used throughout these docs for screenshots and examples.