Skip to content

Latest commit

 

History

History
59 lines (47 loc) · 3.93 KB

File metadata and controls

59 lines (47 loc) · 3.93 KB

Contributing to [Python Accelerator Middle Layer (PyAML)]

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.

Ways to Contribute

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.

Releasing a new version on PyPi

  1. Create a branch for a release
  2. Provide a list of changes and release description in the merge request. Justify a version bump is necessary.
  3. Tag the corresponding version.
  4. Approve and merge the PR.
  5. CI/CD will take care of PyPi release. (Make sure the version in CI/CD deployment pipeline matches the one you just tagged.)

4. Documentation

Community & Meetingss

Community Meetings

  • 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

Developer Meetings

  • 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.

Getting Help

  • 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.

Recognition

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