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 56 of 102 capabilities validated against independent external oracles ~96% line coverage, gated at 85% in CI Release v0.25.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 · 56 of 102 capabilities validated against independent external oracles; 42 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: 56 Validated, 42 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.25.0.tar.gz (5.7 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.25.0-cp39-abi3-win_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9+Windows ARM64

kshana-0.25.0-cp39-abi3-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

kshana-0.25.0-cp39-abi3-manylinux_2_28_x86_64.whl (1.9 MB view details)

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

kshana-0.25.0-cp39-abi3-manylinux_2_28_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

kshana-0.25.0-cp39-abi3-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for kshana-0.25.0.tar.gz
Algorithm Hash digest
SHA256 3bbdb357b4847fa40e146a494acd201459b596fb45233d1d92711ad532f07e34
MD5 18aca05297b7e0f0226f1f1a7a92f572
BLAKE2b-256 c021456f6e0c878a9b4e9fbece1ef20aacb4c7bd93ea7f1161a7195e7ecd3ef9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kshana-0.25.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.25.0-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 6de0c30bfffebaa2fc8a513976500f6f33f13efacf5ca8ef848dbab204302b91
MD5 fcf7031de96a4283734bd7eb781cb02f
BLAKE2b-256 cf2b2bef4d60b6151c5586bf43f45ff77678461985b9dee5d0cdaea1f6acc93d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kshana-0.25.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.25.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f51e32ed2034106b94ebe7c0c965a01d3e9991bf5310bbc614a024e9b26e576e
MD5 c4b79c96d6388aa06c66bf99094d93ea
BLAKE2b-256 c7c5d4e88ae7db4a441d8eb07d7ced35e404b67f80c9f2987d3f444b1706c036

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kshana-0.25.0-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a9d160a43cea7b48126b24b192d3ca52bb9e9997ad15cf6514770f4ca7a370f7
MD5 8e67fabf5724e90237206a4e4c1f9111
BLAKE2b-256 efd9edea7be450eb65b5b3685d6956db480fc786b7baf57272a610ffc9c1ec4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kshana-0.25.0-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 02a8b1c4a91f70f716206e558aba68b9d23117a516fcf38eb1f15a1ee2254a15
MD5 e50516b8cf4a405b6ab8a4c15d6430b6
BLAKE2b-256 0e5951ab9bec117f8324a1093ff78fd82a86a45a60c850568bfcaf5b55ddbbdb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kshana-0.25.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55336a9c6701f7a9cdc5d42004f145cf3d8e39eafe23bf1b6f547ac0db886cf2
MD5 92908f03e169d138bddbbe6ee0e1b21e
BLAKE2b-256 a88c938891164f56f3033aaff8d5c745ae9461f3d621d1612e2a266c4962a5bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kshana-0.25.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d6cd4e549f29d5a4d65e3427364c72df1da690fa3f45b3cf838ab6314a6c8ff4
MD5 be7d886ab06f16c7e7225861659362e3
BLAKE2b-256 3b38e4448087047bcd19cb402e66c0f2bb8f1aff5424c76792e94f3dab78edc4

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