Development¶
This section covers development setup and contribution guidelines.
Topics¶
- Contributing - How to contribute to janito
Prerequisites¶
- Python 3.10+
- Git
- uv (project & package manager)
- GitHub CLI (optional)
Quick Setup¶
# Clone the repository
git clone https://github.com/ikignosis/janito.git
cd janito
# Create the virtual environment and install the project + dev dependencies
uv sync
uv sync reads pyproject.toml and uv.lock and installs janito in editable
mode by default, plus the dev dependency group. An editable install means your
source-code changes take effect immediately (the equivalent of pip install -e .).
To also install the documentation tooling:
Running from Source¶
Testing¶
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=janito
# Run specific test file
uv run pytest tests/test_core.py
Version Management¶
janito uses setuptools-scm for automatic versioning.
- Version is derived from the latest git tag
- To release a new version:
Code Style¶
- 4 spaces for indentation
- Follow PEP 8 guidelines
- Add type hints where possible
- Write docstrings for public functions/classes
Next Steps¶
Read the Contributing guide to learn how to submit changes.