Installation¶
Requirements¶
- Python ≥ 3.9
- NumPy, SciPy, and (for the Hankel-transform
xi(r)providers andCosmology) Astropy — installed automatically as dependencies.
Use whatever Python environment you prefer (venv, conda, …); the commands below assume it is active.
Editable install¶
From the repository root:
The skew-t moment-matching lookup table ships pre-built with the repository
(liulu/data/skewt_param_table.npz); if it is missing or its grid/version
changes, it is rebuilt automatically on first use (a few minutes, once).
Running the tests¶
The test suite is self-contained — no external data is needed:
# full suite
python -m pytest liulu/tests/ -v
# a single file
python -m pytest liulu/tests/test_los_projection.py -v
Tests live under liulu/tests/ (configured in pyproject.toml). Projection
correctness is checked at \(\mu_r \in \{0, 1, 1/\sqrt2\}\) against hand-computed
expectations; the integrator is checked against the linear/Kaiser limit.
Building this documentation¶
pip install -r docs/requirements.txt
mkdocs serve # live preview at http://127.0.0.1:8000
mkdocs build # static site into ./site
The API reference is generated from the in-code docstrings by
mkdocstrings, so it tracks the source
automatically — keep docstrings current and the reference follows.
The scientific report¶
A companion LaTeX report (docs/streaming_model_report.tex) documents the
halo-catalogue validation and the velocity-PDF study in full. Build it with:
The figures it references live in docs/figs/ (tracked); the compiled PDF is
git-ignored. A summary with figures is on the Validation page.