{"id":47681418,"url":"https://github.com/shipitandpray/orbital-compute","last_synced_at":"2026-04-02T14:00:56.123Z","repository":{"id":346962178,"uuid":"1192346357","full_name":"ShipItAndPray/orbital-compute","owner":"ShipItAndPray","description":"Simulate and schedule GPU compute jobs across satellite constellations. Orbital mechanics, power, thermal, radiation, ISL, ground stations. 23 modules, 163 tests, interactive web app.","archived":false,"fork":false,"pushed_at":"2026-03-26T12:57:33.000Z","size":477,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-27T01:47:30.206Z","etag":null,"topics":["datacenter","gpu","kubernetes","leo","orbital-compute","satellite","scheduling","simulation","space"],"latest_commit_sha":null,"homepage":"https://shipitandpray.github.io/orbital-compute/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ShipItAndPray.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-26T05:55:43.000Z","updated_at":"2026-03-26T17:08:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ShipItAndPray/orbital-compute","commit_stats":null,"previous_names":["shipitandpray/orbital-compute"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ShipItAndPray/orbital-compute","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Forbital-compute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Forbital-compute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Forbital-compute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Forbital-compute/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShipItAndPray","download_url":"https://codeload.github.com/ShipItAndPray/orbital-compute/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShipItAndPray%2Forbital-compute/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31307454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datacenter","gpu","kubernetes","leo","orbital-compute","satellite","scheduling","simulation","space"],"created_at":"2026-04-02T14:00:29.638Z","updated_at":"2026-04-02T14:00:56.115Z","avatar_url":"https://github.com/ShipItAndPray.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Orbital Compute Simulator\n\n**The honest, open-source answer to \"should we put GPUs in orbit?\"**\n\n[![Tests](https://github.com/ShipItAndPray/orbital-compute/actions/workflows/test.yml/badge.svg)](https://github.com/ShipItAndPray/orbital-compute/actions)\n[![222+ Tests](https://img.shields.io/badge/tests-222%2B%20passing-brightgreen)](https://github.com/ShipItAndPray/orbital-compute/actions)\n[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![24K+ Lines](https://img.shields.io/badge/code-24K%2B%20lines-informational)](https://github.com/ShipItAndPray/orbital-compute)\n\n**[Live Demo](https://shipitandpray.github.io/orbital-compute/)** | **[3D Globe](https://shipitandpray.github.io/orbital-compute/globe.html)** | **[Cost Calculator](https://shipitandpray.github.io/orbital-compute/cost.html)** | **[Constellation Designer](https://shipitandpray.github.io/orbital-compute/designer.html)** | **[Data Pipeline](https://shipitandpray.github.io/orbital-compute/pipeline.html)**\n\n---\n\nEveryone in orbital compute is selling a dream. **We sell the math.**\n\n- Orbital compute is **24-50x more expensive** than AWS. We publish the numbers.\n- In-orbit processing saves **99% of downlink bandwidth**. We prove it with simulation.\n- Battery capacity fades to **66% in 3 years** of LEO cycling. We model the physics.\n- The PHOENIX algorithm improves worst-case battery by **23 percentage points**. We implemented the paper.\n\nThis is the only open-source tool that models the **complete space datacenter stack** — from orbital mechanics to job scheduling to business economics — and tells you the truth about what works and what doesn't.\n\nNo hype. No hand-waving. No \"trust us.\" Run the simulation yourself.\n\n## Who Is This For?\n\n| You are... | You need... | Start here |\n|-----------|------------|------------|\n| **Startup founder** pitching orbital compute to VCs | \"Is this economically viable?\" | `python -m orbital_compute.cost_model` (30 sec) |\n| **Grad student** writing an OEC thesis | A baseline simulator to compare your algorithm against | `pip install orbital-compute \u0026\u0026 python -m orbital_compute` |\n| **Engineer** at Starcloud/Axiom/Kepler | \"Will PHOENIX scheduling help our battery life?\" | `python -m orbital_compute.phoenix` |\n| **Mission planner** sizing a constellation | \"How many sats do I need for 1000 GPU-hours/day?\" | `python -m orbital_compute.designer` |\n| **Journalist** writing about space datacenters | \"Is orbital compute actually viable?\" | [Data Pipeline Visualization](https://shipitandpray.github.io/orbital-compute/pipeline.html) |\n| **Conference reviewer** checking an OEC paper | \"Are these numbers realistic?\" | [REPRODUCIBILITY.md](REPRODUCIBILITY.md) |\n\n```bash\npip install orbital-compute\npython -m orbital_compute\n```\n\n[![PyPI](https://img.shields.io/pypi/v/orbital-compute)](https://pypi.org/project/orbital-compute/)\n\n## Why In-Orbit Processing?\n\nThe data pipeline simulator proves the core value proposition:\n\n```\nStrategy                   Generated   Downlinked   Saved    Backlog\nraw_downlink                 1042 GB      900 GB    13.6%    142 GB  (growing!)\nimage_classification         1042 GB       10 GB    99.0%      0 GB\nobject_detection             1042 GB        5 GB    99.5%      0 GB\n```\n\n**Raw downlink can't keep up** — 142 GB backlog growing every day. In-orbit processing saves 99% of bandwidth. This is why orbital compute exists.\n\n## What It Does\n\n### 26 Python Modules\n\n| Category | Modules | What It Models |\n|----------|---------|----------------|\n| **Orbital Mechanics** | `orbit.py`, `constellations.py` | SGP4 propagation, TLE data, eclipse detection, real Starlink TLEs from CelesTrak |\n| **Power \u0026 Thermal** | `power.py`, `thermal.py` | Solar panels, battery charge/discharge, Stefan-Boltzmann radiative cooling |\n| **Scheduling** | `scheduler.py`, `scheduler_v2.py` | Greedy + look-ahead schedulers with eclipse forecasting (PHOENIX-inspired) |\n| **Networking** | `isl.py`, `network.py` | Inter-satellite optical links, routing, topology analysis, Floyd-Warshall |\n| **Radiation** | `radiation.py` | SEU fault injection, South Atlantic Anomaly, 4 recovery strategies |\n| **Workloads** | `workloads.py` | 9 realistic types: Earth obs, AI inference, defense/ISR, scientific |\n| **Ground Stations** | `ground_stations.py` | 10 global stations, elevation-angle contact windows, pass prediction |\n| **Data Pipeline** | `data_pipeline.py` | Sensor → storage → in-orbit processing → downlink. Proves 99% bandwidth savings |\n| **Mission Planning** | `mission_planner.py` | Ops timeline, conflict detection, data budget calculator, availability |\n| **Design** | `designer.py` | Auto-design optimal constellation from requirements + budget |\n| **Economics** | `cost_model.py` | CAPEX/OPEX, break-even, ROI, terrestrial comparison. Honest: 24-50x more expensive |\n| **Reliability** | `reliability.py` | MTBF, constellation availability (binomial), SLA analysis, degradation curves |\n| **Debris \u0026 Propulsion** | `debris.py`, `propulsion.py` | Collision avoidance, CAM planning, Kessler risk, drag model, station-keeping, deorbit |\n| **Federated Learning** | `federated.py` | Train ML models across constellation (FedAvg/FedProx/SCAFFOLD), ISL-aware aggregation |\n| **K8s Integration** | `k8s_scheduler.py` | Kubernetes scheduler extender for orbit-aware pod placement |\n| **Standards** | `formats.py`, `standards.py` | CCSDS OEM, STK ephemeris, ECSS power/thermal/link budgets |\n| **Interface** | `api.py`, `cli.py`, `simulator.py`, `visualize.py` | REST API, unified CLI, core engine, 3D globe generator |\n\n### Interactive Web App\n\nLive at **[shipitandpray.github.io/orbital-compute](https://shipitandpray.github.io/orbital-compute/)**\n\n- **Dashboard** — Configure constellation, run simulation in-browser, see fleet stats + timelines\n- **3D Globe** — Three.js visualization with orbits, ground stations, ISL links, play/pause\n- **Cost Calculator** — Drag sliders, see CAPEX/OPEX/break-even update in real-time\n- **Constellation Designer** — Input requirements, get optimal design with Walker geometry\n- **Data Pipeline** — Canvas chart proving why in-orbit processing is necessary\n- **API Docs** — REST endpoint documentation with curl examples\n\nAll runs in the browser. No server. No login. No cold starts.\n\n## Quick Start\n\n```bash\ngit clone https://github.com/ShipItAndPray/orbital-compute.git\ncd orbital-compute\npip install -r requirements.txt\n\n# 30-second overview of everything\npython -m orbital_compute\n\n# Full demo (all subsystems: orbit + power + thermal + ISL + radiation + scheduling)\npython demo.py\n\n# Custom simulation\npython run_sim.py --sats 12 --hours 24 --jobs 100\n\n# Constellation designer (auto-design from requirements)\npython -m orbital_compute.designer\n\n# Cost analysis\npython -m orbital_compute.cost_model\n\n# Data pipeline comparison\npython -m orbital_compute.data_pipeline\n\n# Reliability/SLA analysis\npython -m orbital_compute.reliability\n\n# Mission planning timeline\npython -m orbital_compute.mission_planner\n\n# ECSS standards compliance\npython -m orbital_compute.standards\n\n# Industry format export (CCSDS OEM, STK)\npython -m orbital_compute.formats\n\n# Web dashboard\npython dashboard.py\n\n# REST API\npython -m orbital_compute.api --port 8080\n\n# Scheduler benchmark (greedy vs look-ahead)\npython benchmark.py\n\n# Fetch real Starlink TLEs\npython -m orbital_compute.constellations\n\n# Or use make shortcuts\nmake test        # Run 200+ tests\nmake demo        # Full demo\nmake cost        # Cost analysis\nmake pipeline    # Data pipeline proof\nmake serve       # Local web app\n```\n\n## Key Results\n\n### Constellation Designer\n```\nInput:  1000 GPU-hours/day, global coverage, $50M budget\nOutput: 6 satellites, 8 GPUs each, 2000 km altitude\n        $45.9M total (under budget), 1017 GPU-hours/day\n```\n\n### Reliability Analysis\n```\n12-satellite constellation:\n  99%    SLA: YES (1 operational needed, 11 spare)\n  99.99% SLA: YES (1 operational needed)\n  99.999% SLA: NO (need all 12 — not feasible with 1.4yr MTBF)\n```\n\n### Cost Model (Honest Assessment)\n```\nOrbital compute: $86-172/GPU-hour (12 sats, Falcon 9)\nAWS equivalent:  $4.10/GPU-hour\nRatio: 24-50x more expensive\n\nBut: processing in orbit saves 99% downlink bandwidth.\nThe value prop is NOT raw $/hr — it's avoiding the downlink bottleneck.\n```\n\n### Full Simulation (12 sats, 12h, 80 jobs)\n```\nJobs completed:     80/80\nFleet utilization:  32%\nEclipse fraction:   26-37% per satellite\nRadiation SEUs:     303 events, all recovered via checkpoint-restart\nISL links:          6 active (mesh topology)\nTemperature range:  -19°C to 24°C (within limits)\n```\n\n## Architecture\n\n```\norbital_compute/          # 26 Python modules\n├── orbit.py              # SGP4 propagation, eclipse detection\n├── power.py              # Solar + battery model\n├── thermal.py            # Stefan-Boltzmann radiative cooling\n├── scheduler.py          # v1: Greedy orbit-aware scheduler\n├── scheduler_v2.py       # v2: Look-ahead with eclipse forecasting\n├── ground_stations.py    # 10 stations, contact windows\n├── isl.py                # Inter-satellite links, LOS, routing\n├── network.py            # Topology analysis, Floyd-Warshall routing\n├── radiation.py          # SEU injection, SAA, recovery strategies\n├── workloads.py          # 9 workload types + mixed traffic generator\n├── data_pipeline.py      # Sensor → processing → downlink pipeline\n├── mission_planner.py    # Ops timeline, pass prediction, data budgets\n├── designer.py           # Auto-design constellation from requirements\n├── cost_model.py         # Full economics + terrestrial comparison\n├── reliability.py        # MTBF, SLA, degradation curves\n├── constellations.py     # Pre-defined configs + real TLE fetch\n├── formats.py            # CCSDS OEM, STK ephemeris, JSON Schema\n├── standards.py          # ECSS power/thermal/link budgets\n├── debris.py             # Collision probability, CAM planning, Kessler risk\n├── propulsion.py         # Atmospheric drag, station-keeping, deorbit planning\n├── federated.py          # Federated learning across constellation (FedAvg/FedProx)\n├── k8s_scheduler.py      # Kubernetes scheduler extender for orbit-aware pods\n├── api.py                # REST API\n├── simulator.py          # Core simulation engine\n├── visualize.py          # 3D Three.js globe generator\n└── cli.py                # Unified CLI\n\ndocs/                     # Web app (GitHub Pages)\n├── index.html            # Landing page\n├── dashboard.html        # Interactive simulator\n├── globe.html            # 3D orbit visualization\n├── cost.html             # Cost calculator\n├── designer.html         # Constellation designer\n├── pipeline.html         # Data pipeline analysis\n└── api-docs.html         # API documentation\n\ntests/                    # 107 tests, all passing\n```\n\n## Research References\n\n- **PHOENIX** (IEEE 2024) — Sunlight-aware task scheduling for energy-efficient space edge computing\n- **KubeSpace** (arXiv 2601.21383, 2026) — Low-latency K8s control plane for LEO container orchestration\n- **Krios** (USENIX HotEdge 2020) — Loosely-coupled orchestration for the LEO edge\n- **Comprehensive Survey of Orbital Edge Computing** (Chinese Journal of Aeronautics, 2025)\n- **Axiom Space AxDCU-1** — First orbital data center on ISS (2025), Red Hat Device Edge\n- **Starcloud** — First H100 GPU in orbit (Nov 2025), NVIDIA partnership\n- **ESA ASCEND** — European orbital compute initiative, €300M through 2027\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). High-impact areas:\n- Kubernetes scheduler plugin\n- Real satellite hardware integration\n- Multi-objective constellation optimization\n- Federated learning orchestrator\n\n## License\n\nMIT — see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshipitandpray%2Forbital-compute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshipitandpray%2Forbital-compute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshipitandpray%2Forbital-compute/lists"}