Skip to content

Latest commit

 

History

History
101 lines (67 loc) · 3.19 KB

CONTRIBUTING.md

File metadata and controls

101 lines (67 loc) · 3.19 KB

Contributing

Everyone is welcome to contribute, and we value everybody’s contribution. Code is thus not the only way to help the community. Answering questions, helping others, reaching out and improving the documentation are immensely valuable contributions as well.

It also helps us if you spread the word: reference the library from blog posts on the awesome projects it made possible, shout out on Twitter every time it has helped you, or simply star the repo to say "thank you".

Check out the official ludwig docs to get oriented around the codebase, and join the community!

Open Issues

Issues are listed at: https://github.com/ludwig-ai/ludwig/issues

If you would like to work on any of them, make sure it is not already assigned to someone else.

You can self-assign it by commenting on the Issue page with one of the keywords: #take or #self-assign.

Work on your self-assigned issue and eventually create a Pull Request.

Creating Pull Requests

  1. Fork the repository by clicking on the 'Fork' button on the repository's page. This creates a copy of the code under your GitHub user account.

  2. Clone your fork to your local disk, and add the base repository as a remote:

    git clone [email protected]:<your Github handle>/ludwig.git
    cd ludwig
    git remote add upstream https://github.com/ludwig-ai/ludwig.git
  3. Create a new branch to hold your development changes:

    git checkout -b a-descriptive-name-for-my-changes

    Do not* work on the master branch.

  4. Set up a development environment by running the following command in a virtual environment:

    pip install -e ".[dev]"
    pip install pre-commit
    pre-commit install
  5. Develop features on your branch.

  6. Format your code by running pre-commits so that your newly added files look nice:

    pre-commit run

    Pre-commits also run automatically when committing.

  7. Once you're happy with your changes, make a commit to record your changes locally:

    git add .
    git commit

    It is a good idea to sync your copy of the code with the original repository regularly. This way you can quickly account for changes:

    git fetch upstream
    git rebase upstream/master

    Push the changes to your account using:

    git push -u origin a-descriptive-name-for-my-changes
  8. Once you are satisfied, go the webpage of your fork on GitHub. Click on "Pull request" to send your to the project maintainers for review.

Other tips

  • Use google/yapf to format Python code.
  • Add unit tests for any new code you write.
  • Make sure tests pass. See the Developer Guide for more details.

Attribution

This contributing guideline is adapted from huggingface, available at https://github.com/huggingface/datasets/blob/master/CONTRIBUTING.md.

Code of Conduct

Please be mindful of and adhere to the Linux Foundation's Code of Conduct when contributing to Ludwig.