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.6.tar.gz (554.9 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.6-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

ccsds_ndm_py-0.0.6-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (3.4 MB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.6-cp39-abi3-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.9+Windows x86-64

ccsds_ndm_py-0.0.6-cp39-abi3-win32.whl (2.9 MB view details)

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_x86_64.whl (3.4 MB view details)

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

ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_i686.whl (3.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_armv7l.whl (3.2 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

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

ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (3.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.6-cp39-abi3-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ccsds_ndm_py-0.0.6-cp39-abi3-macosx_10_12_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.6.tar.gz
Algorithm Hash digest
SHA256 ee457d8d9d86394455c640f24f473ee06e1aba070e412d9219111d042fc38698
MD5 dd035685337c08f109a2163b04c7f1f1
BLAKE2b-256 4430338068615419d44dccd4fbc54064e5b856619b4b72b4ad392f0f3a7c2056

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61320e07c18bc739ca580d322a423d70fa68a8c740542ff4cfd1f234194d2a4f
MD5 22fb9a0f431739b5524c1ae9c32228e1
BLAKE2b-256 2cad04f6378caf3afcf9d61915286fecac88d9aa82fa458f34b0f8ef78c8f414

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 bcc2890378536e31f35bd0a59471c7fbb58c6ee68bcae582bc5bf3c0526b4339
MD5 561fc5ba94892bf0e28c9b5d728c2907
BLAKE2b-256 9f286823c043b647641646846a35d6a404319f095f2e3cfb25d74621823bdf58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8b6a9960d3903482664a0ccb9d0031336a93d56fa5cb3f3218664979c1f36e9f
MD5 482ce9eecef2dda95a0ab349ef0f5efa
BLAKE2b-256 afe7fbc9272db078b17b45276dbe979d9b1ad7d4e46d49eee0543d9151b986c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccsds_ndm_py-0.0.6-cp39-abi3-win32.whl
  • Upload date:
  • Size: 2.9 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.6-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 3dda15817efc75a8e1152de1f880dcc3c66bf2e9c9ba4557482e0bf0485ea1bd
MD5 0ead5fbbe72ecc9a552a65ab8825ad2b
BLAKE2b-256 99db2559fe34faa519a047a096c06403bef18e13b9063d650f3a1f8073b99369

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a15b392d76af787de0ca409a90098f606d8a96e0afba17a2b409f30b379853f0
MD5 c2ce53486a3d3c069e36d9110b9c3140
BLAKE2b-256 51b969985bbd04a8a2f45f24337d2dffa998068678634c8447d8ac5cfcaadb78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c94cdbf144dacbceb58b537047c13734036d441aaa49754452d388d1012d4bed
MD5 9252e7b10b5b44ba7be89adf73710dc3
BLAKE2b-256 4e895f5ef1da3c374c25aecc6fdb9c423f974913845f265cfd235a7b63eb7204

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 44d4c662bc41d1442d35ecc3704186c1733f9615758273b9a233be138b8230b2
MD5 55a2d835d0f1d0002c68ab7987407690
BLAKE2b-256 18c67dbdadc6db108448f1584eec9b2f3a41b1a0a10836ed77d8553637dc43af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9a910acf6c4a0def0889022494a647b440403977ec9f6c0f33e0eaef0e01b5bf
MD5 5169e1b57c49bc93fba7d24c91cb9d1d
BLAKE2b-256 17301345481e3430277654d6cbff0ff140c386af0c209284941f4d12891eca58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1069be1714565f7f5272cd136a6f1923d35d3b2bf30dd8f0bf58f4a5e143a5bb
MD5 f1eba66e7de0be7f3d897779925e0c76
BLAKE2b-256 e4f33f2700907939c6190c75218f5962fee8351252a9ed1d4cf5971020206cf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ceeac57f6fc3638981a8ba6330b0fed490a2fb73db3db8d02fb95a101f6dc82c
MD5 3863e255a46b81a010a6a979fc1461c6
BLAKE2b-256 b0763ef3fac9d611ead6ef7e5a83429798d6d8364f6cdd0aabc45e59177112f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f62a450785b80a165e1a2e77abd86060fe6194ad0b7b65dff57a554572444d49
MD5 ec10aeec29ca534d1fa1b5e1633d779d
BLAKE2b-256 5cc31cfefa93dc90e4272e72d913a1da5d430ff2e1951047b2473cd895662f5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4fbf230ca661902825566f91e7f051fd1c5e78f3e4ace96cac1bfc106be7e540
MD5 54f3463c4ec8125f0bcb14e082e2d453
BLAKE2b-256 743cf2bb01c9139327292a7c1169cfe2ed353d2bccdef6f96ff5f1ff8889af1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0b51607d6ee82637889f62fe0698d7b34924366ef832ae4cea3cf0b2c2a934d8
MD5 5bfb552ad6c78231a250df867f2894a7
BLAKE2b-256 79dfb377d5f75c488280a63ef142832363035f3dabbd33970addafec8efd85b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 4e8cd70fbd485611df35dbc1d24e2ea653d4d342b481523e9969c195d806937c
MD5 d6c0c5912d45b298d074fe6826471d60
BLAKE2b-256 deda0cb71a62a76deacbd0a72579b1038164d29a150fabedc658748c5da26903

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e0158349a1e437a7a7be88d326fad04dd5de114d603476ca7af2f4bab43cf96
MD5 3afa8709efe522899a7497bf6204c5b2
BLAKE2b-256 ed6af15d281049ab1fd326cb9a7c7c8e5feb63eecf6a15750e3bba4075170411

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.6-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cbddb010c28423a353dd250693ff46e901b2b5cb083a2ee525781b05fb57509e
MD5 f9676a5561a32fb9cfbf28d138ee3fdc
BLAKE2b-256 aa1312ec321b8eeae89d4d68021345805dbd6e06964a3b15facdde2a854d66f8

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