Contributing¶
Contributions to jonq are welcome! Here’s how you can help.
Setting Up Development Environment¶
Fork the repository on GitHub
Clone your fork locally:
git clone https://github.com/duriantaco/jonq.git cd jonq
Create a virtual environment and install development dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e ".[dev]"
Running Tests¶
jonq uses pytest for testing. To run tests:
pytest
Manual Testing¶
You can also use the shell scripts in the jonq/json_test_files
directory to run manual tests:
bash jonq/json_test_files/jonq_manual_simple_test.sh
bash jonq/json_test_files/jonq_manual_nested_test.sh
Contributing Code¶
Create a new branch for your feature or bugfix:
git checkout -b feature-name
Make your changes and add tests for new features
Run the test suite to make sure everything passes
Commit your changes:
git commit -m "Description of your changes"
Push your branch to GitHub:
git push origin feature-name
Create a Pull Request from your fork
Coding Style¶
Please follow PEP 8 coding conventions and include docstrings for new functions and classes.
Adding Documentation¶
If you’re adding new features, please update the documentation as well. jonq uses Sphinx for documentation:
Update or add docstrings to your code
Update RST files in the
docs
directory if neededBuild the documentation to check your changes:
cd docs make html
The documentation will be built in
docs/_build/html
.
Reporting Issues¶
If you find a bug or have a suggestion for improvement, please create an issue on the GitHub repository.