Orbital Uncertainty & Risk Engine --- Satellite Collision Probability Solver
Project description
OURE (Orbital Uncertainty & Risk Engine)
OURE is a high-performance, enterprise-grade Space Situational Awareness (SSA) platform designed for orbital risk prediction, collision avoidance optimization, fragmentation modeling, and massive fleet screening.
Built for mission-critical speed and mathematical rigor, OURE processes Space-Track Two-Line Elements (TLEs), NASA CDDIS data, and CCSDS Conjunction Data Messages (CDMs). It propagates uncertainty using vectorized Monte Carlo simulations and evaluates Probability of Collision ($P_c$) using Foster's algorithm on the encounter B-plane.
Key Features
- Multi-Fidelity Physics Engine: Native SGP4 propagation combined with a High Precision Orbit Propagator (HPOP) featuring J2 oblateness, Solar Radiation Pressure (SRP), and atmospheric drag perturbations.
- NASA-Grade Integration: Supports parsing NASA CDDIS CPF (Satellite Laser Ranging) files for centimeter-level accuracy and implements the NASA MSFC Jacchia analytical atmospheric model for highly accurate solar flux drag modifications.
- Collision Avoidance (SLSQP): Mathematical maneuver optimization to find minimum-fuel 3D Delta-V vectors that mitigate collision risk below safety thresholds.
- NASA Standard Breakup Model: Simulation of hypervelocity impacts and debris cloud dispersion.
- Sensor Fusion: Extended Kalman Filter (EKF) updates to simulate commercial radar tasking and covariance collapse.
- KD-Tree Fleet Screening: Distributed epoch-bucketed $O(N \log N)$ screening of entire satellite constellations against the full NORAD catalog.
- Enterprise Observability: Fully instrumented FastAPI REST API and Celery/Redis background workers, seamlessly integrated with Prometheus and Grafana for real-time physics engine throughput and risk quantification latency monitoring.
- Interactive Visualizations: 3D ECI encounter geometry and 2D B-Plane cross-sections using Plotly, wrapped in a dynamic FastAPI + HTMX Operations Dashboard.
Installation & Deployment
OURE can be run locally via CLI, launched via a lightweight web interface, or deployed as a full enterprise microservice stack.
1. Local CLI & Lightweight Launch
git clone https://github.com/h-rishi16/oure.git
cd oure
# Sync all dependencies natively using uv
uv sync --all-extras
# Run the lightweight FastAPI + HTMX stack locally
uv run uvicorn oure.api.main:app --reload
2. Enterprise Stack (Docker Compose)
For production environments, OURE deploys as a fully isolated 6-service stack including the API, Background Workers, Redis Broker, Operations Dashboard, Prometheus metrics, and a Grafana observability suite.
# Start the full Enterprise Stack
docker compose up --build -d
- Operations Dashboard: http://localhost:8000/ui/
- API Documentation: http://localhost:8000/docs
- Grafana (Observability): http://localhost:3000 (Login: admin / admin)
- Prometheus Metrics: http://localhost:8000/metrics
CLI Usage
1. Analyze a Conjunction
oure analyze --primary 25544 --secondary 43205 --look-ahead 72
2. Avoidance Maneuver Wizard
Starts an interactive guide to optimize a fuel-efficient burn:
oure avoid --primary 25544 --secondary 43205
3. Fleet Screening
Screen thousands of secondaries against a fleet of primaries in parallel:
oure analyze-fleet --primaries-file p.json --secondaries-file s.json --workers 8
4. Space Debris Fragmentation
Simulate a "What-if" collision between two objects:
oure shatter --primary 25544 --secondary 43205 --fragments 5000
Architecture & Security
OURE enforces a strict, decoupled 5-layer architecture, hardened against Resource Exhaustion (DoS) and Numerical Singularities:
- Core: Immutable data models (
StateVector,CovarianceMatrix) and Prometheus Metrics Managers. - Data: Caching fetchers (
SpaceTrack,NOAA F10.7),NASA CDDIS CPFparsing, and strict CCSDSCDM Parser. - Physics: Certified SGP4, RK45 Numerical integrators, NASA MSFC Atmospheric modeling, and SRP.
- Uncertainty: Memory-hardened Vectorized Monte Carlo ensembles (capped at 100k samples), STM generation, and EKF Sensor updates.
- Conjunction/Risk: TCA Golden-section search, Robust Foster $P_c$ math utilizing Moore-Penrose pseudo-inverses (
np.linalg.pinv) to prevent singular matrix crashes, and SLSQP maneuver optimization.
Testing & Quality
OURE maintains strict engineering standards, verified by GitHub Actions CI/CD:
- Test Coverage: 88%+ enforced via
pytest-covacross 70+ test suites. - Static Analysis: Strict
mypytyping andrufflinting. - Numerical Stability: Joseph-form covariance updates, eigenvalue-ordered risk projection with singularity protection.
uv run pytest tests/ -v --cov=oure
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oure-1.0.0.tar.gz.
File metadata
- Download URL: oure-1.0.0.tar.gz
- Upload date:
- Size: 235.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c13e7ab671162547c8002e713d66473c089448c3c035f1de9d99c0c7a5923e79
|
|
| MD5 |
3ca956ae0d9043f0ce2dab96beb139c0
|
|
| BLAKE2b-256 |
43554163da589d99b9cc1f29ccc79d64ee173eef8d8e2836bfd0f17cc8ca5545
|
Provenance
The following attestation bundles were made for oure-1.0.0.tar.gz:
Publisher:
publish.yml on h-rishi16/OURE
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oure-1.0.0.tar.gz -
Subject digest:
c13e7ab671162547c8002e713d66473c089448c3c035f1de9d99c0c7a5923e79 - Sigstore transparency entry: 1642471642
- Sigstore integration time:
-
Permalink:
h-rishi16/OURE@d39da1c381bfe8a583ef05c66813ff60205fc7a3 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/h-rishi16
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d39da1c381bfe8a583ef05c66813ff60205fc7a3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file oure-1.0.0-py3-none-any.whl.
File metadata
- Download URL: oure-1.0.0-py3-none-any.whl
- Upload date:
- Size: 100.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3528a0f73c8eae11797517d0bb37b795d618defc84fae4960edbff1fc072b4b6
|
|
| MD5 |
349d322aa119a0ea96c5eaee11436b78
|
|
| BLAKE2b-256 |
306c5ed7ef9e768c8859105c415dd32ac35d48e2515146d7a3e3dc82e76784af
|
Provenance
The following attestation bundles were made for oure-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on h-rishi16/OURE
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oure-1.0.0-py3-none-any.whl -
Subject digest:
3528a0f73c8eae11797517d0bb37b795d618defc84fae4960edbff1fc072b4b6 - Sigstore transparency entry: 1642471762
- Sigstore integration time:
-
Permalink:
h-rishi16/OURE@d39da1c381bfe8a583ef05c66813ff60205fc7a3 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/h-rishi16
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d39da1c381bfe8a583ef05c66813ff60205fc7a3 -
Trigger Event:
release
-
Statement type: