Pytheia100 v1.1.0 — Installation & Setup Guide
Date: 2025-09-04
Product: Pytheia100
Version: 1.1.0
This guide walks you through installing, verifying, and running Pytheia100 v1.1.0. It covers license verification, integrity checks, dependency installation, configuration, and troubleshooting.
---
1. Prerequisites
- Python: 3.9 – 3.11 (recommended: 3.11)
- OS: Windows 10/11, macOS 12+, or a modern Linux distro
- Tools: `pip`, `git` (optional), internet access for dependency install (unless you have a local wheelhouse)
- Keys: `pytheia_public_key.pem` (Ed25519 public key for license verification)
> If Windows console shows raw color codes (e.g., `\x1b[35m`), install Colorama:
powershell
pip install colorama
---
2. Download the v1.1.0 package
- Full Release (code + docs + integrity + SBOM): Pytheia100_v1.1.0_FULL_RELEASE.zip
- Add‑ons (docs + SBOM + workflow only): Pytheia100_v1.1.0_release_addons_with_requirements.zip
Unzip the full release into your working directory, e.g., `C:\Pytheia\Prod\Pytheia100_v1.1.0`.
---
3. Verify integrity (recommended)
The release includes an integrity manifest (`INTEGRITY.json`) and a validator script.
bash
From the extracted folder
python validate_integrity.py --root .
You should see `[OK]` lines for `Pytheia100_main.py`, `Pytheia100_core.py`, and `config.py`, then a final success message.
---
4. Verify license (Ed25519)
Make sure you have a properly signed `pytheia_license.json` (`{"payload":{...},"signature":""}`).
To verify the signature against your public key:
bash
python verify_ed25519.py --public-key pytheia_public_key.pem --license pytheia_license.json
Expected result: `[OK] License signature is VALID.`
---
5. Install dependencies
Windows (PowerShell)
powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install -r requirements.txt
macOS / Linux (bash/zsh)
bash
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
> Tip: For reproducibility and security, pin versions in `requirements.txt` (e.g., `numpy==1.26.4`) and regenerate the SBOM.
---
6. Configure
Edit `config.py` to point to your dataset and desired settings.
Key fields:
- `input_dat` — Path to your data file (e.g., `Ecam_astrometry_pm-02-04-2025.dat`)
- `mode` — `azel` or `hadec` (or similar supported modes)
- `selected_terms` — List of terms to fit (e.g., `["IA","IE","CA","TF","TX","AN","AW"]`)
- `output_dir` — Output folder for results (created automatically if missing)
- (Optional) `lat`, `aux1`, `aux2`, plotting options (`PLOT_*`), correlation threshold
Custom pointing model (optional):
Provide `pointing_model(coord1, coord2, terms, aux1=None, aux2=None, kwargs)` in `config.py` that returns two dictionaries:
`(stack1, stack2)` where each maps `term -> numpy array` for the first/second coordinate, respectively.
---
7. Run
From the project root:
Windows (PowerShell)
powershell
.\.venv\Scripts\Activate.ps1
python .\Pytheia100_main.py
macOS / Linux
bash
source .venv/bin/activate
python ./Pytheia100_main.py
You should see logs similar to:
[INFO] Pytheia100 v1.1.0 | Org: Organization XYZ
[INFO] Mode: azel | Data: Ecam_astrometry_pm-02-04-2025.dat
[INFO] Selected terms (...): [...]
[INFO] Output directory: My_Pointing_model_results\terms_xxxxxxxx
HTML report path is printed at the end, e.g.:
[INFO] HTML report path: My_Pointing_model_results\terms_XXXX\combined_results_bayesian.html
---
8. Outputs
- `combined_results_bayesian.html` — Self-contained HTML (plots, fit stats, correlation matrix, footer with version/org/timestamp)
- `pointing_analysis_.png` — Diagnostic plots
- `pointing_results.txt` — Fit summary (parameters, uncertainties, RMS)
- `correlation_matrix.csv` — Correlations among fitted terms
---
9. SBOM & compliance
- `sbom.cyclonedx.json` — CycloneDX 1.4 SBOM for dependency transparency.
---
10. Troubleshooting
- ANSI color codes on Windows — install Colorama or disable colored output.
- High parameter correlation — prune one of the highly-correlated terms and re-run.
- License mismatch/expiry — ensure `pytheia_license.json` matches v1.1.0 and is valid.
- Empty footer date/wrong version — use the patched `Pytheia100_main.py` (v1.1.0).
- Integrity errors — verify you didn’t modify files after release.
---
11. Upgrading from v1.0.0
- Keep v1.0.0 for archival; use v1.1.0 for current installs.
- If you had a custom `pointing_model`, ensure it returns `(stack1, stack2)` dicts.
---
12. Support
- Licensing & renewals: support@orionisgroup.com
- Security/Compliance: Integrity & SBOM sections above
- General: send logs and `config.py` (minus secrets)