gumyr

gumyr/build123d

Python Apache-2.0 Science

A python CAD programming library

2.6k stars
241 forks
active
GitHub +71 / week

2.6k

Stars

241

Forks

356

Open issues

30

Contributors

v0.11.1 02 Jul 2026

AI Analysis

build123d is a Python-based parametric CAD library built on Open Cascade that enables programmatic creation of 2D/3D models for 3D printing, CNC machining, and laser cutting. It serves engineers, makers, and automation professionals who prefer code-driven design over GUI-based CAD tools, and is not suitable for users requiring traditional CAD interfaces or those without Python experience.

Science Library Discovery value: 6/10
Documentation 9/10
Activity 10/10
Community 8/10
Code quality 9/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

parametric-cad python-cad 3d-modeling brep-modeling manufacturing
Actively maintained Well documented Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
2w ago

Python CAD library offering Pythonic BREP modeling for programmatic design and manufacturing workflows

build123d is a Python-based parametric CAD framework built on Open Cascade, targeting users who want to express 3D geometry as code rather than clicking through GUI workflows. It serves engineers, makers, and developers building parts for 3D printing, CNC machining, and laser cutting. The project appears positioned as a more Pythonic alternative to CadQuery, emphasizing algebraic operators and minimal internal state. Real-world adoption remains unclear but shows signs of active use in manufacturing and hobbyist communities.

Origin

Created in July 2022, build123d emerged as the project matured in the CAD-as-code ecosystem. It builds on Open Cascade, the same kernel powering FreeCAD, and appears designed to learn from and improve upon earlier Python CAD libraries like CadQuery by offering cleaner syntax and architectural decisions focused on functional composition.

Growth

The project gained 60 stars in the week before analysis (steady growth signal). Steady maintenance and documentation suggest organic adoption, though the repository's relative youth (under 4 years old) and moderate star count (2,533) indicate it remains in an exploratory adoption phase within the niche. Growth appears driven by active community engagement (Discord, discussions) and continued feature development rather than mainstream marketing.

In production

adoption not verified. No case studies, documented production deployments, or quantified user base mentioned in README. PyPI download metrics are available but not detailed in README excerpt. Community channels (Discord, discussions) exist but participation scale unknown. Project appears to serve technical audiences (engineers, makers) but evidence of actual production use is not publicly documented.

Code analysis
Architecture

Based on README, likely organized around explicit 1D, 2D, and 3D geometry classes with emphasis on immutability and functional composition. Appears designed to minimize side effects through 'minimal or no internal state' modes. Uses operator overloading (`+=`, `*`, `@`, `%`) for algebraic modeling. Deep Python integration suggested by type hints (mypy, pylance), PEP 8 compliance, and Black formatting.

Tests

README references codecov badge and CI workflows for tests, pylint, and mypy, suggesting active quality gates. Specific coverage percentage not documented in README excerpt.

Maintenance

Last push 2026-06-27 (2 days before analysis date) indicates active maintenance. CI/CD badges present (tests, lint, mypy). Supported Python versions span 3.10–3.14, showing ongoing compatibility work. PyPI distribution present with wheel support. Regular updates and enforcement of code standards suggest mature project operations.

Honest verdict

ADOPT IF: you are a software engineer or technical maker building reproducible, version-controllable CAD designs in Python; you need 2D+3D parametric modeling for 3D printing, CNC, or laser workflows; you prefer functional composition and minimal state over traditional CAD GUI interactions. AVOID IF: you require extensive real-world production case studies or enterprise support guarantees; you need a mature, battle-tested ecosystem with dominant market share; you are a non-programmer seeking GUI-based design. MONITOR IF: you are evaluating Python CAD libraries long-term; the project shows healthy maintenance and design discipline but lacks documented production adoption at scale; watch for growth in the maker/manufacturing automation communities.

Independent dimensions

Mainstream potential

3/10

Technical importance

7/10

Adoption evidence

3/10

Risks
  • Adoption not verified: no public case studies or quantified production deployments; may be limited to hobbyists and early adopters.
  • Narrow ecosystem compared to FreeCAD or CadQuery: smaller community may limit library integrations, plugins, and third-party support.
  • Open Cascade dependency: performance and feature ceiling bounded by upstream kernel; any kernel issues directly impact library usability.
  • Potential fragmentation risk: if CadQuery and build123d pursue divergent visions, Python CAD-as-code community may splinter rather than consolidate.
  • Documentation completeness uncertain: README shows cheat sheet and examples, but depth of API documentation and advanced use cases not evidenced in excerpt.
Prediction

build123d will likely remain a specialized tool for technical audiences (engineers, makers, Python-first developers) rather than achieving mainstream CAD adoption. Growth trajectory suggests slow but steady organic adoption within niche communities. May become dominant within the 'Python CAD-as-code' subspace if it maintains design discipline and community engagement, but unlikely to challenge FreeCAD or GUI-centric tools for broader market share.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Python
99.8%
JavaScript
0.2%

Information

Language
Python
License
Apache-2.0
Last updated
18h ago
Created
49mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

CadQuery

CadQuery/cadquery

CadQuery is a Python library for programmatic 3D CAD modeling built on OCCT...

5.4k Python Science
FreeCAD

FreeCAD/FreeCAD

FreeCAD is a free, open-source parametric 3D CAD modeler for designing...

32k C++ Science
hlorus

hlorus/CAD_Sketcher

CAD Sketcher is a constraint-based geometry sketcher extension for Blender that...

3.3k Python Gaming
openscad

openscad/openscad

OpenSCAD is a specialized CAD modeler for engineers and makers who want to...

9.8k C++ Science
CadQuery

CadQuery/CQ-editor

CQ-editor is a PyQT-based graphical IDE for CadQuery, a Python library for...

1.2k Python Science
vs. alternatives
CadQuery

More established Python CAD library (5,378 stars). build123d appears designed as spiritual successor with cleaner syntax, stronger type hints, and reduced internal state. Adoption likely weighted toward CadQuery currently, but build123d may appeal to users seeking more Pythonic design patterns.

FreeCAD

Far larger project (31,791 stars, C++ foundation) with GUI-first design philosophy. build123d targets code-first workflows; they serve different user models. FreeCAD dominates GUI-based CAD; build123d cannot replicate that breadth but may be preferred for programmatic workflows.

OpenSCAD

Domain-specific CAD language (9,656 stars). OpenSCAD serves declarative geometry scripting; build123d offers full Python expressiveness. build123d likely more flexible for complex logic but higher barrier for non-programmers.

CascadeStudio

Browser-based web UI for Open Cascade (1,411 stars). build123d is library-based, Python-native; CascadeStudio targets interactive web workflows. Different interaction models; minimal direct competition.

LibreCAD

2D-focused CAD tool (5,996 stars). build123d handles 2D and 3D programmatically. LibreCAD serves GUI users; build123d complements rather than competes for users wanting code-first 2D/3D design.