AcademySoftwareFoundation / rez

An integrated package configuration, build and deployment system for software
https://rez.readthedocs.io
Apache License 2.0
932 stars 329 forks source link

Simplify plugin development by supporting entrypoint based plugins #1661

Open JeanChristopheMorinPerso opened 6 months ago

JeanChristopheMorinPerso commented 6 months ago

Developing plugins today is not very straightforward (and also undocumented). To make plugins available, you can install them directly under rezplugins (that's called a namespace package) or you can add the path in REZ_PLUGIN_PATH.

A plugin has to follow a strict folder structure.

I suggest that we add support for Python entrypoints to modernize our plugins a little bit and make it simpler to register plugins. See https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/ for documentation on how this can be done.