cadquery-ocp-novtk
Python wrapper for Open CASCADE Technology 3D geometry library based on the official CadQuery/OCP sources (no VTK support)
What it is and what it does
cadquery-ocp-novtk is a thin Python wrapper around the Open CASCADE Technology (OCCT) 3D geometry kernel, generated using pywrap. It exposes OCCT's modeling, topology, and geometry operations directly to Python, enabling developers to programmatically create and manipulate 3D shapes, perform geometric calculations, and work with CAD data. The package is designed primarily to support the CadQuery project and intentionally avoids adding functionality beyond what OCCT provides—it is a direct binding layer, not a higher-level abstraction.
The package ships precompiled wheels for Python 3.10–3.12 across macOS, Linux, and Windows, reducing installation friction. It explicitly excludes VTK (Visualization Toolkit) support, making it lighter-weight for headless or server-side geometry work. Type stubs are available separately for IDE integration. Active maintenance and recent releases indicate ongoing alignment with OCCT updates.
Use it for:
- Build CAD applications or geometry kernels in Python that require direct access to OCCT's modeling and topology operations.
- Perform 3D geometric calculations, shape transformations, and boolean operations in headless or server environments.
- Integrate OCCT geometry capabilities into workflows or parametric design tools.
- Develop computational geometry pipelines that need production-grade 3D kernel functionality without visualization overhead.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to the Open CASCADE Technology (OCCT) 3D geometry library, enabling programmatic access to OCCT's modeling, topology, and geometry operations without VTK visualization support.
Yes, if you need direct access to OCCT's 3D geometry and modeling capabilities in Python and are comfortable with a thin binding layer that does not abstract or extend OCCT's API. The permissive Apache-2.0 license, active maintenance, precompiled wheels, and lack of known vulnerabilities make it a solid choice for CAD, geometry, and parametric design work. Not suitable if you require VTK visualization or prefer higher-level geometry abstractions.
Install
cadquery-ocp-novtk on PyPI
pip
pip install cadquery-ocp-novtkuv
uv add cadquery-ocp-novtkpoetry
poetry add cadquery-ocp-novtkInstalling cadquery-ocp-novtk
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for Python 3.10–3.12 on macOS (arm64, x86_64), Linux (aarch64, x86_64), and Windows (amd64). Active maintenance with a release within the last 78 days.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions; attribution required.
Quickstart
pip install cadquery-ocp-novtk
from OCP.gp import gp_Pnt
pt = gp_Pnt(1.0, 2.0, 3.0)
Requires Python >=3.10 and <3.15; VTK visualization is not supported in this variant.
Verify before relying
- Completeness of OCCT module coverage and which specific OCCT versions are wrapped in 7.9.3.1.1.
- Performance characteristics and memory overhead compared to direct OCCT C++ usage.
- Availability and quality of type stubs (cadquery-ocp-stubs) for IDE support and type checking.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<3.15,>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — cadquery-ocp-proxy |
| Maintenance | actively maintained — 78 days since the last release |
| First released | |
| Downloads | 264,574/month — #8,335 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cadquery_ocp_novtk-7.9.3.1.1-cp310-cp310-macosx_11_0_arm64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp310-cp310-macosx_11_0_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp310-cp310-manylinux_2_31_aarch64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp310-cp310-manylinux_2_31_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp310-cp310-win_amd64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp311-cp311-macosx_11_0_arm64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp311-cp311-macosx_11_0_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp311-cp311-manylinux_2_31_aarch64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp311-cp311-manylinux_2_31_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp311-cp311-win_amd64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp312-cp312-macosx_11_0_arm64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp312-cp312-macosx_11_0_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp312-cp312-manylinux_2_31_aarch64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp312-cp312-manylinux_2_31_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp312-cp312-win_amd64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp313-cp313-macosx_11_0_arm64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp313-cp313-macosx_11_0_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp313-cp313-manylinux_2_31_aarch64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp313-cp313-manylinux_2_31_x86_64.whl; cadquery_ocp_novtk-7.9.3.1.1-cp313-cp313-win_amd64.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
cadquery-ocpcadquery-ocp provides Python bindings to the…
permissive · top 5,000 on PyPI
cadquery-ocp-proxyA proxy package that routes optional…
permissive · top 5,000 on PyPI
cadqueryCadQuery is a Python library for writing…
permissive · top 15,000 on PyPI
ocp-tessellateConverts OCP (OpenCascade Python bindings) CAD…
permissive · top 15,000 on PyPI
ocp-gordonInterpolates networks of curves into smooth…
permissive · top 15,000 on PyPI
build123dbuild123d is a Python CAD framework for…
permissive · top 15,000 on PyPI
ocpsvgConverts between SVG path strings and…
unclear · top 15,000 on PyPI
rhino3dmrhino3dm provides Python bindings to OpenNURBS…
permissive · top 15,000 on PyPI
cascadioConverts STEP files to GLB (glTF binary) format…
unclear · top 15,000 on PyPI
vtkVTK is a 3D graphics, image processing, and…
permissive · top 5,000 on PyPI