Contributing
Core RLHive
Did you spot a bug, or is there something that you think should be added to the main RLHive package? Check our Issues on Github or our roadmap to see if it’s already on our radar. If not, you can either open an issue to let us know, or you can fork our repo and create a pull request with your own feature/bug fix.
Creating Issues
We’d love to hear from you on how we can improve RLHive! When creating issues, please follow these guidelines:
Tag your issue with bug, feature request, or question to help us effectively sort through the issues.
Include the version of RLHive you are running (run
pip list | grep rlhive
)
Creating PRs
When contributing to RLHive, please follow these guidelines:
Create a separate PR for each feature you are adding.
When you are done writing the feature, create a pull request to the dev branch of the main repo.
Each pull request must pass all unit tests and linting checks before being merged. Please run these checks locally before creating PRs/pushing changes to the PR to minimize unnecessary runs on our CI system. You can run the following commands from the root directory of the project:
Unit Tests:
python -m pytest tests/
Linter:
black .
Information (such as installation instructions and editor integrations) for the black formatter is available here.
Make sure your code is documented using Google style docstrings. For examples, see the rest of our repository.
Contrib RLHive
We want to encourage users to contribute their own custom components to RLHive. This could be things like agents, environments, runners, replays, optimizers, and anything else. This will allow everyone to easily use and build on your work.
To do this, we have a contrib
directory that will be part of the package. After
adding new components and any relevant citation information to this folder, new
versions of RLHive will be updated with these components, allowing your work
to get a potentially larger audience. Note, we will be actively maintaining only
the code in the main package, not the contrib
package. We can only commit to giving
minimal feedback during the review stage. If a contribution becomes widely adopted
by the community, we may move it to the main repository to actively maintain.
When submitting the PR for your contributions, you must provide some results with your new components that were generated with the RLHive package, to provide us evidence of the correctness of your implementation.