Contributing
We welcome contributions to PyGeoN! This guide will help you get started.
Getting Started
Fork the repository on GitHub
Clone your fork locally
Create a new branch for your feature or bugfix
Make your changes
Run tests to ensure everything works
Submit a pull request
Development Setup
To set up a development environment:
git clone https://github.com/your-username/pygeon.git
cd pygeon
pip install -e .
Code Style
PyGeoN follows standard Python coding conventions:
PEP 8 style guide
Type hints where appropriate
Comprehensive docstrings
We use the following tools for code quality:
rufffor lintingmypyfor type checkingisortfor import sorting
Running Tests
Run the test suite with pytest:
pytest
Run static checks:
ruff check .
mypy src/pygeon
isort --check src/pygeon
Documentation
When adding new features, please include:
Docstrings for all public functions and classes
Updates to relevant documentation pages
Examples or tutorials if appropriate
Submitting Issues
If you encounter a bug or have a feature request, please create an issue on GitHub.
Include:
A clear description of the issue or feature
Steps to reproduce (for bugs)
Expected vs. actual behavior
Python version and relevant package versions
Pull Request Guidelines
Keep pull requests focused on a single feature or bugfix
Include tests for new functionality
Update documentation as needed
Ensure all tests pass
Follow the existing code style
Code of Conduct
Please be respectful and constructive in all interactions with the PyGeoN community.