Skip to content

Latest commit

 

History

History
92 lines (66 loc) · 2.75 KB

CONTRIBUTING.md

File metadata and controls

92 lines (66 loc) · 2.75 KB

How to contribute

Contributions are welcome! Not familiar with the codebase yet? No problem! There are many ways to contribute to open source projects: reporting bugs, helping with the documentation, spreading the word and of course, adding new features and patches.

Reporting issues

  • Describe what you expected to happen.
  • If possible, include a minimal, complete, and verifiable example to help us identify the issue. This also helps to check that the issue is not with your own code.
  • Describe what actually happened. Include the full traceback if there was an exception.
  • List your Python, Hopsworks and Maggy versions. If possible, check if this issue is already fixed in the repository.

Contributing Code

Code contributions, in the form of patches or features are welcome. In order to start developing, please follow the instructions below, to enable pre-commit and ensure style and codechecks.

Python Setup

  • Fork Maggy to your GitHub account by clicking the Fork button.

  • Clone your fork locally:

    git clone https://github.com/[username]/maggy.git
    cd maggy
  • Add the upstream repository as a remote to update later::

    git remote add upstream https://github.com/logicalclocks/maggy.git
    git fetch upstream
  • Create a new Python environment with your favourite environment manager, e.g. virtualenv or conda:

    python3 -m venv env
    . env/bin/activate
    # or "env\Scripts\activate" on Windows

    or with conda:

    conda create --name maggy python=3.8
    conda activate maggy

    verify your python version - we are using Python 3.8:

    python --version
  • Install Maggy in editable mode with development dependencies::

    pip install -e ".[dev]"
  • Install pre-commit_ and then activate its hooks. pre-commit is a framework for managing and maintaining multi-language pre-commit hooks. Maggy uses pre-commit to ensure code-style and code formatting through black and flake8:

    pip install --user pre-commit
    pre-commit install

    Afterwards, pre-commit will run whenever you commit.

  • To run formatting and code-style separately, you can configure your IDE, such as VSCode, to use black and flake8, or run them via the command line:

    flake8 maggy
    black maggy

Start coding

  • Create a branch to identify the issue or feature you would like to work on.
  • Using your favorite editor, make your changes, committing as you go.
  • Follow PEP8.
  • Push your commits to GitHub and create a pull request.
  • Celebrate 🎉