OpenEnergyPlatform / OpenEnergyPlatform/oeplatform

Project settings: Some/all Oeplattform features should be optional and configurable via settings

Open
#2,059 0 comments 1 reaction 1 assignee View on GitHub

@jh-RLI is already working on this.

Since Jul 16, 2025.

discussion
Dominant language
Python
Stars
65
Forks
29
Avg merge
15h 25m
Merged PRs (30d)
32

Description

Description of the issue

The oeplatform is a growing open source software. Within the last few years, it became more clear that users want to be able to install their own, self-hosted instance. This raises the need to enable/disable some features as they are quite specific to the research we do in our organization.

In one use case we supported individuals to install their own instance, we saw many issues when their instance code starts to differ from the official code repository here on GitHub. This is why we think users should stay in sync with the official code base but we must enable them to select what features they need.

Ideas of solution

We can either use the settings.py or introduce another setting file which would be - similar to the securitysettings.py - ignored by git. This settings file would be used to activate / deactivate features by Boolean values.
To start of I already added such settings variables to the current settings file to better handle features like the OEKG, OEVKG, the peer review and additionally DOCKER to variate the project settings depending on the deployment structure.

Depending on the value, we would need to update the code of the oeplatform to remove the features from the UI and from the API.

This still will not fully decouple instances from the feature dependencies, as the python requirements will be installed anyway. This might be okay as we will make sure everything works with the used requirements ... still, users might install packages they don't need for their use case. To solve this issue we would have to customize the pip installation, e, g. using multiple requirements files which collect packages specifically relevant to a feature and general purpose packages.

Workflow checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.