Skip to content

Package and extras

This checkout declares distribution lunartrace, version 0.2.0, published on PyPI. It is not the older generation (0.1.x) published there under the same name. Version alone does not identify the source: when you build from the repository, retain the commit identity. Install contains the exercised installation commands; Release status records the release standing.

There are three installable extras. Each builds on the preceding one:

Import or entry pointRequired extraPurpose
lunartrace, lunartrace.projectionnoneTyped projection models; only pydantic is required
lunartrace.temporalnoneThe one-call Study: study, load, frontiers, why, save and replay. See the one-call Study
lunartrace.sitesnoneNamed sites, query boxes and registered event bases
lunartrace.science.odenoneLunar ODE fetch and retained-source custody
lunartrace.cli, the lunartrace commandnoneStudy, why, verify, replay and notebook on files
lunartrace.science.slope_qualityscienceDIRECT evaluation and canonical results
lunartrace.science.studyscienceFrozen witness, verified CAS inputs, result and receipt
lunartrace.science.raster_projectionsciencePer-cell projection and binary sidecars
lunartrace.workbenchworkbenchLocal sidecar, including ROI evaluation and Figures
Workbench Lab notebookslabmarimo editor over Python results

The one-call Study needs no extra: the facade uses only the standard library and pydantic. lunartrace.temporal is loaded on first use, so import lunartrace stays light. The wheel carries the retained pages of the 14 October 2026 Vikram run (_data/vikram-2026-10-14, about 600 KB), so the snapshot replays offline after installation. Exporting a notebook needs no extra either; running one needs marimo (the lab extra).

science adds numpy, rasterio, shapely, pyproj, pyogrio and matplotlib. workbench adds starlette and uvicorn; lab adds marimo. Installing an extra does not distribute the source data, browser client or scientific admission. The browser client is separately built from the private checkout with Bun.

Checkout dependency groups (dev, notebook, docs, oracle, paper, terrain, spice) are not package extras. The default locked environment installs both dev and notebook. Pip does not select those groups or consume the lock.

The package installs one console script, lunartrace, for the temporal Study (command line). The CLI guide lists the module entry points for the Site01 tools and their arguments. The package ships a py.typed marker; annotations are available to type checkers that honour it. Typing is not evidence that a scientific method is admitted or that results reproduce on a different platform.

The Python API reference is generated from source docstrings, not maintained as a second API definition. Incorrect source docstrings are reported as residuals rather than silently corrected in generated pages.

The Taskfile package smoke check builds an sdist and wheel and imports modules from a clean environment. The packaging tests also install the built wheel and replay the packaged snapshot offline. It does not replace scientific replay, independent oracle comparison or a publication decision. The software licence is BSD-3-Clause and the author is Krit Promsanuwong (see OWNER_PENDING.md); an archive DOI and public release are still owner-pending (ARA-42).