Contributing

If you want to contribute to the development of overreact, you can find the source code on GitHub. The recommended way of contributing is by forking the repository and pushing your changes to the forked repository.

💡 If you're interested in contributing to open-source projects, make sure to read "How to Contribute to Open Source" from Open Source Guides They may even have a translation for your native language! After cloning your fork, we recommend using Poetry for managing your contributions:

$ git clone git@github.com:your-username/overreact.git  # your-username is your GitHub username
$ cd overreact
$ poetry install

Reccomended practices

Reporting issues

The easiest way to report a bug or request a feature is to create an issue on GitHub. The following greatly enhances our ability to solve the issue you are experiencing:

  • Before anything, check if your issue is not already fixed in the repository by searching for similar issues in the issue tracker.
  • Describe what you were doing when the error occurred, what actually happened, and what you expected to see. Also, include the full traceback if there was an exception.
  • Tell us the Python version you're using, as well as the versions of overreact (and other packages you might be using with it).
  • Please consider including a minimal reproducible example to help us identify the issue. This also helps check that the issue is not with your own code.

Support questions

Use the discussions for questions about your own code or on the use of overreact. (Please don't use the issue tracker for asking questions, the discussions are a better place to ask questions 😄.)

Submitting patches

  • Include tests if your patch is supposed to solve a bug, and explain clearly under which circumstances the bug happens. Make sure the test fails without your patch.
  • Use Black to auto-format your code.
  • Use Numpydoc docstrings to document your code.
  • Include a string like "fixes #123" in your commit message (where 123 is the issue you fixed). See Closing issues using keywords.
  • Bump version according to semantic versioning.