Documentation site: https://beykyle.github.io/jitr/
just-in-time R-Matrix (jitr)
A nuclear reaction toolkit, production ready for calibration and uncertainty-quantification, featuring:
- fast calculable $\mathcal{R}$-matrix solver for parametric reaction models
- built in uncertainty-quantified optical potentials
- built in nuclear data
- plenty of examples demonstrating the propagation of uncertainties into reaction observables and model calibration
Give your nuclear reaction UQ workflow a caffeine-kick with jitr!
Documentation
The documentation site is available at https://beykyle.github.io/jitr/.
To build the docs locally:
uv run --group docs sphinx-build -W -b html docs docs/_build/html
Installation and Development
For users
Install the latest released version of jitr from PyPI:
pip install jitr
Then use it in Python:
import jitr
To check the installed version:
python -c "import jitr; print(jitr.__version__)"
If you use uv, you can add jitr to a uv-managed project with:
uv add jitr
Or install it into the current environment with:
uv pip install jitr
For developers
This repository uses uv for Python packaging, dependency management, virtual environments, and locking.
Clone the repository
git clone https://github.com/beykyle/jitr.git
cd jitr
Create and sync the development environment
Install all development dependencies:
uv sync --all-groups
This creates a local .venv/ environment and installs the package in editable mode along with the development and example dependencies defined in pyproject.toml.
You can run commands through uv:
uv run python
uv run pytest
Or activate the environment manually:
source .venv/bin/activate
Testing
Run the unit tests
uv run pytest
Run the notebook tests
The example notebooks are tested with pytest and nbval:
uv run --group examples pytest --nbval-lax examples/notebooks/
Tutorials
Tutorials live in examples/notebooks/. Currently, the best way to run the notebooks is by cloning the repo and running them with the uv-managed environment as the kernel. This way, you can be sure that all the dependencies are correct and that the notebooks will run as expected.
There are some additional requirements to run the examples. Once you've cloned the repo, from the main directory, run:
uv sync --group examples
Then, register the project environment as a Jupyter kernel:
uv run python -m ipykernel install --user --name jitr --display-name "Python (jitr)"
and start a Jupyter-lab server:
uv run --with jupyter jupyter lab
In JupyterLab, select the Python (jitr) kernel. Notebooks using this kernel will run against the uv-managed .venv/ environment.
Then, you can run the notebooks.
BAND
This package is part of the BAND Framework
citations
Please consider citing both this package and the BAND Framework if you use this code in your research. The BibTeX entries are:
@software{Beyer_JITR_2024,
author = {Beyer, Kyle},
license = {BSD-3-Clause},
month = oct,
title = {{JITR}},
url = {https://github.com/beykyle/jitr},
version = {1.3.0},
year = {2024}
}
@techreport{bandframework,
title = {{BANDFramework: An} Open-Source Framework for {Bayesian} Analysis of Nuclear Dynamics},
author = {Kyle Beyer and Landon Buskirk and Manuel Catacora Rios and Moses Y-H. Chan and Tyler H. Chang and Troy Dasher
and Richard James DeBoer and Christian Drischler and Richard J. Furnstahl and Pablo Giuliani and
Kyle Godbey and Kevin Ingles and Sunil Jaiswal and An Le and Dananjaya Liyanage and Filomena M. Nunes
and Daniel Odell and David O'Gara and Jared O'Neal and Daniel R. Phillips and Matthew Plumlee
and Matthew T. Pratola and Scott Pratt and Oleh Savchuk and Alexandra C. Semposki and \"Ozge S\"urer and
Stefan M. Wild and John C. Yannotty},
institution = {},
number = {Version 0.5.0},
year = {2025},
url = {https://github.com/bandframework/bandframework}
}
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 jitr-3.0.tar.gz.
File metadata
- Download URL: jitr-3.0.tar.gz
- Upload date:
- Size: 39.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bed9bdaf7bd77f0acea40374b9045168ba049000252e52fbf3decc4da438ab3b
|
|
| MD5 |
b961250d3a3c7a6e435f3e05e193d59f
|
|
| BLAKE2b-256 |
4ac5029c1af5d3724806e46136743f5027948858114fbeaf8beb940e5bd6b6a6
|
File details
Details for the file jitr-3.0-py3-none-any.whl.
File metadata
- Download URL: jitr-3.0-py3-none-any.whl
- Upload date:
- Size: 29.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86705ea71174377b60db95088fe26f62996b5df405dc66a065391772ba5617e5
|
|
| MD5 |
63d6c9f2cae127859cb741f8fbdf8aa5
|
|
| BLAKE2b-256 |
9db237bc97482e0070fb84e5e2d9487b11a4965b40b7adac192951e6cc7bae7c
|