Contributing

We love your input! We want to make contributing to Python Release Master as easy and transparent as possible.

Development Setup

  1. Fork the repository

  2. Clone your fork:

    git clone https://github.com/yourusername/python-release-master.git
    cd python-release-master
    
  3. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    # or
    venv\Scripts\activate  # Windows
    
  4. Install development dependencies:

    pip install -e ".[dev]"
    

Running Tests

Run the test suite:

python -m pytest

With coverage:

python -m pytest --cov=python_release_master

Building Documentation

Build the documentation locally:

cd docs
make html

Pull Request Process

  1. Update the documentation if needed

  2. Update the tests if needed

  3. Run the test suite

  4. Create a Pull Request with a clear title and description

  5. Wait for review and address any comments

Code Style

We use:

  • Black for code formatting

  • isort for import sorting

  • flake8 for linting

  • mypy for type checking

Run all checks:

black .
isort .
flake8 .
mypy .