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.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 kshana 0.27.0
File Size Uploaded
kshana-0.27.0.tar.gz 7.1 MB Details

Built distributions (wheels)

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

Total release size: 22.9 MB

Release files / kshana-0.27.0.tar.gz

Download URL kshana-0.27.0.tar.gz
Size 7.1 MB
Tags Source
SHA-256 checksum
How to use checksums
3191b60668db7332584c38b32a42e0a796c35927c846996a7e2eaa45227a6ac7
BLAKE2b-256 checksum
How to use checksums
3d80435a17bd4435f48ef7e99f94cb6ac9221cfbe0723e7d98bc97a7aa829bed
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.0-cp39-abi3-win_arm64.whl

Download URL kshana-0.27.0-cp39-abi3-win_arm64.whl
Size 2.5 MB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
337cf9fe7478b73953afef1c26ae9fa8aa54037b0bca1263b31ff846ba46411a
BLAKE2b-256 checksum
How to use checksums
fc21d1703310ffc3e5e14e1585ee31aed4b64c4cbb3b41ab3ed39398b00e3dc5
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.0-cp39-abi3-win_amd64.whl

Download URL kshana-0.27.0-cp39-abi3-win_amd64.whl
Size 2.7 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
f35fed742fe9f3e4c44ed9b9f02ee65bd6704ef8ad2262bbf7992fb79937fe4e
BLAKE2b-256 checksum
How to use checksums
791d5256d18e975b7337e6883a244bdbd76ab280774b7dcc1bf0e27340272491
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.0-cp39-abi3-manylinux_2_28_x86_64.whl

Download URL kshana-0.27.0-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
fadb8b445adc39728791f9bb35b8ab47ba8725db3aa541d2c2f6e7a963ca6948
BLAKE2b-256 checksum
How to use checksums
ad743ae48afe8cfe54221b3af7880b1b25fc2fc4c4628d4ecd43d4c4eeb33c69
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.0-cp39-abi3-manylinux_2_28_aarch64.whl

Download URL kshana-0.27.0-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
dea8d3c81210353e983580a358c1448484ccc85608702466459c37d76cec627e
BLAKE2b-256 checksum
How to use checksums
26ba1fabe2aa9a07575aeeb94c00f3527e67148509c653b384d9be90c39e1cfa
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.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL kshana-0.27.0-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
6a1b1ac60c024f20c16d8bdb5acaa502f55643cae4cdcdd71ef6714b04e272da
BLAKE2b-256 checksum
How to use checksums
e688f0011f20865609aaf9169083002fc4b9210efb78d044b32fa5e37a5d2254
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.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL kshana-0.27.0-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
920b687bcd678efb7ecee4786ede2e70385dcfa50ed1c68539c03d097e96b13d
BLAKE2b-256 checksum
How to use checksums
f22c31b93f9892daf7abd602515d063c9123ec6455b6db3e11fe5cd252e6c244
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