Skip to main content

Parse and generate CCSDS Navigation Data Messages (NDM) in KVN and XML formats

Project description

CCSDS NDM

Python codecov PyPI License: MPL 2.0

A Rust library with Python bindings for parsing and generating CCSDS Navigation Data Messages (NDM) in both KVN (Key-Value Notation) and XML formats.

Supported Message Types

Message Description
OPM Orbit Parameter Message – Single state vector and orbital parameters
OMM Orbit Mean-Elements Message – Mean orbital elements (e.g., TLE-like)
OEM Orbit Ephemeris Message – Orbit state time series with covariance
OCM Orbit Comprehensive Message – Detailed orbit data with maneuvers
CDM Conjunction Data Message – Collision assessment data
TDM Tracking Data Message – Ground station tracking measurements
RDM Reentry Data Message – Reentry prediction information

Installation

Python:

pip install ccsds-ndm-py

Quick Start

import ccsds_ndm

# Parse any NDM file (auto-detects format and type)
ndm = ccsds_ndm.from_file("example.opm")

# Or parse from a string
opm = ccsds_ndm.from_str(kvn_content)

# Access data
print(f"Object: {opm.segment.metadata.object_name}")
print(f"Epoch: {opm.segment.data.state_vector.epoch}")
print(f"Position: ({opm.segment.data.state_vector.x}, {opm.segment.data.state_vector.y}, {opm.segment.data.state_vector.z})")

# Write to KVN or XML
opm.to_file("output.opm", "kvn")
opm.to_file("output.xml", "xml")

Features

  • Type-safe: Strongly typed structures matching CCSDS XSD schemas
  • Auto-detection: Automatically detects message format and type
  • Python bindings: Native Python API via PyO3
  • Zero-copy parsing: Efficient KVN tokenizer

Documentation

License

This project is licensed under the Mozilla Public License 2.0.

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

ccsds_ndm_py-0.0.4.tar.gz (539.0 kB view details)

Uploaded Source

Built Distributions

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

ccsds_ndm_py-0.0.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

