Investigate package dependency separation
Since the package contains different functionalities like the API (of the backend), graph (from networkx), templates (dynamic functions), and more coming to the future. It might make since to split the dependencies to optional sections and let the user select what they need from the package. For instance:
- pip install orkg -> installs minimal version
- pip install orkg[template] -> will supports templates as well
- pip install orkg[graph] -> same for the networkx functionalities
- pip install orkg[all] -> for the super saiyan of users
The of course would mean that no intertwined functionality should be used across factions. This here is just a proposal and would need more brainstorming and analysis before implementing.
References: