Skip to main content

Open conjunction assessment: CCSDS CDM parsing, collision probability (Foster/Chan/Max-Pc), SGP4 screening, and risk triage — pure Python.

Project description

kessler-toolkit

Open conjunction assessment for Python: parse CCSDS Conjunction Data Messages, compute collision probability three honest ways, screen a satellite against a catalogue, and triage the results — no MATLAB license required.

Extracted from KESSLER, where the same code powers a live dashboard over the public Space-Track feed.

pip install kessler-toolkit

What's inside

Module Purpose
cdm_parser CCSDS 508.0-B-1 KVN CDMs (incl. RTN covariance) and Space-Track cdm_public JSON → typed Cdm
collision_probability Foster 2-D numerical Pc, Chan analytic series (cross-check), covariance-free Max-Pc bound
propagation SGP4 wrapper (TEME), close-approach refinement to sub-second TCA, ground tracks
screening Catalogue screening: altitude sieve → coarse scan → refined TCA + RTN miss components
risk_engine Operator-community risk classes (1e-4 / 1e-5 / 1e-7), urgency scoring, recommended actions

Quick start

from kessler_toolkit import parse_cdm_kvn, compute_pc

cdm = parse_cdm_kvn(open("conjunction.cdm").read())

result = compute_pc(
    miss_m=cdm.miss_distance_m,
    hbr_m=20.0,
    r_rel_m=cdm.rel_position_rtn_m,
    v_rel_ms=cdm.rel_velocity_rtn_ms,
    cov1_m2=cdm.sat1.cov_rtn_m2,
    cov2_m2=cdm.sat2.cov_rtn_m2,
    pc_reported=cdm.pc_reported,
)
print(result.value, result.method, result.pc_type)
# e.g. 2.19e-04 foster-2d computed  — with Chan cross-check in result.cross_check

Every result carries pc_type"computed" (full covariance), "reported" (source value), or "max" (conservative upper bound) — so downstream code can never mistake a triage bound for a measurement.

Validated against the closed-form isotropic solution (<0.1% error) and Foster/Chan cross-agreement; screening results are triage-grade (SGP4/GP accuracy limits apply) — not a substitute for operator ephemerides.

Apache-2.0. Orbital data used with KESSLER courtesy of Space-Track.org and CelesTrak.

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

kessler_toolkit-0.1.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kessler_toolkit-0.1.1-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file kessler_toolkit-0.1.1.tar.gz.

File metadata

  • Download URL: kessler_toolkit-0.1.1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.7

File hashes

Hashes for kessler_toolkit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 32439fba1efcf6eb2dc1afae311d4896aa0d6765227e8a11b253864e606667cd
MD5 64be8d1d3f0e8fe8fc1080c22f0a53d1
BLAKE2b-256 e0d3800fd122a78d6f0db681199a679bf6f875191892adc14c083edd58bc6a3b

See more details on using hashes here.

File details

Details for the file kessler_toolkit-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for kessler_toolkit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1fedf908933074fa3b7a5c6a32dbdee1427664e4051d26d732d4883b48bb365d
MD5 7364a6372e6b486044c76cdd7c46e93e
BLAKE2b-256 f1cb673ede16664458ac87789fd197c0c3c57859631dacdbf13f21c430ece0bd

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