Skip to content

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

  1. Clone the repository and make sure you have the latest version
    git checkout develop
    git pull origin develop
    
  2. Create your feature branch from develop
    git checkout -b feature_amazing_feature develop
    
  3. Make your changes and format your code with black . (please refer to the Code style section)
  4. Run tests with pytest to ensure everything works
  5. Commit and push to your branch
  6. Open a Pull Request (PR) to the develop branch

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.md file β€” 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! πŸ’™