Metadata-Version: 2.4
Name: blender-python-stubs
Version: 4.5.8.2
Summary: Type stubs for Blender 4.5 Python API
Project-URL: Homepage, https://git.autourdeminuit.com/autour_de_minuit/blender-python-stubs
Project-URL: Issues, https://git.autourdeminuit.com/autour_de_minuit/blender-python-stubs/issues
Project-URL: Repository, https://git.autourdeminuit.com/autour_de_minuit/blender-python-stubs
Author: Joseph HENRY
Author-email: Autour de Minuit <tech@autourdeminuit.com>
License-Expression: MIT
License-File: LICENSE
Keywords: autocomplete,blender,bpy,stubs,typing
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Stubs Only
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# blender-python-stubs

[![PyPI](https://img.shields.io/pypi/v/blender-python-stubs?logo=pypi&logoColor=white)](https://pypi.org/project/blender-python-stubs/)

Strict type stubs for Blender 4.5 Python API.

Provides autocomplete, type checking, and inline documentation for `bpy`, `mathutils`, `bmesh`, `gpu`, `freestyle`, and all other Blender Python modules. Generated stubs pass [basedpyright](https://docs.basedpyright.com) `all` mode with 0 errors and use zero `typing.Any`.

## Installation

```bash
pip install "blender-python-stubs>=4.5,<4.6"
```

## Features

- Full Blender API coverage (`bpy`, `mathutils`, `bmesh`, `gpu`, `gpu_extras`, `bpy_extras`, `freestyle`, `aud`, `blf`, `bl_math`, `imbuf`, `idprop`)
- Accurate collection types (`BlendDataObjects` instead of generic `bpy_prop_collection`)
- Readonly `@property` decorators for RNA attributes
- Typed context members (`bpy.context.active_object`, `selected_objects`, etc.)
- Constructor signatures for `mathutils`, `gpu`, and other C extension types
- Literal enum types instead of plain `str`
- Zero `typing.Any` usage
- 0 errors in basedpyright strict mode

## Usage

```python
import bpy

obj = bpy.context.active_object
assert obj is not None
obj.location.x = 1.0

bpy.data.objects.new("Cube", bpy.data.meshes.new("Mesh"))
```

## Disclaimer

This project was coded with assistance of AI.

## License

[MIT](LICENSE)

---

Generated by [blender-python-stubs](https://git.autourdeminuit.com/autour_de_minuit/blender-python-stubs).

Made with ❤️ at [Autour de Minuit (ADV)](https://blog.autourdeminuit.com/) <img src="https://upload.wikimedia.org/wikipedia/commons/0/0c/Blender_logo_no_text.svg" alt="blender" width="20"/>
