Contributing
Thank you for considering contributing to geosupport-suggest! This package is open source, and we welcome contributions of all kinds: bug reports, feature requests, documentation improvements, bug fixes, or new features.
Setting Up Development Environment
Fork the repository on GitHub.
Clone your fork locally:
git clone https://github.com/your-username/geosupport-suggest.git cd geosupport-suggest
Create a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e . pip install -r tests/requirements.txt
Running Tests
We use the unittest framework for testing. To run tests:
python -m unittest discover
To run a specific test:
python -m unittest tests.test_suggest_methods
Code Style
We follow PEP 8 style guidelines. Please make sure your code adheres to these standards.
We use the Black code formatter to maintain consistent code style. Before submitting a pull request, please format your code with Black:
# Install black if you haven't already
pip install black
# Format your code
black suggest tests
For type annotations, we use the typing module. Please include type hints for function arguments and return values.
Pull Request Process
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
Make your changes and add tests if applicable.
Run the tests to ensure they pass.
Update the documentation if needed.
Commit your changes:
git commit -m "Description of your changes"
Push to your fork:
git push origin feature/your-feature-name
Open a pull request on GitHub.
Reporting Bugs
When reporting bugs, please include:
A clear and descriptive title
Steps to reproduce the bug
Expected behavior
Actual behavior
Your operating system and Python version
Any relevant logs or error messages
Feature Requests
When requesting new features, please:
Clearly describe the feature
Explain why it would be valuable
Provide examples of how it would be used
Indicate if you’re willing to help implement it
Documentation
Documentation improvements are always welcome. You can:
Fix typos or clarify existing documentation
Add more examples
Improve API documentation
Add tutorials or how-to guides
License
By contributing to geosupport-suggest, you agree that your contributions will be licensed under the project’s MIT License.