cadquery
CadQuery is a parametric scripting language for creating and traversing CAD models
Decision gist · record as of 2026-08-14
Yes. CadQuery is production-stable (Development Status 5), actively maintained, permissively licensed, and has no known vulnerabilities. Install friction is low for supported Python versions (3.11+). It is the right choice if you need to generate or manipulate 3D CAD models programmatically; if you require a graphical CAD editor, use CQ-editor alongside it or choose a different tool.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later; pip installation is limited to Python 3.9–3.12 on Linux, macOS, and Windows, with some older Linux distributions unsupported—conda installation recommended for broader compatibility.
- Low friction: distributed as a wheel for Python 3.9–3.12 on Linux, macOS, and Windows, though some older Linux distributions are not supported.
- Active maintenance with a release 54 days ago and 5601 repository stars.
License · maintenance · safety
Apache Public License 2.0 (permissive) — Licensed under Apache Public License 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
last release 2026-06-21 (54 days) · last repo commit 2026-08-14 · 5,601 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 704,227 downloads/mo, #5,276 on PyPI
Alternatives
Verify before relying
pip install cadquery
from cadquery.func import box, fillet
from cadquery.vis import show
b = box(1, 1, 1)
show(fillet(b, b.edges("|Z"), 0.1))- Whether the 13 runtime dependencies (including cadquery-ocp, trame, casadi, nlopt) are all required for basic use or only for advanced features.
- Performance characteristics and model complexity limits for large assemblies or high-resolution exports.
What it is and what it does
CadQuery is a Python library that lets you describe 3D CAD models using code rather than a graphical interface. You write scripts that define geometry—boxes, extrusions, fillets, lofts, and assemblies—and CadQuery translates them into high-quality CAD files. It wraps the OpenCASCADE kernel through its cadquery-ocp dependency, giving you access to industrial-strength modeling without leaving Python.
The library is designed for automation, integration into servers, and scientific workflows. It includes built-in visualization via trame and vtk, and works with Jupyter notebooks and the optional CQ-editor GUI. You can create parametric models where end users customize dimensions or features by editing script variables, then regenerate the entire design. Output formats include lossless STEP and DXF as well as mesh formats like STL and 3MF.
Use it for
- Generate STEP files programmatically for mechanical parts, enclosures, or assemblies in manufacturing workflows.
- Build parametric design tools where non-programmers adjust dimensions in a script and re-run to produce new CAD models.
- Automate repetitive CAD tasks—batch-generating variants, applying design rules, or integrating CAD into CI/CD pipelines.
- Create scientific or engineering simulations that output CAD geometry for visualization or further analysis.
- Embed 3D model generation in web services or backend systems without requiring a GUI CAD application.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
CadQuery is production-stable (Development Status 5), actively maintained, permissively licensed, and has no known vulnerabilities. Install friction is low for supported Python versions (3.11+). It is the right choice if you need to generate or manipulate 3D CAD models programmatically; if you require a graphical CAD editor, use CQ-editor alongside it or choose a different tool.
Install
cadquery on PyPI
Before you install
Low friction: distributed as a wheel for Python 3.9–3.12 on Linux, macOS, and Windows, though some older Linux distributions are not supported. Active maintenance with a release 54 days ago and 5601 repository stars.
Requires Python 3.11 or later; pip installation is limited to Python 3.9–3.12 on Linux, macOS, and Windows, with some older Linux distributions unsupported—conda installation recommended for broader compatibility.
License in practice
Licensed under Apache Public License 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install cadquery
from cadquery.func import box, fillet
from cadquery.vis import show
b = box(1, 1, 1)
show(fillet(b, b.edges("|Z"), 0.1))
Verify before relying
- Whether the 13 runtime dependencies (including cadquery-ocp, trame, casadi, nlopt) are all required for basic use or only for advanced features.
- Performance characteristics and model complexity limits for large assemblies or high-resolution exports.
Package facts
| License | Apache Public License 2.0 permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 13 packagescadquery-ocpezdxfmultimethodnloptruntypecasaditrametrame-vtktrame-componentstrame-vuetifypyparsingscipynumba |
| Maintenance | Actively maintained 54 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 704,227 / month, #5,276 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonTopic :: InternetTopic :: Scientific/EngineeringTopic :: Software Development :: Libraries :: Python Modules |
Evidence: cadquery-2.8.0-py3-none-any.whl
Tags
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 cad modeling python”
- cadqueryCadQuery is a Python library for writing scripts that generate…
- build123dbuild123d is a Python CAD framework for creating 2D and 3D models…
- cadquery-ocp-novtkProvides Python bindings to the Open CASCADE Technology (OCCT) 3D…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
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.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
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.
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.
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.
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.
See also cadquery-ocp · cadquery-ocp-novtk · ocp-tessellate · build123d · ocp-gordon · manifold3d · cascadio · numpy-stl · gmsh