cascadio
Convert STEP files to GLB using OpenCASCADE
Decision gist · record as of 2026-08-14
Yes, if you need to load STEP files into Python and want to avoid building OpenCASCADE yourself. The pre-built wheels and active maintenance make it a practical choice. Pin your version carefully due to PyPI size constraints and the possibility of older releases being removed. Not necessary if you already have FreeCAD or GMSH integrated into your workflow.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a pre-built wheel for your platform (Linux non-MUSL, Windows x64, or macOS x64/ARM); check PyPI for current platform support.
- Medium install friction due to compiled wheels; the package is actively maintained with recent releases.
- Wheels are pre-built for Linux (non-MUSL), Windows x64, and macOS (x64 and ARM), eliminating the need to compile OpenCASCADE locally.
License · maintenance · safety
(unclear) — Licensed under MIT with no restrictions on commercial or private use, modification, or redistribution. The license text is clear and permissive.
last release 2026-07-28 (17 days) · last repo commit 2026-07-28 · 40 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 303,373 downloads/mo, #7,813 on PyPI
Alternatives
Verify before relying
pip install cascadio
import cascadio
glb_data = cascadio.convert_to_glb('model.step')- Whether in-memory conversion (bytes input/output) is supported or planned as a near-term feature.
- Performance characteristics and typical conversion time for various STEP file sizes.
- Whether IGES format support has been implemented since the latest release.
What it is and what it does
Cascadio is a minimal Python wrapper around OpenCASCADE that converts STEP (Stereolithography and CAD Exchange Format) files into GLB (glTF binary) format. It focuses on the practical problem of loading boundary representation (BREP) CAD geometry into Python for analysis and visualization without requiring users to build OpenCASCADE themselves. Unlike full OpenCASCADE bindings, cascadio is deliberately narrow in scope: it takes a STEP file and produces a triangulated mesh that can be immediately loaded by trimesh and other 3D libraries.
The package's main value is in its build and packaging infrastructure. It uses scikit-build-core and cibuildwheel to produce pre-compiled wheels for multiple platforms and Python versions, eliminating the compilation burden on end users. This makes it practical to use OpenCASCADE—the de facto open-source BREP kernel—without the typical friction of building C++ dependencies. The library is actively maintained and supports Python 3.9 through 3.14.
Use it for
- Load STEP files from CAD systems into Python for geometric analysis on triangulated meshes without needing FreeCAD or GMSH.
- Convert legacy CAD geometry to GLB for visualization in web-based 3D viewers or game engines.
- Batch-process STEP files into mesh format for machine learning pipelines that work with 3D geometry.
- Integrate CAD model import into Python scientific computing workflows that rely on trimesh or similar mesh libraries.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to load STEP files into Python and want to avoid building OpenCASCADE yourself.
The pre-built wheels and active maintenance make it a practical choice. Pin your version carefully due to PyPI size constraints and the possibility of older releases being removed. Not necessary if you already have FreeCAD or GMSH integrated into your workflow.
Install
cascadio on PyPI
Before you install
Medium install friction due to compiled wheels; the package is actively maintained with recent releases. Wheels are pre-built for Linux (non-MUSL), Windows x64, and macOS (x64 and ARM), eliminating the need to compile OpenCASCADE locally. Note: PyPI has size constraints and older versions may be deleted; pinning to a stable release is recommended.
Requires a pre-built wheel for your platform (Linux non-MUSL, Windows x64, or macOS x64/ARM); check PyPI for current platform support.
License in practice
Licensed under MIT with no restrictions on commercial or private use, modification, or redistribution. The license text is clear and permissive.
Quickstart
pip install cascadio
import cascadio
glb_data = cascadio.convert_to_glb('model.step')
Verify before relying
- Whether in-memory conversion (bytes input/output) is supported or planned as a near-term feature.
- Performance characteristics and typical conversion time for various STEP file sizes.
- Whether IGES format support has been implemented since the latest release.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 17 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 303,373 / month, #7,813 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Natural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Multimedia :: GraphicsTopic :: Multimedia :: Graphics :: 3D ModelingTopic :: Scientific/Engineering |
Evidence: cascadio-0.1.1-cp310-cp310-macosx_11_0_arm64.whl; cascadio-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl; cascadio-0.1.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; cascadio-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; cascadio-0.1.1-cp310-cp310-win_amd64.whl; cascadio-0.1.1-cp311-cp311-macosx_11_0_arm64.whl; cascadio-0.1.1-cp311-cp311-macosx_11_0_x86_64.whl; cascadio-0.1.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; cascadio-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; cascadio-0.1.1-cp311-cp311-win_amd64.whl; cascadio-0.1.1-cp312-abi3-macosx_11_0_arm64.whl; cascadio-0.1.1-cp312-abi3-macosx_11_0_x86_64.whl; cascadio-0.1.1-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; cascadio-0.1.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; cascadio-0.1.1-cp312-abi3-win_amd64.whl; cascadio-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl; cascadio-0.1.1-cp314-cp314t-macosx_11_0_x86_64.whl; cascadio-0.1.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; cascadio-0.1.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; cascadio-0.1.1-cp314-cp314t-win_amd64.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 › “STEP to GLB conversion”
- cascadioConverts STEP files to GLB (glTF binary) format using OpenCASCADE,…
- pygltflibReads, writes, and manipulates GLTF and GLB 3D model files with full…
- pyrenderPyrender renders 3D scenes to images and provides an interactive…
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 build123d · ocp-tessellate · ocpsvg · ocp-gordon · panda3d-gltf · pycollada · pygltflib · cadquery-ocp · cadquery-ocp-novtk · embreex