Skip to content

Pluginification of solar cell schema

Lauri Himanen requested to merge 2013-update-solar-cell-submodule into develop

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).

Edited by Lauri Himanen

Merge request reports