skillfed

cascadio

Convert STEP files to GLB using OpenCASCADE

cascadio v0.1.1 303.4K downloads/30d#7,813 on PyPI40
License unclear The MIT License (MIT) Copyright (c) 2024 Michael Dawson-Haggerty Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the… (full text in the JSON record) Active released

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

Converts STEP files to GLB (glTF binary) format using OpenCASCADE, enabling rapid loading of 3D CAD geometry into Python via trimesh and similar libraries.

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

pip

pip install cascadio

uv

uv add cascadio

poetry

poetry add cascadio

Installing cascadio

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.

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')

Requires a pre-built wheel for your platform (Linux non-MUSL, Windows x64, or macOS x64/ARM); check PyPI for current platform support.

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 The MIT License (MIT) Copyright (c) 2024 Michael Dawson-Haggerty Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the… (full text in the JSON record) (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)

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

Keywords: graphics, STEP, GLTF

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

Tags

STEP to GLB conversionCAD file format conversion3D mesh export STEPOpenCASCADE Python bindingBREP to triangulated mesh
cad-import3d-meshgeometry-processing

More Scientific/Engineering packages