Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

Contributions from Internal Contributors

Inclusive Task Allocation

  • Each team member is assigned on a fair based assessment of each member’s capabilities by ensuring an equal distribution of workload to all members

  • Assigned tasks are mostly developing core functions, writing tests, updating documentation, and handling maintenance work, encouraging diversity in contributions and inclusion in the overall work process.

Github Project Board

  • Our Team’s project management is mainly on github project board for assigning tasks, progress tracking.

  • Each team member takes a role as Project Manager for a week and manages the board. The Project manager is tasked with reviewing the progress of tasks and support them as required.

Milestone Management

  • A weekly milestone needs to be created and tag all the relevant issues to that Milestone.

  • Each team member is responsible for completing their assigned issues in the Milestone before the deadline but not after the deadline.

Peer Review

  • Regular code reviews and team meetings are conducted to maintain consistency in work.

  • Code reviewers must ensure that the code follows all the best practices and standards.Also ensure that everything is well-documented and tested.

Contributions from External Contributors

Report Bugs

If you are reporting a bug, please include:

  • Your operating system name and version.

  • Any details about your local setup that might be helpful in troubleshooting.

  • Detailed steps to reproduce the bug.

Fix Bugs

Look through the GitHub issues for bugs. Anything tagged with “bug” and “help wanted” is open to whoever wants to implement it.

Implement Features

Look through the GitHub issues for features. Anything tagged with “enhancement” and “help wanted” is open to whoever wants to implement it.

Write Documentation

You can never have enough documentation! Please feel free to contribute to any part of the documentation, such as the official docs, docstrings, or even on the web in blog posts, articles, and such.

Submit Feedback

If you are proposing a feature:

  • Explain in detail how it would work.

  • Keep the scope as narrow as possible, to make it easier to implement.

  • Remember that this is a volunteer-driven project, and that contributions are welcome :)

Get Started!

Ready to contribute? Here’s how to set up mds_array_manipulation for local development.

  1. Download a copy of mds_array_manipulation locally.

  2. Install mds_array_manipulation using poetry:

    $ poetry install
    
  3. Use git (or similar) to create a branch for local development and make your changes:

    $ git checkout -b name-of-your-bugfix-or-feature
    
  4. When you’re done making changes, check that your changes conform to any code formatting requirements and pass any tests.

  5. Commit your changes and open a pull request.

Pull Request Guidelines

Before you submit a pull request, check that it meets these guidelines:

  1. The pull request should include additional tests if appropriate.

  2. If the pull request adds functionality, the docs should be updated.

  3. The pull request should work for all currently supported operating systems and versions of Python.

Code of Conduct

Please note that the mds_array_manipulation project is released with a Code of Conduct. By contributing to this project you agree to abide by its terms.

Attribution

This CONTRIBUTING.md file is adapted from and contains content from the equivalent file generated by cookiecutter.