Skip to main content

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

Project description

CCSDS NDM

Python Rust codecov PyPI crates.io 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.2.tar.gz (499.3 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.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

ccsds_ndm_py-0.0.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (2.9 MB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.2-cp39-abi3-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.9+Windows x86-64

ccsds_ndm_py-0.0.2-cp39-abi3-win32.whl (2.4 MB view details)

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_x86_64.whl (2.9 MB view details)

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

ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_i686.whl (2.9 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_armv7l.whl (2.7 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

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

ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.8 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (2.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.2-cp39-abi3-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ccsds_ndm_py-0.0.2-cp39-abi3-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f2df5a4e756ad95ff22569175c748e2daca9c65528627a2ed12ad389774c1f89
MD5 4cd0f97c66d1d35982c5fd7222340a53
BLAKE2b-256 95d154bb1c4b6a45d896d77c62605f1d8cdf9338bdef44ccb3b06dcce88183a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1458d76f15ed8da1d6cdc10f38939d1ee2e6d3a7d30406f6f190c1b18e26f35
MD5 b249b6d8f68b3197be914f17cca49689
BLAKE2b-256 0aabea3dcd8fbe72bee2fed42a467b87f3b8db26807cbcbedd0a9af16c9269a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 781b2a828b7b611441562ec940980b9f3541ea1bf0040de9959a03fa6e44222c
MD5 f2a2ce982a57776a20562bb797f44fa5
BLAKE2b-256 8de52b50e92d4bfa2aeb1a94806e40603b69a9287ebeac8c0bee1ce05fbc4095

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 dda9d847cdea37803de6c490009027c34fb56a3f28292dd560d9940107bf824e
MD5 71dd78bd11e2f9f50599d7a64ad8f720
BLAKE2b-256 6d6239f8e8d0c38675f5ae4cb6d443e29a0f9d1c9cfb13461f2c56744a708941

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccsds_ndm_py-0.0.2-cp39-abi3-win32.whl
  • Upload date:
  • Size: 2.4 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.2-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 518ae0c15e7169234227166049691bb7b5a8abea43c440dfbb3716eb5097643d
MD5 0760222dd698e5419d86ca2087329aec
BLAKE2b-256 cfea32766365dd1e771125f82566d45051d6310fef89aa67235e7833a2a66674

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ee46267c2fd1a52e583dbbcad3691163ca124bea8d53dc2cfce04d0d671b6a47
MD5 d15f8783d57f167bdd70eb3ed6ec51cc
BLAKE2b-256 e69c37103a66e9041cca6ce59a388812d0276a24a1a4a1b44d97203ebdfb6416

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 17226fb47f6f3d2bb8c6975d79ecdfe0479e4b6a15b629a2b193870231946f5b
MD5 cd03b72ca201f62d695fe8996e28f4c4
BLAKE2b-256 cc968c0fb4a25aabd835a51b66f46122b8ff5cf981551a1a7ca0162ee15516da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 d2f4dd0e6ab2f37fe82f03effa92469f3e179b9ced762c5a10024132f6fd9f56
MD5 eb3c474b5b18d73edb3a536be0fe47bd
BLAKE2b-256 db0ccda7a5e23008c7885253a0fc93ae64929da53d1cca89cac351eaab66c015

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fa0cfd089e7cc1f288e446fe2422dca48841fe8b8f83b17ba11f0c046388265b
MD5 dfeb5beb7f13e79d09d2f7d89b4a1e94
BLAKE2b-256 10567cd8d1abdd305fdfcaeef46fa92dadc9904a0fe1e51d2c263747dc655d23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 406293baea41c75051b8137b733823aa37a24ff1f64b73ad6be773b8373cdeb3
MD5 f8e8b6239def705920fb769b2e323bb2
BLAKE2b-256 e84dc647d883a4bee1aed211f71396eff22c49f2b0e0d78d25a57d1629e776a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 357c30bb89ca2a73a64d6e1d5af574dcc44bdf98d003b5af7c906db4f2ca2020
MD5 964f4af7dbf1bac85cceceb77f843768
BLAKE2b-256 4dffcadd0c6545902341fd08908a54dcea8fc431b5e8574aaec9ed24da349b5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 32e142ce7071dab70606d5f183b1a08741824dbd777af6ae4759c66d35508dfc
MD5 841de4c3e2a9977c24fded127683a234
BLAKE2b-256 9e8ea43faec8e30d6ab3f1080d91a409bb18a91f443d13156e83286bf844a67a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fbc196498a9b87ded6988cfd611499a397c88b4f52c27ebfd1084d15bd9cff12
MD5 bd79113d9c45fecaae654d6b23b315e5
BLAKE2b-256 43e5412544a883501741d9669b1608ec9e8427b1f28320103ad1a73790b9ff03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2f2a154a6d7d043574098d143b65bfe7a618bb33259dee532fe8cb303aacbb21
MD5 2da23cb35ca94eebb96dac495495d60a
BLAKE2b-256 3d0334f4be820b0d84ea4b4f649061d06ff97597854b795d6089a254ce403488

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2ca46a20259394c50fade4fc2fc3a14fd9a29192402c08ae8f4c659d3913484d
MD5 a4221b4c30f43c25aca7c76a15d2e2ef
BLAKE2b-256 f64a360f95fd5f1de827c03867bea2606acd8a1f21428850b35ff2fef879a7cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d54bdd24c91026a87512a3e2d9238cab19d8b43ce1a82f29300b0c0dad147a4b
MD5 31916abe98a331322b3becbf1bf7c643
BLAKE2b-256 5ccfe1f805f8c9319f9f5b3b4aeb32f06b79c5cc5c3c395edd56eaf85a21ebbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 437780fdd125f8af78982db9220bd131894fcc8054124618f004a13ea505a79f
MD5 3063d22c4a71d1a6abffe28e04a46ee1
BLAKE2b-256 37b2ee84af048292e46b354308c94a4c82587a453c0946448c37d613d10309ff

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