Thanks for your interest in helping with jonq! Here's how you can contribute:
- Fork the repo
- Clone your fork:
git clone https://github.com/duriantaco/jonq.git - Install for development:
pip install -e ".[dev]" - Install hooks:
pre-commit install --install-hooks - Install docs dependencies when editing docs:
pip install -r docs/requirements.txt
- Check if the bug is already reported
- Include clear steps to reproduce
- Mention your environment (Python version, OS)
- Create a branch:
git switch -c fix-something - Make your changes
- Run tests:
pytest - Build docs when documentation changed:
python -m sphinx -b html docs/source /tmp/jonq-docs - Commit with a clear message
- Push to your fork
- Open a pull request
- Run
pre-commit run --all-filesbefore pushing - Follow PEP 8 basics
- Include docstrings for functions and classes
Run pytest before submitting your changes.
Keep README.md, USAGE.md, SYNTAX.md, and the Sphinx docs in docs/source/
in sync when changing CLI behavior, query syntax, output formats, or the Python
API.
Maintainers publish from GitHub Releases:
- Update
pyproject.toml,jonq/constants.py, andCHANGELOG.md - Open and merge the release prep PR
- Create a GitHub Release for the version tag
- The release workflow builds the package and publishes it to PyPI
PyPI publishing uses trusted publishing, so the PyPI project must allow this
repository and the pypi GitHub environment.
Open an issue with your question!
Thanks for contributing!