Blender builds and releases include python script addons that extend its functionality. This page has information for developers who want to have their addon bundled with Blender and maintain it.
- Addons Catalog on wiki.blender.org
- Addons Project on developer.blender.org
- Submit an Addon on developer.blender.org
- bf-python mailing list for all python scripting and addon related questions
- #blenderpython IRC channel on irc.freenode.net
Addons are hosted in two Git repositories, that are automatically checked out as a submodule of the main Blender repository.
- Blender Addons: included in official releases on blender.org, strictly reviewed
- Blender Addons Contrib: included in test builds in the Testing tab, for more adventurous users
They can be found in these two directories of the main Blender repository:
Submitting an Addon
- Follow the Guidelines for Addons when implementing it.
- Ensure you have a page in the Addons Catalog.
- Submit the Addon on developer.blender.org
- Try to get your addons tested by users, gather feedback and improve as needed.
The reviewer will decide if the addon can be included in official release, included in the Contrib repository or can't be included. If the addon is in the Contrib repository and matures, you can later mail bf-python and ask for the Addon to be moved to the repository for official releases.
If the addon is on track to be included in official releases, you may be asked to submit it to our Code Review tool for a closer review.
If your addon is accepted, you will get commit rights to the repository where you can maintain and further improve the addon yourself. For the addon to remain in the repository, you will be expected to keep it working and handle bug reports by users. If you add new features you can add explanations about them in Blender release notes.
Some rules for developers with commit rights:
- Join the bf-extensions-cvs mailing list to see what's going on, and optionally the bf-python mailing list.
- Write good commit messages that explain which addon and what exactly you change (good example).
- It's acceptable to test other developers’ addons, and commit small fixes to their code (like a typo or obvious bug fixes).
- Optional: make your script pep8 compliant and follow best practice.
- Commit code that is not GPL2+ or compatible with it.
- Commit code you are not the author of (unless you have the author’s authorization).
- Commit big changes to other addons (unless you get the author’s permission).
- Commit binary files like .exe, .pyc, .pyd, .dll, etc.
- Add commit logs in your code (Git logs should be enough)
Working with Git
The same advice from our Git Usage page applies here.
If you have a full Blender checkout, you can go into the release/scripts/addons or release/scripts/addons_contrib directory, and it's as if you are working in the Blender Addons or Blender Addons Contrib repositories directly. You can do all the typical git commands there for adding files, committing changes, and fetching and rebasing updates.
Optionally you can choose to clone the individual repositories and work there:
git clone git://git.blender.org/blender-addons.git git clone git://git.blender.org/blender-addons-contrib.git
Bugs for all addons are reported to the Addons project on developer.blender.org. If a bug is filed for your addon, the bug will be assigned to you as the addon maintainer.
You can also help out with bugs that are marked as Needs Triage in the tracker, to assign them to the right maintainer, confirm the problem or even fix the bug yourself.