Pluginification of solar cell schema
In this MR I introduced a step in Dockerfile
+ setup_dev_env.sh
that installs any additional plugins with pip
directly from a git hash. This makes sure that the plugin entry points are correctly registered.
I cannot make plugins such as perovskite_solar_cell_database
a real dependency in pyproject.toml
, as this would not allow us to publish nomad-lab
in pip (cannot include git dependencies). I also cannot declare the new-style plugins as packages under [tool.setuptools.packages.find]
in pyproject.toml
(as is currently done e.g. for parsers), because this will not activate any entry points.
Also, I have removed any imports from perovskite_solar_cell_database
by duplicating some code in the base package. If some of the base classes in nomad/datamodel/metainfo/eln/__init__.py
are moved to a plugin, this duplicated code can be removed.
Closes #2013 (closed).