← Back to projects

assimp-py

Live

Minimal CPython bindings for ASSIMP — load ~60 3D asset formats (FBX, GLTF, OBJ, COLLADA, BLEND, STL…) into Python with zero-copy NumPy-compatible buffers.

assimp-py

One Call, Every Format

assimp-py wraps the ASSIMP C API for Python with as little surface as possible. One import_file() with post-process flags returns the full scene: meshes with memoryview-backed attribute buffers, materials as dicts, and the complete node graph. NumPy picks up the buffers with zero copies, which makes it a practical loader for renderers, asset pipelines, and conversion scripts.

The bindings compile against a static ASSIMP build with exporters stripped, and binary wheels for Python 3.9–3.13 on all three desktop platforms are published on PyPI via cibuildwheel.

Features

~60 Import Formats

FBX, GLTF/GLB, OBJ, COLLADA, BLEND, STL, PLY, 3MF, X3D and more — anything ASSIMP 5.4 reads, via a single import_file() call.

Zero-Copy Buffers

Vertices, normals, tangents, texcoords, and colors are exposed as memoryviews — NumPy consumes them directly with no per-float Python objects.

Full Scene Graph

Node hierarchy, transforms, and materials as plain dicts — enough to write a renderer or asset pipeline without touching C.

Prebuilt Wheels

cp39–cp313 wheels for Linux, Windows, and macOS published on PyPI. pip install assimp-py and it just works.

Tech Stack

CCPython C APICMake
Visit LiveView on GitHub