Skip to main content

Open hybrid quantum/classical PNT performance simulator

Project description

Kshana

क्षण — Sanskrit for the precise instant, the smallest measure of time.
Open, reproducible PNT-resilience simulation with published quantum-sensor performance models.

SGP4 validated against all 666 AIAA 2006-6753 vectors, worst 4.12 mm 51 of 102 capabilities validated against independent external oracles ~96% line coverage, gated at 85% in CI Release v0.24.0 Live playground — run in your browser, no install License: AGPL-3.0-only DOI 10.5281/zenodo.20528627

Kshana is an open, reproducible PNT-resilience simulator with quantum-sensor performance models — positioning, navigation, and timing. This package is a thin PyO3 (abi3) wrapper over the same Rust engine: you pass a scenario TOML string in and get a reproducible JSON result back. It quantifies, in hard numbers, what quantum clocks, quantum inertial sensors, and optical time-transfer buy a navigation system over classical PNT. Every result is reproducible from scenario + seed + engine version, and every sensor parameter is traceable to a published source.

Validated, not asserted. 666/666 AIAA SGP4 vectors to 4.12 mm · Cowell force model 0.08 m vs Orekit 12.2 · Galileo 0.61 m / Swarm-A 0.10 m vs real ESA precise ephemerides · GCRS→ITRS bit-for-bit vs SOFA/ERFA · ML metrics exact vs scikit-learn · 51 of 102 capabilities validated against independent external oracles; 47 honestly labelled Modelled, 4 partner-owned.

Kshana system overview: five front doors (CLI, Python wheel, WebAssembly playground, MCP server, JetBrains plugin) converge on a single api::run_toml dispatch, through the engine, to a reproducible result.json + chart.svg

Validated against external oracles — every row CI-gated

Each row is checked against an independent external oracle (real dataset, independent reference implementation, or published reference vectors) and re-checked in CI.

Capability Result External oracle
SGP4/SDP4 propagation 666/666 vectors, worst 4.12 mm AIAA 2006-6753 (Vallado) + independent sgp4 crate
Numerical Cowell force model 0.08 m / 24 h, 275 epochs Orekit 12.2 DormandPrince853 (CS GROUP)
Orbit fit vs precise ephemeris Galileo 0.61 m · Swarm-A 0.10 m ESA/ESOC SP3 precise orbits
GCRS→ITRS frame chain bit-for-bit vs SOFA; ≤ 0.86 m vs SPICE ERFA/SOFA + ANISE (pure-Rust SPICE)
Allan deviations reproduce reference deviations NIST SP 1065 + Stable32 on a real Cs clock
GNSS DOP · ML detector metrics to 1e-6 · to 1e-9 gnss_lib_py · scikit-learn

Verification status across all 102 capabilities: 51 Validated, 47 Modelled, 4 Partner-owned

Install

pip install kshana

Wheels are built for Linux, macOS, and Windows on each release tag. To build from source instead, use maturin: pip install maturin && maturin develop --features python.

Usage

import json, kshana

result = json.loads(kshana.run(open("clock-holdover.toml").read()))
print(result["quantum"]["fom"]["integrity"])

# JSON, SVG chart, and a one-line summary at once:
result_json, chart_svg, summary = kshana.run_full(open("orbit-gnss-challenged.toml").read())
print(kshana.version(), summary)

Beyond run / run_full / version, the module exposes run_typed (a structured result object), validate_toml (lint → list of error strings), list_kinds / scenario_kinds (the dispatchable kinds), and error_kind (the KshanaError tag for a rejected scenario) — see docs/PYTHON_API.md.

Every figure of merit is labelled validated or modelled; optical-clock figures are space goals on ground hardware (no strontium optical clock has flown). Maturity is not uniform across domains — Earth PNT is real-data validated; deep-space / Mars navigation is simulation-validated; real-mission deep-space OD is on the roadmap.

Learn more

Licence

Free and open source under the GNU AGPL-3.0-only. A commercial licence is available from Ashforde OÜ for proprietary/closed integration — see LICENSING.md. Professionally developed and maintained by Ashforde OÜ; commercial support, integration, and proprietary extensions available.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kshana-0.24.0.tar.gz (5.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kshana-0.24.0-cp39-abi3-win_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9+Windows ARM64

kshana-0.24.0-cp39-abi3-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.9+Windows x86-64

kshana-0.24.0-cp39-abi3-manylinux_2_28_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

kshana-0.24.0-cp39-abi3-manylinux_2_28_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

kshana-0.24.0-cp39-abi3-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

kshana-0.24.0-cp39-abi3-macosx_10_12_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file kshana-0.24.0.tar.gz.

File metadata

  • Download URL: kshana-0.24.0.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kshana-0.24.0.tar.gz
Algorithm Hash digest
SHA256 f7bfc8384c063e14ace95449057e48a6dd251d565655f5ca3455abb78395abb6
MD5 1ef1b8f0b4eaa3b0474878877ca76859
BLAKE2b-256 45f2b293f1532702968c330162853d59f83ca55e66685d91f70e7cc8f959fbd8

See more details on using hashes here.

File details

Details for the file kshana-0.24.0-cp39-abi3-win_arm64.whl.

File metadata

  • Download URL: kshana-0.24.0-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kshana-0.24.0-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 45be8479b9b2aec7ca55040df32ca7f76109c06662aebafc38ac3cebfe80ca6f
MD5 6491e2d0cb283a78d0a1204c0927a71b
BLAKE2b-256 dea9719c6337c4eb0d71247651ae982892a663a510664325005f0dbd6e0bf1b0

See more details on using hashes here.

File details

Details for the file kshana-0.24.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: kshana-0.24.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kshana-0.24.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 89fb26d9f588e0e769f1ebb6bc6c951611f372a7b66ec960d0e50e78fa1d67a4
MD5 fdb7b0171952f02e49bdea8828a09b46
BLAKE2b-256 34c407b549c9133755c6ab6df10a1454c13606e6fbe376d43f06d28e373bcaa3

See more details on using hashes here.

File details

Details for the file kshana-0.24.0-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kshana-0.24.0-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f14f729e1d1704df5fda29a0a43b8d731b995e22f00385d1ed3d3f7032cda63
MD5 6bf385a336899a791a428a3063b73dde
BLAKE2b-256 1912d8ac5ffe963265ba28b6786d0de4d01fdf41f5c63bf3871a3befd71f4a12

See more details on using hashes here.

File details

Details for the file kshana-0.24.0-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kshana-0.24.0-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 789f21d375aed40598f8077d6745a1a20402e217de5aae875c3fae42cae42cc6
MD5 453050e58730d696ac817c84d2852011
BLAKE2b-256 c13fbd5d48e518a321a94ab9f849b55fbede56343ef1b294b1673bd5118147f2

See more details on using hashes here.

File details

Details for the file kshana-0.24.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kshana-0.24.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43dc7e40d880ce893f18b84f010f7faef5bfecd06203cdce98b4df32f5839bb9
MD5 813ce53be61a1090fc3e4764fa8d7f45
BLAKE2b-256 f41ed02b421c2635d8847ce2b6aea042a6b2423d3b010208a2a679621cca6b6b

See more details on using hashes here.

File details

Details for the file kshana-0.24.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for kshana-0.24.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5594873f4f7ad97fc3314546671555a8ae98e9fd93c64bec99528ea85768acee
MD5 f375d394bef34c53bee1e3ddf8f00194
BLAKE2b-256 54f6da7ce871dddb5a4d9d5d222e5c0732d0c1781c87afbafd681f13ec622e1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page