A toolkit for building high-performance molecular simulations on JAX.
Project description
A toolkit for building high-performance molecular simulations on JAX
kUPS provides composable, differentiable primitives — samplers, potentials, and propagators — with hardware acceleration on CPU, GPU, and TPU.
Installation
| Standard Installation |
pip install kups
|
| GPU Support |
pip install kups[cuda]
|
| Development |
git clone https://github.com/cusp-ai-oss/kups.git
cd kups
uv sync
|
Quick Start
[!TIP] The repository includes example applications built with kUPS in the
examples/directory.
Monte Carlo Simulation (GCMC)
cd examples
kups_mcmc_rigid --config gcmc_co2_30box.yaml
Molecular Dynamics (Lennard-Jones)
cd examples
kups_md_lj --config md_lj_argon_nvt.yaml
Features
|
Simulation Methods
|
Force Fields & Potentials
|
|
Core Capabilities
|
Performance & Integration
|
Documentation
Full documentation is available at cusp-ai-oss.github.io/kups.
Building the docs locally
Always go through ./docs/scripts/build.sh. Do not run mkdocs or zensical directly — the script executes and converts docs/notebooks/*.ipynb to markdown, generates the API reference pages and a derived config (mkdocs.build.yml), and then invokes zensical.
./docs/scripts/build.sh # build into site/
./docs/scripts/build.sh --serve # live-reload server on http://127.0.0.1:8000
./docs/scripts/build.sh -f mkdocs.yml.dev --serve # alternate config
Requires uv sync to have been run; the docs dependency group is pulled in by default (default-groups = "all" in pyproject.toml).
If --serve fails with OSError: [Errno 48] Address already in use, a previous server is still holding port 8000 — find and kill it:
lsof -iTCP:8000 -sTCP:LISTEN -n -P # shows PID
kill <pid>
Citation
If you use kUPS in your research, please cite:
@software{kups2026,
author = {{Cusp AI}},
title = {kUPS},
year = {2026},
url = {https://github.com/cusp-ai-oss/kups}
}
License
Apache License 2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kups-0.1.1.tar.gz.
File metadata
- Download URL: kups-0.1.1.tar.gz
- Upload date:
- Size: 10.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f245e86f0b50e46835b81afbb252870bcb5c7001b5bf356061990ae36f6e6b0
|
|
| MD5 |
c594d4a332892501baae869ea4e3a8b3
|
|
| BLAKE2b-256 |
ce1675ce74bc2d010301cba49fc2f3dc0fdb7fe12c647465b02c86d9d4a4a625
|
File details
Details for the file kups-0.1.1-py3-none-any.whl.
File metadata
- Download URL: kups-0.1.1-py3-none-any.whl
- Upload date:
- Size: 306.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80125cda6c6e85e853e1f294a75b6e3d8c4c30b5c14bf4c10abbedbcf7fc73c5
|
|
| MD5 |
8e95a61ffaa93ee505b2e014ad686028
|
|
| BLAKE2b-256 |
63e23872ac188e56138f8fd5a27e4d1bc58fe5172aaad2957c47ea1060748fea
|