OCP 8.0.1 powers two different modeling styles
build123d wraps the Open Cascade geometry kernel in Python and lets you describe parts with normal code. Algebra mode keeps objects explicit: create a sketch, subtract a circle, extrude it, then combine the result with another solid. Builder mode uses contexts such as BuildPart and BuildSketch to carry pending geometry and combination state. Both routes produce boundary-representation models suitable for editing and manufacturing interchange.
The measured checkout at commit 71e5466 contained 772 files, about 94,825 lines of source, and occupied 35 MB. That size reflects a broad CAD surface: curves, sketches, solids, selectors, assemblies, importers, exporters, examples, and tests. The README shows STEP and SVG imports plus STL and STEP exports, while its examples target 3D printing, CNC machining, laser cutting, and exchange with desktop CAD programs.
A 1,044 MB environment changes the setup decision
Our install pulled 133 packages in 58 seconds and used 1,044 MB on disk. That is a large Python environment for a library, even before a team adds notebooks, a viewer, or its own geometry assets. The build itself took only 2 seconds. Disk use, dependency review, and container image size will matter more in CI than the package's one-line pip install build123d command suggests.
Python 3.11 through 3.14 is the documented range. The README recommends ocp_vscode as a separate viewer because code alone is a poor way to inspect a fillet, bad face, or inverted solid. No cloud credential is required for local modeling. A useful workstation still needs an editor, viewer, and an agreed export format, plus visual or geometric checks for every part family your team produces.
What happened when we ran it
Our sandbox installed commit 71e5466 in 58 seconds and built it in 2 seconds. Pytest exited with code 1 after 87 seconds. The reported summary was 0 passed, 118 failed, 2 skipped, and 67 collection/setup errors against 185. The run used a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets.
The final pytest line reported 118 failures, 2 skips, and 67 errors in 79.40 seconds. Its tail repeatedly showed example subprocesses returning tracebacks that began while importing build123d from src/build123d/__init__.py, then entering build_common. The excerpt cuts off before the exception name or message. We cannot tell from that tail whether the missing piece is a system library, packaging defect, or another setup requirement.
The audit found 25 known vulnerabilities
Pip-audit reported 25 known vulnerabilities in the installed environment. The supplied result does not identify affected packages, advisory IDs, severity, or available fixes, so a stronger claim would be guesswork. A production team should rerun the audit against its locked dependency set, map each advisory to a reachable path, and decide whether pins or package substitutions are needed before shipping the environment.
The repository has 6 CI workflow files and a tests directory, but no Dockerfile. That makes our fresh-container failure more important, because the source clearly intends to be tested while leaving the exact Linux system image to adopters. A project can pass on its own CI matrix and still fail in another clean image. Documenting the required OS packages would narrow that gap once the underlying error is known.
Version 0.13.0 has open geometry regressions
Release v0.13.0 arrived on September 21, 2026, and upgraded the underlying kernel to OCP 8.0.1.0.0. Open issue 1474 links that change to an invalid result from a sweep using a binormal; the reporter also reproduced it in a FreeCAD nightly using OCCT 8.0.1. Geometry-kernel upgrades deserve part-level regression fixtures because a model can complete without producing the intended solid.
Open issue 1492 is more serious for generated artifacts. The same wire construction can retain one of two nearly coincident vertices based on process-specific behavior, changing downstream faces, solids, meshes, and BREP bytes. The report demonstrates two hashes across repeated runs on build123d 0.13.0. Teams using content-addressed caches or checking generated CAD into Git should test their profiles for deterministic output before standardizing on this release.
An October 4 push shows fast work around 289 open items
GitHub showed 3,306 stars and 289 combined issues and pull requests on October 5, 2026. API searches split that total into 275 open issues and 14 open pull requests. The repository was pushed on October 4, less than two weeks after v0.13.0. Those dates show active development, while the large issue queue tells adopters to search by operation and geometry family before assuming a reported edge case is rare.
build123d has one of the clearest Python interfaces for treating CAD as source code, and its algebra mode reads well in review. Our 87-second failed suite and 25 audit findings make the current environment unsuitable for blind adoption. Try a representative part set, validate solids and exported files, lock the working stack, and keep visual checks in the loop. If the same script must produce identical BREP bytes, resolve issue 1492 before calling the pipeline repeatable.

