Contributing#

Oumi welcomes any contributions that help make it better for the community: this is a community-first effort. If we all work together, we can ensure a better, more inclusive, safer, and a totally open future for frontier AI. Whether you are an individual contributor or an organization, we invite you to be part of this bold mission to bring frontier AI back in the open. The future of AI is open source, and we can build that together.

Possible contributions include:

  • Bug fixes, incremental improvements, and tests, no matter how small

  • New features and infrastructure improvements

  • Tuning datasets, new ones or existing ones, adapted to the standardized Oumi format

  • Benchmarks, new or existing, integrated to Oumi’s evaluation library

  • Documentation and code readability improvements

  • Code review of pull requests

  • Tutorials, blog posts, talks, and social media posts that promote Oumi

  • Community participation in GitHub issues, Discord, and X, to share knowledge and help each other.

If you want to contribute but you are short of ideas or have any questions, reach out (contact@oumi.ai) and we can help.

πŸ“’ Prerequisites#

To set up the development environment on your local machine, please follow the steps outlined in the development setup documentation.

πŸ“€ Submitting a Contribution#

To submit a contribution:

  1. Fork a copy of the Oumi repository into your own account. See Forking a repository for detailed steps.

  2. Clone your fork locally, and add the Oumi repo as a remote repository:

    git clone git@github.com:<github_id>/oumi.git
    cd oumi
    git remote add upstream https://github.com/oumi-ai/oumi.git
    
  3. Create a branch, and make your proposed changes.

    git checkout -b my-username/my-awesome-new-feature
    
  4. When you are ready, submit a pull request into the Oumi repository!

πŸ“₯ Pull request (PR) guidelines#

Basic guidelines that will make your PR easier to review:

  • Title and Description

    • Please include a concise title and clear PR description.

    • The title should allow someone to understand what the PR changes or does at a glance.

    • The description should allow someone to understand the contents of the PR without looking at the code.

  • Testing

    • Please include tests with your PR!

    • If fixing a bug, add a test that would’ve caught the bug.

    • If adding a new feature, include unit tests for the new functionality.

  • Code Formatting and Type Checking

    • Use pre-commit to handle formatting and type checking:

    • Ensure you have it installed as described in the Prerequisites section.

    • Run pre-commit hooks before submitting your PR.

πŸƒπŸ½β€β™€οΈ Running Tests#

To test your changes locally, run:

cd ./tests/
pytest -s -vv

To run pre-commit hooks manually, run pre-commit run --all-files

🎩 Code Style & Typing#

See the Oumi Style Guide for guidelines on how to structure, and format your code.

πŸ”— Becoming a Code Reviewer or Maintainer#

Send an email to contact@oumi.ai if you would like to become a code reviewer, maintainer or contribute in any other way!

πŸ… Recognition#

Join the Oumi community to be part of defining a better future for open frontier AI. We will recognize top contributors periodically and feature all of them in Oumi’s wall of fame.

Also, after you complete your first pull request (no matter how small), you can claim your holographic Oumi sticker! Send an email with title β€œOumi Sticker” to contact@oumi.ai including your name and full mailing address and we will mail it to you anywhere in the world.