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

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.1

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.1
File Size Uploaded
simurg_ppp-0.1.1.tar.gz 4.8 MB Details

Built distribution (wheel)

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

Total release size: 4.8 MB

Release files / simurg_ppp-0.1.1.tar.gz

Download URL simurg_ppp-0.1.1.tar.gz
Size 4.8 MB
Tags Source
SHA-256 checksum
How to use checksums
5fef110aab32bfd3491dd5fa55e1ed3e03c8cb330ba63efa8630f98c4087134e
BLAKE2b-256 checksum
How to use checksums
169e266e337502588a77e8c2d9d550db8c9daadba05b1a0bdf3e9a3d5f2a748a
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.1-py3-none-any.whl

Download URL simurg_ppp-0.1.1-py3-none-any.whl
Size 60.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6de3e5a996887cc459c82d1f8d98e3dc86aee60274a2ec24adacaecd2af1b5b
BLAKE2b-256 checksum
How to use checksums
2fa95b6fcdf9a33c2c414ab49b7ce6bdffde6b1553183676eb32a228e6024c62
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

This release

0.1.1 This release

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