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

SIMURG PPP TUI demo

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

Verify optional external runtime tools:

simurg-ppp tools verify

Run the existing setup helpers through the installed CLI:

simurg-ppp tools install rtklib
simurg-ppp tools install hatanaka

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 result series to a PNG. The default view is LLE: latitude with North/South error, longitude with East/West error, elevation with Up/Down error, and 3D error:

simurg-ppp plot 0934dd49-0e75-47c9-a447-3728094929d7 results.png

Use --xyz for the XYZ coordinate view:

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_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_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.2.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.2.0
File Size Uploaded
simurg_ppp-0.2.0.tar.gz 4.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for simurg-ppp 0.2.0
File Interpreter ABI Platform
simurg_ppp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 4.9 MB

Release files / simurg_ppp-0.2.0.tar.gz

Download URL simurg_ppp-0.2.0.tar.gz
Size 4.8 MB
Tags Source
SHA-256 checksum
How to use checksums
46a55c3f5d1ef06e2668fe60c046fef460c2beb4430f89cde850f242ce3e4ce5
BLAKE2b-256 checksum
How to use checksums
5937d9dab356f63ce454066e0c52912f7e802615d50617398f802c17dfc561dd
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.2.0-py3-none-any.whl

Download URL simurg_ppp-0.2.0-py3-none-any.whl
Size 72.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b9e84b1504bfcc3fcf7e9dd75304bade22647517fc2cf05753af784e55dbb26d
BLAKE2b-256 checksum
How to use checksums
39ae87b173c8d64ab6404c92886c6cff7f96fc5432f7617509df5bc707b4aecf
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

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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