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 satcube repository to your GitHub account. 🍴
  2. Clone your fork locally:
    cd <directory_in_which_repo_should_be_created>
    git clone https://github.com/IPL-UV/satcube.git
    cd satcube
    
  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: 🌱
    • If you're using pyenv, select a Python version:
      pyenv local <x.y.z>
      
    • Install dependencies and activate the environment:
      poetry install
      poetry shell
      
    • Install pre-commit hooks:
      poetry run pre-commit install
      
  5. Make your changes: πŸ–‹οΈ Develop your feature or fix, ensuring you write clear, concise commit messages and include any necessary tests.
  6. Check your changes: βœ…
    • Run formatting checks:
      make check
      
    • Run unit tests:
      make test
      
    • Optionally, run tests across different Python versions using tox:
      tox
      
  7. Submit a pull request: πŸš€ Push your branch to GitHub and submit a pull request to the develop branch of the satcube repository. Ensure your pull request meets these guidelines:
    • Include tests.
    • Update the documentation if your pull request adds functionality.
    • Provide a detailed description of your changes.

Types of contributions πŸ“¦

  • Report bugs: πŸ›
    • Report bugs by creating an issue on the satcube 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.
Back to top