Ways to Contribute#

Thank you for your interest in contributing to pyAML! This document outlines how you can help, whether you’re fixing bugs, adding features, improving documentation, or participating in community discussions.

1. Reporting Issues#

  • Bugs & Feature Requests: Open an issue on GitHub. Use clear titles and provide as much detail as possible (steps to reproduce, expected/actual behaviour, screenshots, etc.).

  • Use an issue template if it is applicable to you. Don’t forget to assign an issue to a project and set the status of the issue to TODO.

  • Before Submitting: Check existing issues to avoid duplicates.

2. Working on Tasks#

  • Kanban Board: We use GitHub Projects to manage tasks. Each column represents a stage in the workflow (e.g., “To Do”, “In Progress”, “Review”, “Done”).

  • Claiming a Task: Comment and assign yourself on the issue or card to let others know you’re working on it. Move the card to “In Progress”.

  • Part-time Contributors: It’s okay to work at your own pace. Just keep the community updated on your progress.

3. Submitting Changes#

  • Fork & Branch: Fork the repo and create a branch for your changes.

  • Commits: Write clear, atomic commit messages. Reference the issue number if applicable.

  • Formatting: Ensure your code adheres to the project’s style guidelines. Run tests locally before submitting. It is recommended to use pre-commit hooks for this purpose. Sometimes pre-commit hook will block you committing due to formatting issues. They may be fixed automatically or require manual intervention. If they are fixed automatically just re-stage the files and commit again. If manual intervention is required, please follow the instructions provided by the pre-commit tool.

  • Pull Requests (PRs):

    • Open a PR against the main branch.

    • Include a description of your changes and reference the relevant issue.

    • Ensure your code follows the project’s style and passes all tests.

    • A maintainer will review your PR and may suggest changes.

4. Documentation#

5. Participate in the Community#

  • Website: Our project website is at python-accelerator-middle-layer.github.io. There you can find information about upcoming meetings and how to join them.

    Community Meetings

    • Schedule: Once every few months.

    • Focus: Discuss project direction, upcoming features, and community questions.

    Maintainer Meetings

    • Schedule: Bi-weekly, alternating with community meetings.

    • Focus: Technical discussions, code reviews.

    Getting Help

    • Questions? Open a discussion on GitHub or ask in our Matrix space.

    • Need Guidance? Reach out to a maintainer or attend a maintainer or community meeting.

Recognition#

All contributions are valued and recognised. Significant contributions may be highlighted in release notes or on the project website.