New in version 1.2.0.
Starting with OctoPrint 1.2.0, there’s now a plugin system in place which allows to individually extend OctoPrint’s functionality.
Right now plugins can be used to extend OctoPrint’s web interface, to execute specific tasks on server startup and shutdown, to provide custom (API) endpoints or whole user interfaces with special functionality, to react to system events or progress reports or to add support for additional slicers. More plugin types are planned for the future.
Since a plugin might not function properly and cause issues that are hard to diagnose or outright disrupt server functionality, you might want to be able to start OctoPrint without any third party plugins enabled. This is also very important when reporting bugs in OctoPrint, to ensure that what you are observing is actually a bug in OctoPrint and not in any of your installed third party plugins.
To do that, OctoPrint has a built-in safe mode that disables all plugins not shipped as part of OctoPrint. You can read more on how to enable that here.
The official OctoPrint Plugin Repository can be found at plugins.octoprint.org.
Some plugins may also be found in the list provided in the OctoPrint wiki and on the OctoPrint organization Github page.
Plugins can be installed through the bundled Plugin Manager, which allows installing plugins available in the OctoPrint Plugin Repository, from a web address or from an uploaded file archive.
Please refer to the documentation of the plugin for additional installations instructions.
If you don’t want or can’t use the Plugin Manager, plugins may also be installed manually either by copying and
unpacking them into one of the configured plugin folders (regularly those are
<octoprint source root>/plugins and
<octoprint config folder>/plugins 1 or by installing them as regular Python modules via
For a plugin available on the Python Package Index (PyPi), the process is as simple as issuing a
pip install <plugin_name>
For plugins not available on PyPi, you’ll have to give
pip an URL from which to install the package (e.g. the URL to
a ZIP file of the current master branch of a Github repository hosting a plugin, or even a
git+https URL), example:
pip install https://github.com/OctoPrint/OctoPrint-Growl/archive/master.zip
See the pip install documentation for what URL types are possible.
See Developing Plugins.
For Linux that will be
~/.octoprint/plugins, for Windows it will be
%APPDATA%/OctoPrint/pluginsand for Mac
Make sure to use the exact same Python installation for installing the plugin that you also used for installing & running OctoPrint. For OctoPi this means using
~/oprint/bin/pipfor installing plugins instead of just