Contributions are welcome and highly appreciated!
We welcome pull requests. When contributing new features or bug fixes, please:
- Conform to the Google Python Style Guide (JaQMC uses Google-style docstrings).
- Add or update tests when possible (
pytest). - Remove all (accidentally included) sensitive data or information (API keys, credentials, internal URLs, datasets, etc.).
- Use a sensible PR title and commit messages that explain why the change is needed.
git clone https://github.com/bytedance/jaqmc.git
cd jaqmc
uv sync --frozen --python 3.12 --extra cuda12 # CPU-only: omit --extra cuda12
source .venv/bin/activate
uv tool install prek
prek installVerify the install works:
jaqmc hydrogen-atom trainruff check . && ruff format . # Lint and format
mypy . # Type checking
pytest -n 8 # Run all tests
prek run --all-files # All hooks at onceFor code style, docstrings, testing conventions, and documentation setup, see the Contributing section in the rendered docs (docs/extending/contributing.md). To build the docs locally:
uv sync --frozen --group docs
sphinx-autobuild docs docs/_build --watch srcThen visit http://localhost:8000.