batterymhm / CONTRIBUTING.md
williamTLmiller's picture
Make it a full tech repo: packaging, CI, docs, examples, community files
4671c68 verified
|
Raw
History Blame Contribute Delete
1.7 kB

Contributing to BatteryMHM

Thanks for your interest in the Miller Harmonic Method! Contributions of all kinds are welcome — bug reports, new examples, benchmark reproductions, documentation, and feature ideas.

Ground rules

  • This project is released under CC BY-NC 4.0 and the method is patent pending (see LICENSE). By contributing, you agree your contribution is licensed under the same terms.
  • Keep the harmonic core (batterymhm/algebra.py, atomic.py) faithful to the published method. Changes to the fold map, the Chi matrix, or the operations should come with a clear rationale and tests.
  • No proprietary data and no trained weights in the repository.

Development setup

git clone <your-fork-url>
cd batterymhm
python -m pip install -e ".[dev]"

Before you open a pull request

ruff check .        # lint
pytest -q           # tests must pass
python demo.py      # the demo must still run and PASS
  • Add or update tests for any behavior change (tests/).
  • Keep functions small and documented; match the existing style.
  • Update CHANGELOG.md under "Unreleased".

Reporting bugs / requesting features

Open an issue using the templates in .github/ISSUE_TEMPLATE/, or start a discussion on the Hugging Face model page. Please include a minimal reproduction and your Python / NumPy / scikit-learn versions.

Reproducing benchmarks

The published Severson (cell SOH) and Matbench (formation energy) numbers are reproducible with this method plus the public datasets linked in the README. If your reproduction differs, please open an issue with your exact setup — we care a lot about honest, reproducible numbers.