Skip to main content

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 64 of 168 capabilities validated against independent external oracles ~96% line coverage, gated at 85% in CI Release v0.26.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 · 64 of 168 capabilities validated against independent external oracles; 100 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 168 capabilities: 64 Validated, 100 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.

Metadata

Release files for kshana 0.27.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kshana 0.27.2
File Size Uploaded
kshana-0.27.2.tar.gz 7.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for kshana 0.27.2
File
kshana-0.27.2-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
kshana-0.27.2-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
kshana-0.27.2-cp39-abi3-manylinux_2_28_x86_64.whl CPython 3.9 abi3 Linux glibc 2.28+ x86-64 Details
kshana-0.27.2-cp39-abi3-manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.28+ ARM64 Details
kshana-0.27.2-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
kshana-0.27.2-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 23.0 MB

Release files / kshana-0.27.2.tar.gz

Download URL kshana-0.27.2.tar.gz
Size 7.2 MB
Tags Source
SHA-256 checksum
How to use checksums
dcbcfd837ef2406f268018e6d3869f30fa560be061466335bc06ea06fad28830
BLAKE2b-256 checksum
How to use checksums
2fa848bc931ce2be5c28aaf3a49bca3f5ff229c7b09683f5e38b287db129b422
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kshana-0.27.2-cp39-abi3-win_arm64.whl

Download URL kshana-0.27.2-cp39-abi3-win_arm64.whl
Size 2.5 MB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
b7de29e39260d5002e3e8ddd5bffefa140ddc5faf5467a090785f52579af43de
BLAKE2b-256 checksum
How to use checksums
bdcd9e894d348845793d8540872118b1ac2ed822d257f72d5377e7ffff51993c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kshana-0.27.2-cp39-abi3-win_amd64.whl

Download URL kshana-0.27.2-cp39-abi3-win_amd64.whl
Size 2.7 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
83d4b00c100122230ff28f6228ae520755dc1154fe4e9a9be1a238c59aceab3f
BLAKE2b-256 checksum
How to use checksums
03c2b9f712631d181bc6c35add844387f904ab60107859cdfc753bc04f2fc81d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kshana-0.27.2-cp39-abi3-manylinux_2_28_x86_64.whl

Download URL kshana-0.27.2-cp39-abi3-manylinux_2_28_x86_64.whl
Size 2.8 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
cde2e7cd5b0d1cfbd788f8831d1d9d2dc3fc86723264e7877c903827f283c762
BLAKE2b-256 checksum
How to use checksums
5c7776165dcc64cea9f84019fee217aa0ace715f05bcc5d9e4d300ec13303431
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kshana-0.27.2-cp39-abi3-manylinux_2_28_aarch64.whl

Download URL kshana-0.27.2-cp39-abi3-manylinux_2_28_aarch64.whl
Size 2.6 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
cb32b201476923ff0fd50db129c8afb09db138482b43f2e55c479eaeb7049e22
BLAKE2b-256 checksum
How to use checksums
07573abb00e6172fcb7db756ec83fe48a62dfbfe67b635a2733ea0dc51b14688
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kshana-0.27.2-cp39-abi3-macosx_11_0_arm64.whl

Download URL kshana-0.27.2-cp39-abi3-macosx_11_0_arm64.whl
Size 2.5 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5c90d159a89a876385237b58eab247f6790e6149de9cb0650b91665644b3ab8e
BLAKE2b-256 checksum
How to use checksums
f7ff3c4ba6ceb31757fce8f32bfabecbd27d8dd88cfc99161c2cbdf69cd19267
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kshana-0.27.2-cp39-abi3-macosx_10_12_x86_64.whl

Download URL kshana-0.27.2-cp39-abi3-macosx_10_12_x86_64.whl
Size 2.6 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3c246fa7f3bc7c46c757f3bf0fdeaea48ad141d656539159d5f5878d93bf63ff
BLAKE2b-256 checksum
How to use checksums
319de0c41ef13f35c1c10cb820f7ed548fadf4d8041242a23c494c2ac90c8db3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
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