Contributing to the code

Contributing to the code#

If you find a problem with the code or have any ideas for new features or improvements, feel free to get involved! We ask that all problems are reported as Github issues and all code changes are submitted as pull requests linked to an issue. Please make one branch per feature or bug fix, and be sure to include tests and Google-style docstrings for any major additions or changes.

jorbit uses uv for requirements management. Once you have a local copy of a branch, you should be able to build a local environment by running:

uv sync

which will create a .venv directory in the root of the repository. You can then activate this environment with:

source .venv/bin/activate

Or, to run anything without activating, use

uv run <command>

If submitting a pull request, please be sure to run the tests (either with tox or pytest) and to adhere to the black python code style. jorbit uses Github Actions for continuous integration, so all pull requests will automatically trigger tests and formatting checks.

Additionally, jorbit uses a few pre-commit hooks for formatting and linting, including Ruff and Codespell. When creating a new local branch, please run the following command to install the hooks:

pre-commit install

Though jorbit is not affiliated with Astropy, we still ask that all contributors follow the Astropy Project Code of Conduct. If you have any questions or concerns, please feel free to reach out to the maintainer(s).