Install
The distribution is lunartrace, version 0.2.0, on PyPI. The older releases of the
name (0.1.0, 0.1.1) are a different, incompatible codebase, and 0.2.0 is a breaking
release (see the changelog). Pin lunartrace<0.2 to stay on the old
one.
From PyPI
Section titled “From PyPI”This installs the one-call Study and the lunartrace command. The core install depends only
on pydantic, and the archived Vikram snapshot is inside the package, so nothing else is needed
to replay it.
python -m venv lt-trylt-try\Scripts\pip install lunartracelt-try\Scripts\lunartrace study --site vikram --event vikram:minute-envelope --products LRO/LROC/CDRNAC4 --archive vikram-2026-10-14python -m venv lt-trylt-try/bin/pip install lunartracelt-try/bin/lunartrace study --site vikram --event vikram:minute-envelope --products LRO/LROC/CDRNAC4 --archive vikram-2026-10-14These are the conventional POSIX paths; they are not exercised here.
The route is exercised on Windows with CPython 3.13.5. The last command prints the digest
sha256:3d75a662... and 108 products · 2,340 pairs · frontiers 13/56/133/342. To add an
extra from the table below, name it in the install, for example
pip install "lunartrace[science]".
From a repository checkout
Section titled “From a repository checkout”The commands in this section run from the repository root.
Prerequisites
Section titled “Prerequisites”- Python 3.11 or later for package installation. Scientific reproduction is qualified locally with CPython 3.13.5 on Windows; the checkout pins that version.
- uv and Task for the locked command plane, and Bun for the browser and documentation dependencies.
- For real Site01 execution: authorised source blobs in a local content-addressed store.
Pass
--store, or setLUNARTRACE_SOURCE_STOREwhen--storeis not given; there is no built-in default. Provenance explains the required witness and custody.
Choose a route
Section titled “Choose a route”uv sync --frozenuv run --frozen python --versionuv run --frozen lunartrace --helptask doctortask bootstrap--frozen consumes uv.lock without updating it. The default groups are dev and
notebook, so the scientific stack, the development checks and marimo are installed.
Bootstrap also installs the root and docs-site Bun dependencies from frozen locks.
For a smaller scientific environment, omit all default groups explicitly:
uv sync --frozen --no-default-groups --extra scienceuv run --frozen --no-default-groups --extra science python -I -m lunartrace.science.study --helpKeep that selection on later uv run commands; a plain project run restores the default
groups. --no-dev alone does not omit the default notebook group.
Build a wheel from the checkout and install it in place of the PyPI release:
uv build --wheel --out-dir .build/wheeluv venv .build/lt-tryuv pip install --python .build/lt-try/Scripts/python.exe .build/wheel/lunartrace-0.2.0-py3-none-any.whl.build/lt-try/Scripts/lunartrace study --site vikram --event vikram:minute-envelope --products LRO/LROC/CDRNAC4 --archive vikram-2026-10-14On POSIX the environment’s programs are under bin/ rather than Scripts/; that path is
not exercised here. The last command prints the same digest and counts as the PyPI route.
The wheel does not include the science, workbench or lab extras; add them if you need
them.
Pip resolves pyproject.toml, not uv.lock. Use a separate virtual environment. These
commands are for Windows, the exercised authoring host:
uv venv --python 3.13.5 --seed .build/docs-pip.\.build\docs-pip\Scripts\python.exe -m pip install -e ".[science]".\.build\docs-pip\Scripts\python.exe -I -m lunartrace.science.study --helpOn POSIX the interpreter is under bin/python rather than Scripts/python; that path is not
exercised here.
Choose an extra
Section titled “Choose an extra”| Extra | Adds | Use |
|---|---|---|
| none | pydantic>=2,<3 | The one-call Study (lunartrace.temporal), the lunartrace command, projection and contract models; no GDAL |
science | numpy, rasterio, shapely, pyproj, pyogrio, matplotlib | Slope quality, STUDY and raster projections |
workbench | science, starlette, uvicorn | Local Python sidecar |
lab | workbench, marimo | Editable Lab notebooks |
In either source route, select workbench or lab in place of science. The exact package
and import boundaries are in Package and extras.
Dependency groups are checkout tooling, not pip extras: dev and notebook are the
defaults; docs generates the API pages; oracle supplies the independent comparator; and
paper, terrain and spice support their own workflows. The lunartrace console script
(study, why, verify, replay, notebook) comes with the core install. The Site01 tools still run
as Python module entry points; see the CLI guide.
Next steps
Section titled “Next steps”Run the quickstart, read the one-call Study, reproduce the Site01 study, or run the workbench. Full verification uses the Taskfile command plane; Verification lists the checks and their proof ceilings. Declared Python support is not a tested platform matrix: Linux, macOS and cross-version numerical replay remain unestablished.