Skip to main content

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)

Source distribution for simurg-ppp 0.1.0
File Size Uploaded
simurg_ppp-0.1.0.tar.gz 48.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simurg-ppp 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page