Thanks for your interest in contributing to Ragna!
All Ragna development happens on GitHub.
If you'd like to contribute to an existing issue, make sure to comment on the issue to communicate your interest. If you're interested in something new, open an issue first to express interest and discuss the topic, implementation details, etc. with the Ragna Development Team.
Local development setup
To contribute to any part of the Ragna codebase (which includes documentation) you can setup a local development space with the following instructions.
Fork and clone the repository
git clone https://github.com/<your-username>/ragna.git
Set up development environment
We recommend using conda, but you can use any package and environment manager you
environment-dev.yml file at the root of the project lists all the required
Create and activate a conda environment:
conda env create --file environment-dev.yml
conda activate ragna-dev
Setup pre-commit hooks (optional)
To maintain code standards, you can install some pre-commit hooks that check your contributions when you commit them:
These checks are also run in the CI on each pull request.
You install Ragna in editable mode to test your contributions locally as you develop:
pip install --editable '.[all]'
Verify that a development version is installed with:
# Ideal output: ragna <version-number> devXXXX from ...
You can contribute to narrative documentation by adding and updating files in the
To start a development build of the website that auto-refreshes on new changes, run the following from the project root:
This serves the docs website at http://127.0.0.1:8000.
Contribution best practices
- Before opening new issues, go through the tracker to ensure there aren't any previous issues related to your topic.
- Write clear and descriptive issues and include all the necessary context like library versions and the complete error traceback.
- Eagerly communicate if you are interested in contributing to any open issues.
- To contribute new features and enhancements, open issues to discuss the work before creating a pull request.
- Make sure to test your pull request locally, and include relevant unit tests and documentation.