From BlenderWiki

Jump to: navigation, search

Road Map

This is a rough description of where we are in the BPy project and where we might go.

The Phases overlap since they describe general tasks and goals.

Phase 1

Provide Read/Write access to Blender's internal database. Goal is to enable writing importers and exporters to move data between applications.

Implementation is thin wrappers around blender C data structures.

Most of the basic work for this phase is complete.

Now that we know what we are doing, it is a good idea to go back and refine the API. Work here could include making method names similar for similar functions and focusing on attribute access. Our initial attempts used getSomething()/setSomething() style accessor methods. Current versions of Python provide get/set tables ( tp_getset ).

Phase 2

Manipulation of Blender database. Script access to Blender's functions. Example is calling RemoveDoubles from a bpy script. This starts to unleash the power of scripting. Once you can call a method on a an object, you can call the same method on a whole collection of objects.

The new SpaceHandlers are a big step here and overcome some major problems with the Evil Window Module(tm).

Phase 3

Implement Blender as a Python extension instead of current impl of embedded Python interpreter in Blender. This is the legendary and secret Blender3. Replace Blender's datastructures with python implementations. The Blender database consists of lists of objects. Lists are a standard python datatype. We have already created the classes, and methods in the first two phases.

one attempt at this is started a little at PythonBlender


-- StephenSwaney - 20 Jun 2005

BPy 2k6

discussion of new api for BPy 2k6