Skip to content

Latest commit

 

History

History
92 lines (83 loc) · 3.77 KB

contributing.md

File metadata and controls

92 lines (83 loc) · 3.77 KB

Modin dev onboarding

  1. Set up git

  2. install anaconda. Once installed, you should reopen your terminal to find "(base)" next to your prompt:

  3. Generate an SSH key for GitHub

  4. Fork the modin repo on GitHub

  5. Clone the forked repo in a local directory of your choice:

    git clone ${PATH_TO_REPO}
    

    where the path can be found here:

  6. Inside the cloned "modin" directory, add a remote branch called "upstream":

    git remote add upstream git@github.com:modin-project/modin.git
    

    where the upstream link comes from here:

  7. Fetch the upstream branch:

    git fetch upstream
    
  8. Set the default remote branch for your local master branch.

     git branch --set-upstream-to=upstream/master master
    
  9. Install modin from local source code, and install all its dependencies:

     pip install -e ".[all]"
    
  10. Install ipython:

    pip install ipython
    
  11. If you ever want to install modin at a release version (not the editable version from your machine):

    pip install modin
    
  12. If you want a specific version:

    pip install modin==0.11
    
  13. To upgrade modin to the newest available version:

    pip install -U modin
    
  14. Now go back to local modin.

    pip install -e .
    
  15. Try out modin in ipython:

    ipython
    import modin
    modin.__version__
    

    You should see the Modin version, which consists of the version, the last commit number, and the last commit hash.

  16. List Modin versions:

    git tag
    
  17. Get a summary of a particular release:

    git tag -l --format='%(contents)' 0.11.0
    
  18. Check out the developer requirements in requirements-dev.txt. Install them with:

    pip install -r requirements-dev.txt
    
  19. Try a unit test:

    pytest modin/pandas/test/test_concat.py
    
  20. Add a GPG key to your Modin account. Your commits need to be signed with a GPG key. For mac, you can use Mac GPG.

  21. (Optional) We recommend a few workflow settings:

    1. If you use Visual Studio Code, auto-format with black every time you save changes:
      1. Install Microsoft's Python extension
      2. Open your VSCode settings, in Code -> Preferences -> Settings.
      3. Search for "python formatting provider" and select "black" from the dropdown menu.
      4. Again in settings, search for "format on save" and enable the "Editor: Format on Save" option.
    2. Add a pre-commit hook:
      1. In your modin repository, copy this pre-commit file to .git/hooks/pre-commit
      2. Every time you try to commit, git will run flake8 and abort the commit if it fails. This lets you make sure your commits passes flake8 before you push to GitHub.
      3. To bypass the pre-commit hook (e.g. if you don't want to create a pull request, or you already know your code will pass the tests), commit with the flag --no-verify.
      4. We also recommend installing flake8-no-implicit-concat via pip install flake8-no-implicit-concat to avoid Python implicit string concatenation errors.