Creating a basic plugin


I was wondering if I could get started in creating my own plugins, I read the guide to making a hello world project.

I have a noob question.

where do we save this file , I tried searching the folders in octopi via ssh for a plugins folder but did not find any.

Would also like to know where the installed plugins get saved on the pi ?


It is fairly well explained here:


There are a couple of ways to install the plugin, manually or via plugin manager using a zip file, or using a URL in Plugin Manager to download the zip file and install it. If you want to actively working on it, then probably putting the plugin folder in ~/.octoprint/plugins/ would probably work on a pi. However, I strongly recommend creating a local virtualenv on whatever machine you're working on. It's pretty easy to set-up and there are guides all of the community forum here and the docs linked by @fieldOfView. Specifically look into this section.

hi !

I tried following the documentation on creating a virtual environment , but i am not sure if i completed all the steps correctly or not. I am pretty new to this so maybe thats the reason. I tried looking for an plugins folder via ssh but could not find one. I will take the sd card out and check it again.

Is there any way to check if I have done it correctly ??


Does it work? Then you have probably done all the steps correctly. Doesn’t it work? You have missed something. But you are going to have to tell us how it does not work.

If you are looking for a “plugins folder”, you have not read the documentation I linked to. It doesn’t matter where you put the plugin during development, but there’s a command (starting with ‘pip’) to “install” the plugin into the OctoPrint instance.


I did read through it , but since I am new to this I did not get a full understanding of it.

When creating the vitualenv my octoprint folder got placed in users file under c directory, apart from that I did everything else correctly. Few things in pycharm are a bit different than what was on the documentation.

I will try using the pip command like you mentioned and see how that goes.