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.3.tar.gz (517.6 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.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

ccsds_ndm_py-0.0.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (3.0 MB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.3-cp39-abi3-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

ccsds_ndm_py-0.0.3-cp39-abi3-win32.whl (2.5 MB view details)

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_x86_64.whl (3.0 MB view details)

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

ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_i686.whl (3.0 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_armv7l.whl (2.8 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

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

ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (3.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.3-cp39-abi3-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ccsds_ndm_py-0.0.3-cp39-abi3-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d9c77cbc6e8e450bd2a155eb406ac883cc958049c99fd8a847c02864ef9cfa75
MD5 561dd9d15d37691a20b379fcb995a1b0
BLAKE2b-256 f6e0b4adf9be80d4f25bc1c0fb27ea45a080ea55bd800ba1fc3bed5e37ce667f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d21114f88cf74183912540daac03e23a460cb2836de9e0ecea4bc261a0b06ff
MD5 2d362f08c667b723fe5b228733aa5a7d
BLAKE2b-256 17168a3c20aa6e7c1c80ba9882be633f7628ec85d64ada73d6d5ec47acd39b21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9bcdea8cab72955dadd2951c1c935103c38618e184b110a846bd2db74015a34a
MD5 4d5c5ee9702718af186f1fa2a1b73ded
BLAKE2b-256 cb05d4dddbc817a6c3f3489d049ccfcb58742540222c6f2100a6d87e60140a7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2e1f9d7ee30034d98c0bc3438ea55d6da2e8f8424b5adbd9000f3afbbdc8830b
MD5 f0b159c2153bc5b7af0b6a35354e8cd3
BLAKE2b-256 b34947b96bfedbd00c409978f7328fce5077373d53408f0c165ae6431814a7b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccsds_ndm_py-0.0.3-cp39-abi3-win32.whl
  • Upload date:
  • Size: 2.5 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.3-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 6f2e746f71cf105d4b2ca77545c8d268acfd5b2d3863a6f455639a5c32b156af
MD5 26935769d25d09484653736522117859
BLAKE2b-256 6fc942db2d2972a9bc55f017b12a162e9c80ed8e34b920271c491a48df6737b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 244de77e98e900b325a2b7e7605115c9e396cfe2f92d6c71bcd9837f213888d9
MD5 284a9ccd63baa35bf488a9215e3b9b3d
BLAKE2b-256 e4b5017775f2ce4be1ff64ef2ad1f79112b276382be1941e84205ee0bc2d0e01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7d79b17d54792c8a70a8392dec8457c46592238bd039e13edd42635f1242dd27
MD5 f155b430cd87afd344ef4061952013d1
BLAKE2b-256 0507cecac9e4a6803f47e2e7afeb064d7daa18000db0bbd5d98e0f35f8ff4010

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8680a423f5ed63517303f29c14b6734439e421382a8724022283175d28bb966d
MD5 88286477ece3ecdd4e6b5f00bec26549
BLAKE2b-256 a2cb4ff39a71e2e633096197a0e539c1f2bb97a8c8c1555a752a03f0e81adf4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 657398eb01546597a30f2474b0a9b5ae1f2dfad4548c47800b8ae6bdcb6eaee2
MD5 a63685eca9cca62b0ac019f03ef391ae
BLAKE2b-256 23f01eb4a092f7175ad59b9556d83d6407942dcc3e75ce4af92f61d484820ad7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0635608cd3d5c243b997cc0e57e9cd4ac62ffee665ec55fd89a2a356b08d80bc
MD5 bcadb8474cff6ddbdb8c6ddaef779a04
BLAKE2b-256 a0da454dbb00180d99ece740c55fe3a00203c171126b87369995ec727a8057a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f9964caeb149838ffad60fea2f9111b17d3d1df2a511de659aa23517a8f7cf41
MD5 290f218e686bce9bc92169952c0b9774
BLAKE2b-256 b283fb2d7f8d62d8eb09d4af193edf47e80c5983d165cf29d03725d6aa7dbc4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5cf1ff2eb9c75cc4ac9966c633e329498e41879e959cd1df0af164aa669076dd
MD5 dfca1dfa9998f7c6dfcbbe9fae2b1065
BLAKE2b-256 c91766f80ea65d0e0f75aed829c3818e4af594eb8dea590cd7aa0f149e02977b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fb75e366b07abf59db6d78884972e9c85cd21f5b79ba68c2002bf863aad3220b
MD5 b772245196b5c135a40a77550159a22b
BLAKE2b-256 e5992197bc4c64c004a297a64ae99350af759efb3d6105ffef7b904a9f862980

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8761c0825edeacda7c73e1e8a3d4e3cc25bca067f8bc8f2ed5d9e8397aaf0e45
MD5 bc611468c3d938b76bb9f695728b8018
BLAKE2b-256 d48761225612f51d0dd6fc0d0b72a808c29cbe43f63380091d1e1a688daa980a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 6cb9bab2049c6d6b92597a5bd6c88cba6abcf8a4c0ce406777e2322742848cae
MD5 d6d63545e4282530b6d5e0c2bc30d959
BLAKE2b-256 4875d0a01dc8adfad7943f90ae344db2e1c222d184c534e06336a10dbe2deb9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffa62689a7cbfdf8bb849ceaa5665bf31cb7e5227a962da18ca4c1c2beef0d41
MD5 481a9f9ad89a5db33cb4f12e1551fbeb
BLAKE2b-256 30f108d0564f332d28a696b6693dad5f2568efc8acbe79689b86a6b10b996e8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.3-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e1239a30036c47c6b76758bd7f5f05af88de10af3f22c6b2bfcc2c0997ae07b3
MD5 2e1021d660896425601d4f6cf474d82d
BLAKE2b-256 acdc8c4c02fbdbed671c3fdd37b62a67f6d2fe8403feb359345552b362ae895a

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