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.5.tar.gz (550.5 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.5-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.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (3.3 MB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.5-cp39-abi3-musllinux_1_2_x86_64.whl (3.3 MB view details)

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

ccsds_ndm_py-0.0.5-cp39-abi3-musllinux_1_2_i686.whl (3.3 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

ccsds_ndm_py-0.0.5-cp39-abi3-musllinux_1_2_armv7l.whl (3.1 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

ccsds_ndm_py-0.0.5-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.5-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.5-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.5-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.5-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.5-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.5-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.5-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.5-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.5.tar.gz.

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.5.tar.gz
Algorithm Hash digest
SHA256 7d1379c54755bc08c72a36f592c9e68cfb069395be3a733bd97f6fd03b73dda1
MD5 d5bb51bb7415ccdcada7d923e0ae7ad0
BLAKE2b-256 4dc8e9f73d6f45fc529d9809843e17c99adf4a8ebe9ec863837d6176a69047bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c86866517719ff71a0622289b99959b44c3dd4d5c47d223e6562f8e3ac4fc0ee
MD5 7cc7490f047b774dd4548c2ec2013ead
BLAKE2b-256 5ae2626e3ac793222afc1eed58d2b7e1b321f237a0086347db785b433f9ec799

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 61c704f26c560fe19b1054dbf7249c6bef49128f3c00e8626ef7435c6198ed08
MD5 9dfb3b651627b38b4eeb3f5429a3e5ae
BLAKE2b-256 be019d3fb56d10c709cf6ffba43050869739fa2752e528a7b6aea5f39d569311

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 07bf45e0364c751293fd6be66dee8d7527805fb51d017f357a849a74e15c8ecf
MD5 86703a7f55df99a27f82b64a6687c7b2
BLAKE2b-256 25c592e1fc62d45f43bc243b7a4b8d30c9a49f0bc4515ddebaf9202b7b4de96b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccsds_ndm_py-0.0.5-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.5-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 93b1eeca256181054794326689cefd06b2be341c6f11df3b0d15c149e5bfbb2b
MD5 0c33502508ccaca708cdca971ffc93e2
BLAKE2b-256 26aeec65c97803b670b1b1f574d4a2378fafea3b4ebad862bb1454b304fe5f64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df4e1402f4e6a05b4332023fac539d723165a8d4a2257a9374cd5f2730762a5b
MD5 c4231fe313a49ea22599a357f0e65c35
BLAKE2b-256 8479a2ba2c9e0b73b643bd39a623e9ae260e535945e5477ca102d81affad06ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 90dc187fdb927533b0b4fb2a2d5303fbf61cf7a3a76361c8b58e5ad2e1411624
MD5 f0ba8d11a059d62f0e511f5c452a0225
BLAKE2b-256 4c0136dbc1a331356a11782a8acc3a235fcdd5982704356f3e3ebaa320681b31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 95caf8edac06b51dd536b9188ccba1f098dee0e8eaaa51f3ae9257bbed26b331
MD5 e3509228bdca4905953d77517936eb01
BLAKE2b-256 1ab0c43878f507afb1ee0fc91561c1a468049123987613d796f25f7674334600

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a6b145bd30fb522e1276bb30398f715698839fbcccb11f3fbf3432b655f9cfe5
MD5 6526f208a70342238398457aca028782
BLAKE2b-256 8869617a9b01bf9fdf910b914be4205012ecbf1a0ad59637208060ee3461faa5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5c5cc8e4ceb34820cb0a63618b6eaa8f114e69634c28d68e814e013c4fc56a6
MD5 883ace42a47247ad8b0a79f65642f1db
BLAKE2b-256 ae09bf774ddf2925ed9b48036bcfdf06ab4df4690ce5180c324dfeb9b15bcc37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 950841a50ae29b93d11f0a6d6e8ff3468e213b4ed3cde69c117f1a93e99674cf
MD5 8f1d5ea6bef830dc6e085fff4d1c214c
BLAKE2b-256 fa77dafc9945c79be75029f17936be65e74e93008d7ffd718536b8c36962b784

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c1563d98493188c53f55aad44e8948c5d252b71c277db4727af3e261d33792c3
MD5 c36f06a85f3e79be1750331a9deb297f
BLAKE2b-256 fe18fdb7f8cfae80809685697649bf6173937335650a96061a4234445c70a7e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 86ca23a0fca7bbfcb6850c71c23c11915db862555c9771c089010170f7444d5b
MD5 9a76d85701557e31d2967fb2163049db
BLAKE2b-256 0c32ff98fad2a5daf3d0fa1a03a36eab25b655ee61688ff599cc1a82d18e412d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 decd36254e659d42a044c0eab919182b33b892ce7cd40938a27d88fc70487ef5
MD5 be810c318f1806deb715972b2d58d770
BLAKE2b-256 5cfcce0ca386a323f7dad0ca0f1291038d2858b47dc2ebcfe7df8654dafa749a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 7a5e6ffdca6fae6686e744255f14623e5112eea43f9b50b446efcfc7728eb146
MD5 02ec9bdb667ad2fd202f05bc44723e49
BLAKE2b-256 27dfa0f24d49f3bccf2f80aa0fde7a0af7317d912931739ccf73bf5f3cf36c1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efd2fa779523918ca895b3d3ce0b0fcaf6274cd4a438499064702e77f574d25b
MD5 38786b5b91ef812fa84e16a4872c9c52
BLAKE2b-256 1b3200bf033e3cf8f1708931f9c803ffd026d0f67532aebb5fb31cf97c41e40c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.5-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 65a04d5a015ef924cc15ac74aeb9510febb63c2d133a80ac04e99f9753d80af7
MD5 02334cdb59efb9aba2b75b54912481a0
BLAKE2b-256 78459f2b1d2132a3148a77b05e9661f79fd78c1a52c94f0a5a41205ed11e1643

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