Contributing to PyTECGg¶
First off, thanks for taking the time to contribute! π
Open source projects like this one thrive on community input.
How to contribute¶
Whether you want to fix a bug, propose a new feature, improve the documentation, or just ask a question β you're welcome here!
Here are common ways to get involved:
- Report bugs
- Suggest enhancements
- Submit pull requests
- Improve documentation
- Review pull requests
Getting started¶
- Clone the repository and make sure you have the latest version
git checkout develop git pull origin develop - Create your feature branch from
developgit checkout -b feature_amazing_feature develop - Make your changes and format your code with
black .(please refer to the Code style section) - Run tests with
pytestto ensure everything works - Commit and push to your branch
- Open a Pull Request (PR) to the
developbranch
Please ensure that each commit is atomic (one feature/fix per commit) and includes a clear message. For bigger changes, consider writing a descriptive body.
Code style¶
This project uses Black as the code formatter: please run black . before pushing your code.
Some general conventions:
-
Write readable, modular code.
-
Add comments (if something isnβt immediately obvious) explaining the why, not the how.
-
Use meaningful variable names.
-
Prefer clarity over cleverness.
Testing¶
If your changes affect functionality, please include appropriate tests or describe how the changes were manually tested. This project uses pytest.
Before submitting a PR, please ensure all tests pass by running pytest
Release Process¶
For contributors submitting PRs, please ensure:
-
You've updated the
README.mdfile β if your changes affect usage or documentation -
All tests pass
Once your PR is merged to develop, maintainers will:
-
Handle version tagging and management
-
Automatically build and publish releases to PyPI
-
Ensure cross-platform compatibility (Windows, Linux, macOS)
Bug reports¶
If you find a bug, open an issue with the bug tag and:
-
A clear title
-
A short description of the bug
-
Steps to reproduce (if possible)
-
Expected vs. actual behavior
-
Environment (Python version, OS, etc.)
Feature suggestions¶
Want to propose something new? Great! Open an issue with the enhancement tag and describe:
-
What the feature does
-
Why it would be useful
-
Any technical considerations or ideas for implementation
Community¶
You can reach out by opening an issue for general discussion or suggestions.
Letβs keep things respectful, constructive, and collaborative.
Thanks again! π