Contributing

We welcome contributions from the community! This page provides guidelines on how to contribute to mohituQ.

Code of Conduct

All contributors are expected to adhere to our Code of Conduct. Please read it before participating.

Ways to Contribute

There are many ways to contribute to mohituQ:

  1. Code Contributions: Implement new features or fix bugs

  2. Documentation: Improve or extend the documentation

  3. Testing: Add tests or identify edge cases

  4. Bug Reports: Submit detailed bug reports

  5. Feature Requests: Suggest new features or improvements

  6. Use Cases: Share how you’re using mohituQ for ocean cleanup optimization

Development Workflow

  1. Fork the Repository

    Start by forking the repository on GitHub.

  2. Clone Your Fork

    git clone https://github.com/your-username/mohituQ.git
    cd mohituQ
    git remote add upstream https://github.com/ecothing/mohituQ.git
    
  3. Create a Branch

    git checkout -b feature-or-bugfix-name
    
  4. Make Your Changes

    Implement your changes, following the coding style of the project.

  5. Write Tests

    Add tests for your changes to ensure they work as expected.

  6. Run Tests

    pytest
    
  7. Submit a Pull Request

    Push your changes to your fork and submit a pull request to the main repository.

Coding Guidelines

  • Follow PEP 8 style guidelines for Python code

  • Write docstrings for all functions, classes, and modules

  • Add type hints to function signatures

  • Keep functions focused on a single responsibility

  • Write unit tests for new functionality

Documentation

We use Sphinx for documentation. To build the docs locally:

cd docs
make html

You can then view the documentation in your browser by opening docs/build/html/index.html.

Getting Help

If you need help with your contribution, you can:

  • Open an issue on GitHub

  • Contact the maintainers

  • Join community discussions

Thank you for your interest in contributing to mohituQ!