Plugget is a Blender add-on manager to let users download & install add-ons from the web.
No technical steps for artists to get started with any add-on, instead the add-on devs are responsible for the set up process.
This means 1 person sets up the setup process, instead of every user of an addon has to struggle through the same setup process. Which for complex add-ons can be quite complex.
Plugget is a python module that acts as an add-on manager for Blender.
Anyone can submit an add-on manifest on the manifest repo.
Plugget then reads these manifests, letting the user search and install them.
It also auto installs any python dependencies, and let’s you create custom install actions. This allows add-on devs to create an easy install, so users don’t have to install dependencies.
e.g. a more advanced package is bqt, which needs pyside2 installed. Pip installing a package can be confusing for artists. but with plugget this is done automatically. The goal is to create a nice UI for end-users so they can install add-ons easily.
TODO:
make a UI so non dev users can use this tool too & package it in an add-on
find testers to test on mac & linux
Example:
easily install MACHIN3tools (and any other addon)with just 1 command in blender.
actually a little more. this is designed so it will also work with plugins for maya, 3ds max, krita, …
It can also install icon packs, or material packs, any resources.
the end goal is that you can provide someone with a single install line, and it auto installs all resources needed.
so you could easily distribute a full pipeline with tools for multiple apps.
second purpose is manage versions of your apps. easily update, or give a beta to a tester.
example: this tool needs pyside2 installed.
asking a user to do so is quite technical for them.
With the plugget addon it’s a simple 1 click install.
Really great stuff you are doing here. Making it easier for users to access and install add-ons is very welcome. Often it seems like it is only super-users who dare to install add-ons, and your work could change that.
People are requesting that I collect all of my VSE add-ons in one add-on. I once did an application template with most of them, but keeping them up to date is a lot of work, and filling up Blender with add-ons users do not necessarily need might not be a good idea. So, I was thinking about your add-on, should I make a fork of the add-on and the manifest repository and, and then do VSE versions for both of them, or how would you suggest I should approach this?
the easiest way would be, make a PR to add your manifest to the plugget manifest repo
and use a naming convention to group them.
e.g. TIN2TIN_EXPORT, TIN2TIN_ANIMATOR, …
then user can search TIN2TIN and all your plugins will show.
and no forks are needed on anything.
the name of the folder in the manifest repo, is the name the tool will show.
the repo url is the repo
the repo paths is for subfiles and subfolders. e.g. if you dont use __init__.py, we have to place the python file directly in the addons folder, instead of placingthe whole repo folder in the addons folder.
Thank you for spending your time on this. I had a quick peeking into the forking option, but it seems like I would have to fork 3 repositories and have to get them to point to themselves. Maybe that’ll be too much work to keep all of that updated when you update your code over time.
I fear adding VSE to my add-ons and add them to your pkg repository will make a mess out of everything.
It’s more work, but to keep the list clean, maybe the add-on categories could be used to organize the lists?
A minor thing I noticed, is that if you already have installed an add-on from GitHub the folder will have the branch added to the folder name, ex. “-main”, and you can end up with having the same add-on installed twice resulting in conflicts etc. maybe something can be done to avoid this situation?
to clarify, you don’t have to change your add-on repo names.
the name is set by the manifest in the plugget package repo.
so if i make a plugget manifest in a folder VSE-my-addon,
I can point it to your repo github.com/tin2tin/my-addon.
Then on installation of the package, it will be renamed to VSE-my-addon
The categories is a great idea! Will add that to my feature list.
It would make a lot of sense for the plugget manifest to read bl_info. to get category from there.
that’s an interesting one. not sure what happened there. Don’t remember adding main or branch name.
it’s deffo possible to get conflicts this way. will need to address that.
How would you expect plugget to handle this? Warn user, prevent install? …
does it feature a precompiled addon list ???
i thought we could add github/gitlab/whatever links …
you can add your manifest to the manifest repo. have a look in there. each folder is a separate add-on, that points to a repo on github. none of them are precompiled.
so you can add your own github/gitlab/… in a manifest to that repo.
then when you search in the UI, it searches all of the manifests that are in the repo.