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.
- 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.
- 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.
- 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-commithooks 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
mainbranch. - 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.
- Open a PR against the
- Create a branch for a release
- Provide a list of changes and release description in the merge request. Justify a version bump is necessary.
- Tag the corresponding version.
- Approve and merge the PR.
- CI/CD will take care of PyPi release. (Make sure the version in CI/CD deployment pipeline matches the one you just tagged.)
- Improving Docs: Fix typos, clarify instructions, or add missing documentation. Submit a PR as you would for code changes.
- Website: Our project website is at python-accelerator-middle-layer.github.io.
- Schedule: Once every few months.
- Agenda: Discuss project direction, upcoming features, and community questions.
- How to Join: Write an email to the steering committee of PyAML pyaml-steering-committee-contact@esrf@fr. They will add you to the email list.
- Mattermost link: Mattermost
- Schedule: Bi-weekly, alternating with community meetings.
- Focus: Technical discussions, code reviews.
- How to Join: Write an email to the steering committee of PyAML pyaml-steering-committee-contact@esrf@fr. They will add you to the email list.
- Questions? Open a discussion on GitHub or ask in our Mattermost channel.
- Need Guidance? Reach out to a maintainer or attend a maintainer or community meeting.
- All contributions are valued and recognised. Significant contributions may be highlighted in release notes or on the project website.