Contributing to PMMoTo

Thank you for your interest in contributing to PMMoTo! Community contributions are welcome and encouraged. This guide describes the recommended workflow for contributing code, documentation, or tests.

Getting Started

  1. Fork the repository

    Fork the PMMoTo repository on GitHub to your own account.

  2. Clone your fork

    git clone https://github.com/your-username/pmmoto.git
    cd pmmoto
    
  3. Set up a development environment

    Follow the instructions in Installation for Development. Details on supported Python versions and platform-specific setup are documented in Managing Python Versions.

  4. Create a feature branch

    Always create a new branch for your work:

    git checkout -b feature/your-feature-name
    

Making Changes

  • Keep changes focused and logically scoped.

  • Follow existing coding style and project conventions.

  • Add or update tests when modifying functionality.

  • Update documentation where relevant.

If you are unsure about design choices or scope, opening an issue for discussion before implementing large changes is encouraged.

Testing and Quality Checks

Before submitting a contribution, run the full test and quality-check suite:

tox

This runs the same checks enforced in continuous integration, including tests, linting, and coverage.

Submitting Your Contribution

  1. Commit your changes

    Write clear, descriptive commit messages:

    git commit -m "Add feature: concise description"
    
  2. Push to your fork

    git push origin feature/your-feature-name
    
  3. Open a pull request

    Create a pull request against the main PMMoTo repository and describe:
    • what the change does

    • why it is needed

    • any relevant issues it addresses

Maintainers may request revisions before merging.

Code of Conduct

All contributors are expected to follow the project’s Code of Conduct in all interactions.

Thank you for helping improve PMMoTo!