$npx skillfedfor your agent

build123d

A python CAD programming library

Worth itPyPI Scientific/EngineeringReleased Jul 2026374.6K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — build123d-0.11.1-py3-none-any.whl
v0.11.1 · released 2026-07-02 · Python <3.15,>=3.10 · 17 runtime deps: cadquery-ocp-novtk, typing_extensions, numpy, svgpathtools, anytree, ezdxf, ipython, ocpsvg

Yes. build123d is actively maintained, has no known vulnerabilities, installs with low friction, and carries a permissive Apache-2.0 license. It is well-suited for developers who want to define CAD models programmatically rather than through a GUI. The large dependency footprint (17 packages) is typical for scientific Python and not a barrier. Start with the documentation and cheat sheet if you are new to BREP modeling or parametric CAD.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later (up to 3.14); Open Cascade geometric kernel is a compiled dependency bundled via cadquery-ocp-novtk.
  • Low friction installation as a pure-wheel package.
  • Actively maintained with a recent release (43 days old) and 2854 GitHub stars.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute the code provided you include the license and copyright notice.

last release 2026-07-02 (43 days) · last repo commit 2026-08-14 · 2,854 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 374,648 downloads/mo, #7,144 on PyPI

Verify before relying

pip install build123d

from build123d import *

line = Line((0, -3), (6, -3))
line += JernArc(line @ 1, line % 1, radius=3, arc_size=180)
sketch = make_hull(line.edges())
part = extrude(sketch, amount=2)
  • Whether the 17 runtime dependencies (numpy, scipy, scikit-learn, etc.) are all required for basic usage or only for specific features.
  • Performance characteristics and typical model complexity limits for real-world manufacturing workflows.
  • Interoperability details with FreeCAD and SolidWorks export beyond the documented STEP/STL formats.
Same gist for agents: .md · .json

What it is and what it does

build123d is a Python library for writing CAD models as code using boundary representation (BREP) geometry. It wraps the Open Cascade geometric kernel and provides a clean, Pythonic interface for constructing 2D and 3D shapes through two complementary paradigms: Algebra Mode (stateless, operator-driven) and Builder Mode (state-tracked, context-aware). Both modes support creating edges, wires, faces, sketches, and solids through explicit geometry classes and algebraic operations like addition and subtraction, with selectors for filtering shapes by properties like area, length, or orientation.

The library is designed for manufacturing workflows—3D printing, CNC machining, laser cutting—and supports importing and exporting standard formats (SVG, STEP, STL). It emphasizes clean, maintainable code with minimal internal state, rich type hints, and extensibility through subclassing. The 17 runtime dependencies include numpy, scipy, and scikit-learn for numerical operations, plus specialized packages like ezdxf for DXF interchange and lib3mf for 3MF format support.

Use it for

  • Parametric part design for 3D printing: define dimensions as variables and regenerate models with different parameters.
  • Laser cutting layouts: import SVG designs, convert to 2D faces, and export as DXF or STEP for cutting machines.
  • CNC toolpath preparation: model complex geometries with fillets and chamfers, then export STEP for CAM software.
  • Reusable component libraries: subclass geometry objects to create custom parametric parts (e.g., custom fasteners, brackets).
  • Design automation: generate arrays of parts with GridLocations and conditional logic for batch manufacturing.
  • Interoperability workflows: import STEP assemblies, modify specific components, and export back to FreeCAD or SolidWorks.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

build123d is actively maintained, has no known vulnerabilities, installs with low friction, and carries a permissive Apache-2.0 license. It is well-suited for developers who want to define CAD models programmatically rather than through a GUI. The large dependency footprint (17 packages) is typical for scientific Python and not a barrier. Start with the documentation and cheat sheet if you are new to BREP modeling or parametric CAD.

Install

build123d on PyPI

Before you install

Low friction installation as a pure-wheel package. Actively maintained with a recent release (43 days old) and 2854 GitHub stars. Requires Python 3.10–3.14 and pulls in 17 runtime dependencies including numpy, scipy, and scikit-learn, which are standard scientific packages.

Requires Python 3.10 or later (up to 3.14); Open Cascade geometric kernel is a compiled dependency bundled via cadquery-ocp-novtk.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute the code provided you include the license and copyright notice.

Quickstart

pip install build123d

from build123d import *

line = Line((0, -3), (6, -3))
line += JernArc(line @ 1, line % 1, radius=3, arc_size=180)
sketch = make_hull(line.edges())
part = extrude(sketch, amount=2)

Verify before relying

  • Whether the 17 runtime dependencies (numpy, scipy, scikit-learn, etc.) are all required for basic usage or only for specific features.
  • Performance characteristics and typical model complexity limits for real-world manufacturing workflows.
  • Interoperability details with FreeCAD and SolidWorks export beyond the documented STEP/STL formats.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release <3.15,>=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
17 packages
cadquery-ocp-novtktyping_extensionsnumpysvgpathtoolsanytreeezdxfipythonocpsvgocp_gordontrianglesolversympyscipyscikit-learnwebcolorsrequestslib3mfpy-lib3mf
MaintenanceActively maintained 43 days since the last release
Last repo commit
First released
Downloads374,648 / month, #7,144 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Evidence: build123d-0.11.1-py3-none-any.whl

Tags

Capabilities
python cad modeling libraryparametric 3d design codebrep geometry framework3d printing model generationopencascade python wrappercad as codestep stl export
Topics
cad-as-code3d-modelingmanufacturing
PyPI keywords
3d models3d printing3dbrepcadcadqueryopencascadepython

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “parametric 3d design code”

  • build123dbuild123d is a Python CAD framework for creating 2D and 3D models…
  • cadqueryCadQuery is a Python library for writing scripts that generate…
  • ocp-gordonInterpolates networks of curves into smooth Gordon surfaces using…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also cascadio · manifold3d · ocp-tessellate · cadquery · cadquery-ocp · cadquery-ocp-novtk · ocp-gordon · rhino3dm · pygmsh · py-lib3mf