Introduction

Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high-level dynamic data types, and classes. Python combines remarkable power with very clear syntax.

Python scripts are a powerful and versatile way to extend Blender functionality. Most areas of Blender can be scripted, including Animation, Rendering, Import and Export, Object Creation and the scripting of repetitive tasks.

To interact with Blender, scripts can make use of the tightly integrated API (Application Programming Interface).

General information

Links that are useful while writing scripts:

  • Python.org - General information about Python.
  • Blender Python API - Official API documentation. Use this for referencing while writing scripts.
  • API Introduction - A short introduction to get you started with the API. Contains examples.
  • CookBook - A section of handy code snippets (yet to be written)

Links that deal with distributing your scripts:

  • Sharing scripts - Information on how to share your scripts and get them included in the official Blender distribution.
  • Creating Add-ons - Add-ons are used to encapsulate and distribute scripts.
  • Add-ons project - Project to maintain a central repository of extensions to Blender.

Getting Started

Manual links

The following links take you from the basics to the more advanced concepts of Python scripting for Blender.

External links

Here are external links containing a lot of good information to start learning how to write scripts for Blender:

Extending Blender

Add-ons

Add-ons are scripts you can enable to gain extra functionality within Blender, they can be enabled from the User Preferences.

Outside of the Blender executable, there are literally hundreds of add-ons written by many people:

  • Officially supported add-ons are bundled with Blender.
  • Other Testing add-ons are included in development builds but not official releases. Many of them work reliably and are very useful but are not ensured to be stable for release.

For an overview of all add-ons available see the Scripts Catalog.

Scripts

Apart from add-ons, there are also scripts you can use to extend Blender’s functionality:

  • Modules: Utility libraries for import into other scripts.
  • Presets: Settings for Blender’s tools and key configurations.
  • Startup: These files are imported when starting Blender. They define most of Blender’s UI, as well as some additional core operators.
  • Custom scripts: In contrast to add-ons they are typically intended for one-time execution via the Text Editor

Saving your own scripts

File location

All scripts are loaded from the scripts folder of the local, system and user paths.

You can setup an additional search path for scripts in File Paths User Preferences ‣ File Paths.

Installation

Add-ons are conveniently installed through Blender in the User Preferences. Click the Install from File... button and select the .py or .zip file.

To manually install scripts or add-ons place them in the add-ons, modules, presets or startup directory according to their type. See the description above.

You can also run scripts by loading them in the Text Editor.