ccsds_ndm_py-0.0.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (3.2 MB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.4-cp39-abi3-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.9+Windows x86-64

ccsds_ndm_py-0.0.4-cp39-abi3-win32.whl (2.8 MB view details)

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_i686.whl (3.2 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_armv7l.whl (3.0 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

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

ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (3.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.4-cp39-abi3-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ccsds_ndm_py-0.0.4-cp39-abi3-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file ccsds_ndm_py-0.0.4.tar.gz.

File metadata

  • Download URL: ccsds_ndm_py-0.0.4.tar.gz
  • Upload date:
  • Size: 539.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for ccsds_ndm_py-0.0.4.tar.gz
Algorithm Hash digest
SHA256 e5ee6bfa132028d70046ea9093b5584563f58ac599e816011a87a64d73326c36
MD5 1e4fc244d459cd2248d1f7aad53dc412
BLAKE2b-256 cb3660b69ccb62017df5a6fdd3ff544d75a8472128f3d39baf3b2f803c5bfd8d

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5e02d1c9387a18a1decf2801fd30b16e22877ce0cbda699b317c42e1c620ba0
MD5 3ec46561cfd610f068ab6e01b0a4d8c0
BLAKE2b-256 37e46121b243c9761629603ccb5ad400ec5739a3431397ed897b445fb312690f

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 a2ab43b046f5899d58d202945a6d6d56a3dc071f6b5f3d1fb9d4e5c838789d5c
MD5 7bbe748d4f84b9f3666b03520c6d44b8
BLAKE2b-256 687eef86364e9f3b0ee1dc7561bafe098c5f55f4fdd12354673e2d026e9dcfb5

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1ed0fae27d0ef680b4c2756099f7b72247df92ae7f924fd8b73d2fd8b175260b
MD5 31a3ccfa758266f84e8f53e5ab3c6941
BLAKE2b-256 01dc5309ea25a3f708e94f36d800c56a24fd6077d4d86a3e07aaa0f8e8633398

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-win32.whl.

File metadata

  • Download URL: ccsds_ndm_py-0.0.4-cp39-abi3-win32.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.9+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 f873d1c7384a8e7b18bde743d4acec3da78e595f6e515cf48cb61fae8ce192c6
MD5 0485032dfea446a61a0f660d16d7e99a
BLAKE2b-256 2fc76b676ca059bedddeffd714346fb7a4749f3748779ccaf31146dc4876af6e

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5d978c3fecdee2caa6a8f72887272a1da1272820c541567c70fd5f8bf08c42c4
MD5 eacaa15ca3da5a5d34b7de3c0622f795
BLAKE2b-256 94f571e7048bbc5135dd2e2cd96de43d43ce79624037589e44ca7f09880e8582

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 17696e8146afc08a0498228792961e253759b28f5bc42b2519d0949cb1d7ae97
MD5 5b64da2459f918d71f3d8df682dea488
BLAKE2b-256 397cd1d580af2d3560e022b7f88a005ac82b9996b90eaf0c38c153d8a854b7b5

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 80312170a5fd47332b176feb685d9843e64831990fe3f65bc303747c1da3b144
MD5 8adebd8b183de4a64c87ecef97c7a10e
BLAKE2b-256 bc7bc16f03818be1c10019247b375c152227fc5ef71a8a9e5493ddf0e1e11b3b

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 48c363ee95b4961109e0f5726dd40f08b86f577d70f99ffc6f8a6cb32fdf695b
MD5 e5807623a868d2afeb6421d1d80854b7
BLAKE2b-256 083d6c8b905aeae86a183653efcad59cddac18219023905c1600522ffffd098d

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d58aaeeb6c309cd71e284033c748b717d27f48f2e1b22ff22509cc16dce3d7d3
MD5 c1586cb97e0a12528be2be12277f9cfc
BLAKE2b-256 d65477c21eab6df80c8b1da52550d7d4824a53d2d6bf275fcfa51d11b428a8bf

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a4906b1d6cdfc559d24185603d9aecf584a46489b8e47f3841285b49cb13d69f
MD5 7b03f269908775485866b5f125db29be
BLAKE2b-256 722ccd62fd947a7ef6120bd385c6c2a7ae016efab55211e67f49ba7c4de8794b

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e458bb972d4de28b931d25c69228d1d85eb78b3a07e278d031167579eadc3da6
MD5 c2ef1215e4702d2723b84e3977ae16e0
BLAKE2b-256 85d26d0c3081a4115c9e7c77aad974a589269d06e0aba01aca48e8b34c9b01b4

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3b62017b6cb55dc6bc0bd3c422d1fcbad7efd0601b08aed55c2ac6c1a7c77572
MD5 08eafc38485807b1f346d70d4dfc2fb2
BLAKE2b-256 7f01cea0764978fdd3cf82e8e868a18f2482ee084d2bb8806f5d73de8cb405d6

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f0fd0a982a29cc80d9d63d08196a166482b29e9137943f865fe7317b47e26b48
MD5 9810f3f6154d12fd93af7ad78eea77e8
BLAKE2b-256 2802cfd0e45e545f72e443d9781b43f0545be815743d079fdaa6de4788ead89f

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 b27c51446f710e2493cc4e0d3ff38b3604ee564d707251bf1f01aa37d2ef7822
MD5 fd82f8f87099d2eee53d4dd44ad37ac5
BLAKE2b-256 5591b067d3fc735b797ac0d94cdb8e18987e04ddc35bcb98a8bf5428c04df213

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d399037afd64879ef0b9f348ab229001c85cd87ce1b3f0b764dbd3fa1e871fad
MD5 8864261b1959b176947c8c3c1ac58a15
BLAKE2b-256 6e8bf1af3cf6dd443b84c88d6d0e58502fdb23f0b86f60b2b93081f232e6a06f

See more details on using hashes here.

File details

Details for the file ccsds_ndm_py-0.0.4-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.4-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c85fdc048891bc6c19b74b550efca938f5c841e27f6275bf7d71b8febd4f224a
MD5 b57e071d586d87403a88d23a4201a506
BLAKE2b-256 f38667c7b797aa49ea5ed04ac33eb0ab3f0440248d5833dfb7377da9c2a32d3c

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