{"data":{"slug":"build123d","name":"build123d","tagline":"Apache-2.0 Python CAD-as-code on Open Cascade — the library under text-to-cad","category":"python","categoryName":"Python","url":"https://build123d.readthedocs.io","github":"https://github.com/gumyr/build123d","pricing":"open-source","hook":"build123d is a parametric BREP modeling library in Python on Open Cascade — write code, get precise solids suitable for 3D printing, CNC, and laser work without opening a GUI CAD app.","whatsGood":"Apache-2.0 (gumyr/build123d). Free path: `pip install build123d` (or uv). Fully Pythonic API over Open Cascade for 2D/3D solids, exports for manufacturing, docs and cheat sheet at build123d.readthedocs.io. This is the modeling engine the text-to-cad agent plugin wraps — use build123d when you want the raw library in your own scripts, notebooks, or services. ★~3.3k.","theCatch":"Raw modeling library: no agent harness, no MCP, no viewer — pair with text-to-cad when an agent should drive CAD. Heavy Open Cascade / OCP install (native wheels, first install is large and platform-sensitive). Vs FreeCAD/CadQuery: CadQuery is the older Python OCCT layer; build123d is the newer ergonomic API many agent tools standardize on. Geometric correctness still needs a human tolerance pass before you cut metal.","verdict":"Apache-2.0 Python CAD library when you need code-first solids — free via pip; for the agent seat see text-to-cad.","addedAt":"2026-10-06","featured":false,"domain":"Python","subSpecialty":"CAD","subcategory":"CAD","tags":["sdk","self-host","permissive","graphics-3d","active"],"capabilities":["cad","python","geometry"],"surfaces":["Self-host"],"ecosystem":["Python"],"licenseModel":"Apache-2.0","githubStars":3460,"starsPerWeek":15,"access":"free","archived":false,"repo":{"createdAt":"2022-07-05","pushedAt":"2026-10-18","license":"Apache-2.0","archived":false,"checkedAt":"2026-10-19"}},"related":[{"slug":"fastapi","name":"FastAPI","tagline":"Modern Python APIs at startup speed"},{"slug":"pydantic","name":"Pydantic","tagline":"Data validation using Python type hints"},{"slug":"uv","name":"uv","tagline":"Python packaging at Rust speed"},{"slug":"ruff","name":"Ruff","tagline":"Python linter faster than your test suite"},{"slug":"polars","name":"Polars","tagline":"DataFrames that respect your CPU"}],"links":{"self":"/api/gems/build123d","html":"/gems/build123d","markdown":"/gems/build123d.md","category":"/api/gems?category=python","categoryPage":"/stacks/python"}}