SIMURG PPP
SIMURG PPP is a Python client for running Precise Point Positioning workflows with SIMURG RINEX sources and a PPP processing service. It provides small command-line commands for individual PPP tasks, workflow commands for site/date processing, and an interactive terminal UI for selecting SIMURG sites and running batches.
The package is published as simurg-ppp and imports as ppp_client.
pip install simurg-ppp
TUI
Run simurg-ppp with no subcommand to launch the interactive terminal UI:
simurg-ppp
The TUI guides the SIMURG PPP workflow from the terminal. It can check service availability, verify external RINEX tools, select stored groups, choose dates, load processed SIMURG sites, select sites manually or from pasted input, and run workflow batches while showing progress and logs. Launching the TUI also creates config automatically on first run when no standard config exists; feel free to change it if needed.
Useful TUI options:
simurg-ppp --skip-startup
simurg-ppp --date 2025-11-11
simurg-ppp --storage-root workflow-data
simurg-ppp --select-only
For non-interactive site/date processing, use workflow commands:
simurg-ppp workflow start irkj 2025-11-11
simurg-ppp workflow proceed irkj 2025-11-11
simurg-ppp workflow status irkj 2025-11-11
simurg-ppp workflow report irkj 2025-11-11
CLI
Use the atomic commands when you already have a local RINEX file or a PPP task id.
Create configuration first if it is fresh installation and you didn't run TUI app.
simurg-ppp config init
config init creates the runtime config file and workflow storage layout in
standard system locations when permissions allow it, or in standard per-user
locations otherwise. Use --storage-root when you need a one-off storage
override.
Atomic Commands
Create a PPP task from a RINEX file:
simurg-ppp calculate irkj3150.25o
Check a PPP task status:
simurg-ppp check 0934dd49-0e75-47c9-a447-3728094929d7
Plot XYZ result series to a PNG:
simurg-ppp plot 0934dd49-0e75-47c9-a447-3728094929d7 results.png --xyz
Python Usage (API)
Run a single SIMURG site/date workflow from Python:
from pathlib import Path
from ppp_client.tui.workflow_runner import (
WorkflowRunOptions,
configure_logging,
run_site_date_workflow,
)
configure_logging()
result = run_site_date_workflow(
"irkj",
"2025-11-11",
WorkflowRunOptions(
storage_root=Path("workflow-data"),
force_start=False,
poll_seconds=60.0,
timeout_seconds=3600.0,
),
)
if not result.ok:
raise RuntimeError(result.error)
print(result.report)
Use lower-level helpers directly when you want to compose your own flow:
from ppp_client import check_task, create_task, plot_xyz_result_points
from ppp_client.results import collect_result_points
task = create_task("irkj3150.25o")
details = check_task(task["id"])
points = collect_result_points(details)
plot_xyz_result_points(points, "results.png")
SIMURG Ecosystem
This package does not install a root simurg command. It exposes a future plugin entry point named ppp, so a later umbrella package can provide:
simurg ppp
simurg ppp workflow status irkj 2025-11-11
Development
Install the package in editable mode, then install development tools:
python -m venv .venv
. .venv/bin/activate
pip install -e .
pip install pytest twine build
Run checks:
python -m pytest -q
poetry check
Build release artifacts:
poetry build
python -m twine check dist/*
See CONTRIBUTING.md and docs/release.md for maintainer workflows.
Metadata
Release files for simurg-ppp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simurg_ppp-0.1.0.tar.gz | 48.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simurg_ppp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.3 kB
Release files / simurg_ppp-0.1.0.tar.gz
| Download URL | simurg_ppp-0.1.0.tar.gz |
|---|---|
| Size | 48.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9fb9082377bf156e9fcce2155ecaba713e358a4282a7b1effc736eba85066fe3
|
|
BLAKE2b-256 checksum How to use checksums |
da40838fa6365948f1b8d3f555d7360dad961de8e8b2ebf7576c7f23e2100c89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.10.12 Linux/6.8.0-136-generic
|
Release files / simurg_ppp-0.1.0-py3-none-any.whl
| Download URL | simurg_ppp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 59.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9b70df5ef36e5152528d874ff237cdb42f641fa683e37c099b1e88f2c3b7a285
|
|
BLAKE2b-256 checksum How to use checksums |
c4aae37bdd806e3cde809608ed6f59a2ddac5312807073fb2964c1d57e7e6899
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.10.12 Linux/6.8.0-136-generic
|