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

Python bindings for the ccsds-ndm Rust core, for parsing, validating, and generating CCSDS Navigation Data Messages (NDM) in both KVN 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
APM Attitude Parameter Message – Single attitude state and attitude parameters
AEM Attitude Ephemeris Message – Attitude state time series
ACM Attitude Comprehensive Message – Detailed attitude data with maneuvers and covariance
NDM Combined NDM Instantiation – Container for multiple CCSDS messages

Installation

pip install ccsds-ndm-py

Requires Python 3.9+.

Quick Start

import ccsds_ndm

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

if isinstance(msg, ccsds_ndm.Opm):
    print(f"Object: {msg.segment.metadata.object_name}")
    print(f"Epoch: {msg.segment.data.state_vector.epoch}")

    # Validate (raises on error by default)
    msg.validate()

    # Serialize
    msg.to_file("output.opm", "kvn")
    msg.to_file("output.xml", "xml")

Features

  • Type-safe: Strongly typed structures matching CCSDS XSD schemas
  • Auto-detection: Automatically detects message format and type
  • Validation API: validate(strict=True|False) available on message objects
  • Native bindings: PyO3 + maturin wrapping the Rust core implementation

Documentation

License

MPL-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.7.tar.gz (507.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.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

ccsds_ndm_py-0.0.7-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (3.5 MB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.7-cp39-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.9+Windows x86-64

ccsds_ndm_py-0.0.7-cp39-abi3-win32.whl (3.0 MB view details)

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_x86_64.whl (3.5 MB view details)

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

ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_i686.whl (3.5 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_armv7l.whl (3.3 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

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

ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (3.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.7-cp39-abi3-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

ccsds_ndm_py-0.0.7-cp39-abi3-macosx_10_12_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.7.tar.gz
Algorithm Hash digest
SHA256 b5ed9388d77a22d8fb8bfccc221f166d24ad14cabcbcec09a743e1d77a8db37d
MD5 0bef97f58fb3aae65db005ba8a572ce3
BLAKE2b-256 fa4b49561c48b266061498cd8dbed91671405a2d5cc4c55700764950b9533563

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddee4fb780a3c1707c4c5d4957746d4ab0d5051cbe49e9c5c469049e8bea64fe
MD5 9af93ff9467714edb38f66b6688c13f9
BLAKE2b-256 44d56a8445629e1fbdd5a56390cab76bf9606da7d4bd5684894a3ecb73334c05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ced7a1af9b7b3cabef3d8e54dde7a84b84e87f88c4e86280b68770860ed756fd
MD5 cd8c6cf3aee7bbcf6f0e2b189401d412
BLAKE2b-256 5f51098a055dd8349e22dcf4fa51090a0cded1e5321ed17c6cbb5ec0a8eb201a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8e5be5ea77e437565fcc84307b75b00ebd4aed2ed05c9dbd672c0875f466bcd1
MD5 b282f04d61e65a125eb30984e97c6fbd
BLAKE2b-256 99146a11c7b6453c4107e9fd564388a2c62f3c24e37de04799f322f989134883

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 6d85e065585adde9be5481f4f49ffdb10706936a6b5f50105f602cf034a0d32b
MD5 fa534481de6c488ef8c06c5eb61df310
BLAKE2b-256 87f346984beb12d46f91a18baf8fb4431e4e006e032e017465cea9d894053087

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8feb1ee9b303ce8600108fe57b562fbf6c53437b0108cede1022d8ebd4ba8748
MD5 01454a1631950490c3b930b0468f9f98
BLAKE2b-256 404812c06bff376bcf131f0e733d74253f953bb9c1b2fe9e664364ed4cc3f90f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 86d09d09a096c028892a9b937b93b0829e817b7d063db6d42a67fb42aa675cf3
MD5 965d1e15eeef6bdc77d35089c13b3de0
BLAKE2b-256 b1c0d471d1cce6f5daa76778082c53dc6fbb8d49c92d9242edfdc73c171221c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 a0924799f80ddd2a9e828cb09f3cd432d1b00e640d9fb4e35a9d06e287c7c0f5
MD5 72deae7151ff1515198df1a4bbd2afd5
BLAKE2b-256 cbe12f71bfd38ddc73591bdd26f724ff886cda2a85f9115cb1565897efa251b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4a6aa021aafbdfc82113fcc73075a0a91cd9197e16d53221ed6b6475a79ca67
MD5 91c9505e0678af81b9afa5d52d3ba35a
BLAKE2b-256 110505b75ccbb771b9b1174e5600b78ffff612476b1e632ab22a157f2fbccf7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b774e5f52bbde9a89398c66402f1c69e4da5c40e05c215263493910adeb05d7
MD5 c9a584b88f97c88ebc081dfe28d10380
BLAKE2b-256 c657eec005a2b28f73964c0a972a7fbd6be91d7968a518454474e5987ab7015a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d38e1d0281112c8cd70010ecc0b376e8bf692fa3661f421db25ccd7a842f3737
MD5 b5fe83f0f879308cf73e12b10e1f0fba
BLAKE2b-256 d2e80ba485f8ddb06aeee1d6259d7e357cd5db3e51f83020051e9e0d7de189a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fe804abe48f9fe3e9f1ca9cc0e0a31e70dc2861ae124ed7963104614d0f7a6f9
MD5 0d25d9f2701d01c0eade474c1d7a0833
BLAKE2b-256 b2b1a67497dd18687daf2c05b5df9ead31238ff98cf533a8750660b2b4620d9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f3dac51a6201b3dde4ca34fe1ddcb8807a84ce0da694d01d617de6eaf03b5cce
MD5 c65a47d131b81bc94e620117094717fb
BLAKE2b-256 814eb8d275aaab6d251920e0c803b96426c8a9366d9ff79392b0b4dad2e4a2d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1454af16fd0b82ba3fd99c6963e0b32fc1dd4c9a3324a6a6910f97263017e7a8
MD5 899bc4e295349be753197579f278eeb3
BLAKE2b-256 0ac0713c9abdabf1c2c608b4080a02eb47c2ceb79c74e3b10537eccd84953775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 e21af2c05bac5630731183e7b0cf7d4f5dc791b3d6c1629dc87a889046bb683a
MD5 ecc45bbb70bc15c2ad4a26b5b780630d
BLAKE2b-256 1b1ecb2e8db81c5f82fdb7de925176a1867c7335ffc8eb47e954b65b7d43cb58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27ef38872efa13fc9b994c5dc9c918a7c2644e391df45c7aa77bc34cc6566a76
MD5 504650851394437572e571640a290075
BLAKE2b-256 9492ed5b8eced74f362ddd5d0ec6a9e929678586d964c2d3e2532f0c2a38438a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.7-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2f62d3284e62acfad611b5b9ffde085258c668ac45907a6dacbad601f8dd103d
MD5 61002da31bca7f9a67276c845fb6fd28
BLAKE2b-256 b68fbdf664e7f32b3206259c3a8f4fd070102e3d819fe273c54ac1bee7b58ed9

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