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.9.tar.gz (515.7 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.9-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.9-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.9-cp39-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.9-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.9-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.9-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.9-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.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

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

ccsds_ndm_py-0.0.9-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (3.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

ccsds_ndm_py-0.0.9-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.9-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.9-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.9-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.9-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.9-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.9.tar.gz.

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.9.tar.gz
Algorithm Hash digest
SHA256 068caa20a992c72b14ca0d8216e105a6d5f03c2a5c9e97e6a9f28e2e53045aa7
MD5 8f1befe5c65112ca6f883a96d8a36be4
BLAKE2b-256 aa47377bf2dc2d0605fa94fb7b17240d983a03456dfb82be4cf8542eab02f659

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa23d001a2d6fec156486d1306e0af032a2a02f1ea947c98e37aaf056a65a1d1
MD5 c78054701a1dfbdacf2b7b724bccefd4
BLAKE2b-256 04bd6b58dd91a239809dc50af8bbdb7deffd5703ebe0f9323329a549bc893072

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 dd966d80b9aef5d0a67bcd690b03824dd92c848eb58adc3e22410966f0822536
MD5 18ea2dfb94762b8d5cb7c90e24736371
BLAKE2b-256 b4e8e329e3725540dcf9d4e7a5d58f0c997f42c8cc83016186643aa524563fc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a732ac25c5b0f814545eaff1e6aa811da2ae607aeb02cb11cbfa222b95ae8065
MD5 138bebe1d07eb0efcae7575075ea6443
BLAKE2b-256 84c9a0815b79eb22a328d44d2e6925311824fd1f16a6ae641569488bea108637

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccsds_ndm_py-0.0.9-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.4

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 3d02f8318510b62f96c0b31632ac4852f082de6e1b067ebf8ff29c412b22d43a
MD5 37b11d86db0aaa046722a556695feff0
BLAKE2b-256 437072d1d7c8cccc1fd89075c05624163d7d692c0e67b906b998885f756160d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f0d6bf3b210b001f9951d81b5ba464e7f7ee4417248334b1f1778311111e83ac
MD5 9607fd4858bb61e57cb0ed7140fe4d22
BLAKE2b-256 941bd169ddd3963fd7d9b0fd65c9d31214ed98117d5da97e610202f540aa5117

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e14ca668779a22baf69255af6a3f9fb75cd843280cc9b197a5861463cade2208
MD5 adc580e6c1bdab67b367672764a9cae0
BLAKE2b-256 dfd91a1d403a5e0a804cc4a72c29c352a127f3229e5b67490fff0a4c5ff0df7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 41a9611a4867297b8bebde21687ae11f772fc29d6c62e05057216955664438df
MD5 c77a79f590a2b5a33935ac9f79b3db48
BLAKE2b-256 eb891384e033a0b7b3f456aee285a47a11ff3485014c545866075563c6d01e01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 976b937a5c8631564ac35d73e7a64a40dfc19f4d2b7929467eac33867a7be303
MD5 12a7cc459cccee930cf9a73528c4c913
BLAKE2b-256 fc27fdebb7fdd8da704fa39f49d67a3ea6f39e27fd9bd095bc5c7697b5788e86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 56b2d7f46e7fba6f56dad2a27dee810148ac7d58cef756def2380f1eb06efc46
MD5 9862dfee1a96d007ebb870a5423e58e9
BLAKE2b-256 2d0ac3de1e87541de15ee83b4c56e0bb986d9f0c86f309b405fbd77055fb615c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 347e3da7a9af218e4e16a948b955d0a2953faa583a382e7740e896b367a2e605
MD5 dc0ab91b79e4af4a2537364d07f2e0c0
BLAKE2b-256 664f45453509d6c6e9cfdf8ba12c9223b9fa6a4a532b816d4977414011ac00a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d91d4b4215a979a58112c2ccdafd0fe0b27a1e9363e3c90cd5cf14985f135d33
MD5 b97c3d6cf7df41cf6d6afc3268d4e820
BLAKE2b-256 e355e645759416cc661b619b8658fdc19c1df28c4512fda2a3484c82b89a0515

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d0b841ad0ecffc54206cdf03e70ff8b59725a912578814db892aef07e60c809f
MD5 b858b16a1a27b6d9dcd0abce40ea5207
BLAKE2b-256 b67ce7c0f62c7334d71692f176da2a6ec794f8fa99654d4064c69b71655a57a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2823d4e06aa3ef843f01d28e4d5056c9294895d6acfef6a66d599c52baa7d7f6
MD5 b93f76f4cde57d1a0f275683d8b4ce70
BLAKE2b-256 6698d910b0b500c46325580883e4aacb4b9744e8f27051c7161fa53a9b4f5aeb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 d601782a86a6a9cf88ec78a124f63f78d8c3c37746b7d45eb7caf407360b5017
MD5 9375a8d2fa2bd5c61ff45dc123c62a2c
BLAKE2b-256 3da7b986ecada1a69ab7b2d41bedc44d9a4c35d86bf260e86ec345884633d5a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 865e665e98de20e6fc990616f60fa4cce74d498d24328514443e0df8a608677a
MD5 b94500208ce573caa1bf3f843b8e2912
BLAKE2b-256 4ea0145fb94d031d9a7b7231c89092094d3cf453a259c5afe3c622fd270add21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.9-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a89bd46d6ba8b3fb496746458ebb0244a31bfb9b6673264bf63f41e42647ec2d
MD5 668b6ea4c3d741f1f0a40a57e839f15f
BLAKE2b-256 19b54922f3c822d7a5d19b8adafc8206fa7ac8107376699a52bf331e997dd0c2

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