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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

ccsds_ndm_py-0.0.8-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.8-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.8-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.8-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.8-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.8-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.8-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.8-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.8-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.8-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (3.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

ccsds_ndm_py-0.0.8-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.8-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.8.tar.gz.

File metadata

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

File hashes

Hashes for ccsds_ndm_py-0.0.8.tar.gz
Algorithm Hash digest
SHA256 f7f55e895e035866083af2a018d3db540755876103181be94d1ae767126a6325
MD5 f8171aa0f928fba243a3d438b231ee6f
BLAKE2b-256 1aeead8ea3b09b8c877ac20c6abbe5ec5c91210b8b35b1df93fa274ab5d9d453

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0e96ecaa7cdec1334ce3bd6b7d502213eb9541c996037e0c5e3fa6859c8d6d8
MD5 c56d7152cba94b3897b36719173869f2
BLAKE2b-256 9c9a19900f7f50cbd39b1eed1e31b890a55fb22fc975d854c4fbb09fcdabd770

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 46c008ff38f45290484f023413e151be297e555dc6266cf873a68544d3d0f8dd
MD5 f21445571f062bff7c0cc14503f90438
BLAKE2b-256 25784a6b34b42188149881a4b680de701d58cdbc71ae3815ba68652000ff4002

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 31303361b14121d5d5a3f961a5f3cc47e7c099ceb7e2a0cad3af57f25907baa5
MD5 76ef4e9782799730a0acc7570f4932b1
BLAKE2b-256 62efab09b6c82e5c5410843e2637e320cb86e284d9659cd30c60607b78a73416

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccsds_ndm_py-0.0.8-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.8-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 cc1e5e8767b13d89e32d7343f0468501e61fb0b0cf76405857d2b71658f6e3e5
MD5 d7e7b8c21e01f6001b586c3a0c820708
BLAKE2b-256 944cebb49fb9afd6fd864583832f4fe66c5f25b4f0998787aeb5577947638ce5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fb271a888c184caf7232a6137ae8595589c12f1dd0bcb9a01d4d6b3b921ba32b
MD5 bd59751ba6c1d670ec1b451c8e07280d
BLAKE2b-256 5d287473bea4967e7d9b4cea12acfd67b8371e4a8fd3e8329f680e1d22da5647

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a102e324648c80be87f73b1e07cb5c5cacdf796af1e22b344301544f43b38495
MD5 84dc0203c1062ed37b5d7fc4e7db57d7
BLAKE2b-256 2d948e8e4052af04f11070918cdee5d8e51392367714e48748e31d1b88658711

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2456986546851810e445a567b958cb867b80d66a9627415d092d14b00d93dd4c
MD5 5f6f5c0ff3994a955ea924119d955540
BLAKE2b-256 ef5e2884213b7a79d4d2bb46e461431d85e47cb16c8949330494eb48f4c1fc79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 525ce50f1f5814d8005df5e06b1f51a12a1b69f331529bd94950ddf43e673039
MD5 0d0b06fd7059a7d19c56450575cd809e
BLAKE2b-256 40266da0519efbbc380be3b4e1653809778ffe2811ef388f0ac98b6dd97703ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0008ad6bd184b8290f151e8c3424189becb67c2dc8053433ae6ae6cc5057c636
MD5 b3b65607c627f59d506570105442ad06
BLAKE2b-256 a836fd37399ba197a48a2867f3d2bc1655c1949660fc2ee16fb95d37ca7603a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 05e141c18cba06e1d09dc64a4a6821ad154fcab4e454d5e6c11c773b838f4174
MD5 3de984e66ccce11c3d9b032bc325c9c9
BLAKE2b-256 4fd459d04d05494fa1d1393489e771e1b004db61bbf0c06d1d52a68165134c1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 32f5e864854c5721282d33c8c0661f1beb8a0e1e6a147caca88deba2db28f853
MD5 63555ffe44971c80e7799dfcbe4f98d9
BLAKE2b-256 083035051d96ff56006cd8be7cb00f2727a1cbba7d6c70ed389a38eb825dc463

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 462a918d7344129b3a0f9ef45f69a3022065d07334a1a6835e9db8f4499cc7fd
MD5 9f5d3b73392d4b25b249688288559b63
BLAKE2b-256 aa70d07c9018a98e559c99f19abb4acfedbf70f4de569f86fd27375f5d4fc57e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 72884ff3ed9b1c4a6b024e87d1d31d662b5829b2ef114cb7f3910db98ee8fc32
MD5 16541e0cf7f96daa2eebdba7bb01a12c
BLAKE2b-256 63bfbfa37966f0fe211cfe808841243cac5ca7ad4f6a7403cfa091836a2719d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 f4fdaf5b3e410930d21167dba9758fa479682452fbee05a2c0b1842ecd55d7b5
MD5 e2acccbfb6350e3f1a527d6bcb3546d5
BLAKE2b-256 6e78208855b3c1968fec9f0397e7fe06330140a17da8159e628404bbb884e585

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb7cbeb34cc56dd9318a53cf5f62f29d4b246d11068856735dc4e62c17a29322
MD5 712deb2bd2e6b496a50919e1400bd98d
BLAKE2b-256 354da90cfd98d4927755db9af51932462f0e0d74ce91eac6348d83b62f14ef5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ccsds_ndm_py-0.0.8-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 652683f3e17b6ea2c15870a0c8890e2aa83024cf5eeef29e6bb471e7dc55ea99
MD5 04160337d2494776ef488ea37c3ba38e
BLAKE2b-256 d2283cfab5e47ca3afa12a3ba0af95d9aa94145732cfe576e03f68d776a75b3b

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