Skip to content

Contributing 🀝

We welcome contributions from the community! Every contribution, no matter how small, is appreciated and credited. Here’s how you can get involved:

How to contribute πŸ› οΈ

  1. Fork the repository: Start by forking the CubeXpress repository to your GitHub account. 🍴
  2. Clone your fork locally:
    cd <directory_in_which_repo_should_be_created>
    git clone https://github.com/andesdatacube/cubexpress.git
    cd cubexpress
    
  3. Create a branch: Create a new branch for your feature or bug fix:
    git checkout -b name-of-your-bugfix-or-feature
    
  4. Set up the environment: 🌱
  5. If you're using pyenv, select a Python version:
    pyenv local <x.y.z>
    
  6. Install dependencies and activate the environment:
    poetry install
    poetry shell
    
  7. Install pre-commit hooks:
    poetry run pre-commit install
    
  8. Make your changes: πŸ–‹οΈ Develop your feature or fix, ensuring you write clear, concise commit messages and include any necessary tests.
  9. Check your changes: βœ…
  10. Run formatting checks:
    make check
    
  11. Run unit tests:
    make test
    
  12. Optionally, run tests across different Python versions using tox:
    tox
    
  13. Submit a pull request: πŸš€ Push your branch to GitHub and submit a pull request to the develop branch of the CubeXpress repository. Ensure your pull request meets these guidelines:
  14. Include tests.
  15. Update the documentation if your pull request adds functionality.
  16. Provide a detailed description of your changes.

Types of contributions πŸ“¦

  • Report bugs: πŸ›
  • Report bugs by creating an issue on the CubeXpress GitHub repository. Please include your operating system, setup details, and steps to reproduce the bug.
  • Fix bugs: πŸ› οΈ Look for issues tagged with "bug" and "help wanted" in the repository to start fixing.
  • Implement features: ✨ Contribute by implementing features tagged with "enhancement" and "help wanted."
  • Write documentation: πŸ“š Contribute to the documentation in the official docs, docstrings, or through blog posts and articles.
  • Submit feedback: πŸ’¬ Propose new features or give feedback by filing an issue on GitHub.
  • Use the CubeXpress GitHub issues page for feedback.