Two main ways to contribute
Add a new model
Register a pretrained MLIP so it participates in all existing and future benchmarks automatically.
Add a new benchmark
Design a new benchmark task that tests a physical property or failure mode not yet covered.
Code quality standards
Linting
MLIP Arena uses ruff for linting and formatting. Before submitting a PR, run:Testing
Tests live in thetests/ directory and are run with pytest:
tests/test_external_calculators.py. New benchmark tasks should include a corresponding test file.
The test suite runs across Python 3.10, 3.11, and 3.12 in CI. Make sure your code is compatible with all three versions.
How to fork and submit a PR
Fork and clone the repository
Fork atomind-ai/mlip-arena on GitHub, then clone your fork:
Set up the development environment
Use the provided installation script for a clean environment with
uv:Make your changes
Follow the guides for adding a model or adding a benchmark. Run linting and tests locally before proceeding.
GitHub Actions CI/CD pipeline
Every push and pull request triggers the following automated pipeline:| Workflow | File | Trigger |
|---|---|---|
| Python Test | test.yaml | Push and PR to main |
| Sync to Hugging Face | sync-hf.yaml | After Python Test succeeds on main |
| Release | release.yaml | Manual / tag |
test.yaml) runs on Ubuntu across Python 3.10, 3.11, and 3.12. It installs all dependencies, logs in to Hugging Face to fetch model checkpoints, runs the full pytest suite in parallel, and performs a trial push to the Hugging Face Space to verify compatibility.
Sync to Hugging Face (sync-hf.yaml) runs only after the test workflow succeeds on main. It squashes history and force-pushes to the Hugging Face Space, making the live leaderboard reflect the latest state of the repository.
PRs that fail CI will not be merged. Check the Actions tab in your PR to diagnose failures.
Finding outstanding tasks
The GitHub project page tracks outstanding tasks, known issues, and planned features. Look there for issues labeledgood first issue or help wanted if you are looking for a place to start.
Discussing new ideas
Before investing significant time in a new benchmark or major feature, open a thread in GitHub Discussions to propose the idea and get feedback from maintainers and other contributors.License
MLIP Arena is released under the Apache-2.0 license. By contributing, you agree that your contributions will be licensed under the same terms.Individual models registered in MLIP Arena may carry their own licenses (MIT, BSD-3-Clause, GPL-3.0, etc.). Check the
license field in mlip_arena/models/registry.yaml for each model.