Welcome to the updated Open Problems documentation. If you need the legacy docs, you can find them here.

Your first contribution

To contribute new functionality to OpenProblems, please follow the steps below:

  1. Search through the GitHub Issues tracker of the task to ensure that no one else is already working on the feature you would like to add.
  • If someone is already working on it, post in that issue to express your interest or reach out to the contributors working on the issue directly.
  • If there is no existing issue tracking the feature, create a new one.
  1. Review the key concepts of OpenProblems to get a good grasp of the framework as a whole.

  2. Install the necessary requirements to work with OpenProblems.

  3. Follow the getting started guide to fork and clone the repository and download the necessary test resources.

  4. Add a method, metric, or control method to the framework.

  5. Run the provided unit tests to ensure that the new functionality passes.

  6. Create a pull request from your branch to the OpenProblems main branch. Don't forget to add an entry to the CHANGELOG.md file describing the proposed changes.