bpy
Blender as a Python module
What it is and what it does
Bpy packages Blender—the free and open-source 3D creation suite—as a Python module, allowing developers to access its modeling, rigging, animation, simulation, rendering, compositing, and motion-tracking capabilities programmatically. Rather than launching Blender's GUI, you import bpy and call its API directly from Python scripts, making it suitable for studio pipelines, web services, scientific research, and batch processing workflows.
The package is version-locked: each Blender release supports exactly one Python version, and bpy 5.2.0 requires Python 3.13. It carries five runtime dependencies (cattrs, cython, numpy, requests, zstandard) and is distributed as platform-specific wheels for macOS ARM64, Linux x86_64, and Windows (both AMD64 and ARM64). Older Blender versions outside the current LTS window are available from a separate PyPI index but are no longer on the main PyPI repository.
Use it for:
- Batch rendering of 3D scenes or animations in a headless server environment without GUI overhead.
- Programmatic 3D model generation, modification, or export as part of a content pipeline or web service.
- Scientific research or data visualization using Blender's modeling and rendering capabilities from Python scripts.
- Studio pipeline automation: rigging, animation, or simulation tasks triggered from a central orchestration system.
- Procedural asset generation or parametric design workflows driven by Python logic.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Exposes Blender's 3D creation suite—modeling, rendering, animation, simulation, and compositing—as a Python module for programmatic use in pipelines, services, and research.
Yes, if you need Blender's 3D capabilities in a Python workflow and can commit to Python 3.13 and accept the GPL-3.0 copyleft license. The active maintenance, zero known vulnerabilities, and broad platform support make it reliable for production pipelines. No, if you require a different Python version, need proprietary licensing flexibility, or want a lighter-weight 3D library—the GPL-3.0 copyleft and strict Python version requirement are hard constraints.
Install
bpy on PyPI
pip
pip install bpyuv
uv add bpypoetry
poetry add bpyInstalling bpy
Before you install
Medium install friction due to platform-specific wheels and five runtime dependencies (cattrs, cython, numpy, requests, zstandard). Requires Python 3.13 exactly; each Blender release supports only one Python version. Active maintenance with a release 31 days ago.
License in practice
GPL-3.0 copyleft license requires derivative works and modifications to be distributed under the same license. Use in proprietary pipelines or services may require careful legal review.
Quickstart
pip install bpy==5.2.0
import bpy
bpy.ops.render.render(write_still=True)
Requires Python 3.13 exactly (==3.13.*); system requirements match Blender's. Archived versions outside the LTS window must be installed from https://download.blender.org/pypi/ using --extra-index-url.
Verify before relying
- Whether the five runtime dependencies (cattrs, cython, numpy, requests, zstandard) are all required at runtime or some are build-time only.
- Specific system library or graphics driver requirements beyond Blender's documented system requirements.
- Performance characteristics and memory footprint when used in long-running services or batch rendering.
Package facts
| License | GPL-3.0 (copyleft) |
| Python support | supports the current Python release (==3.13.*) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 5 — cattrs, cython, numpy, requests, zstandard |
| Maintenance | actively maintained — 31 days since the last release |
| First released | |
| Downloads | 215,320/month — #9,403 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bpy-5.2.0-cp313-cp313-macosx_11_0_arm64.whl; bpy-5.2.0-cp313-cp313-manylinux_2_28_x86_64.whl; bpy-5.2.0-cp313-cp313-win_amd64.whl; bpy-5.2.0-cp313-cp313-win_arm64.whl
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
blender-mcpBlenderMCP is a Model Context Protocol server…
permissive · top 15,000 on PyPI
pycolladapycollada reads, writes, and edits COLLADA 3D…
permissive · top 5,000 on PyPI
pyrenderPyrender renders 3D scenes to images and…
permissive · top 5,000 on PyPI
simpySimPy is a process-based discrete-event…
permissive · top 15,000 on PyPI
Panda3DPanda3D is a 3D game engine with Python…
permissive · top 15,000 on PyPI
manifold3dManifold3d creates and operates on manifold…
permissive · top 5,000 on PyPI
moviepyMoviePy is a Python library for video editing…
permissive · top 5,000 on PyPI
pyobjc-framework-SceneKitProvides Python bindings to macOS's SceneKit…
permissive · top 15,000 on PyPI
open3d-cpuOpen3D-cpu provides CPU-based 3D data…
permissive · top 15,000 on PyPI
buildkite-sdkA Python SDK for interacting with Buildkite's…
unclear · top 15,000 on PyPI