ToolFeatured

Hypatia: LEO satellite network simulation framework (ETH Zurich)

Aug 29, 2020Kassing, Bhattacherjee et al. (ETH Zurich)Source: GitHub568 views

Hypatia is the reference open-source framework for simulating LEO networks: it generates a constellation and its routing over time (satgenpy), runs packet-level ns-3 simulations (ns3-sat-sim) and renders Cesium visualisations. From the IMC 2020 paper; 518 GitHub stars, last update May 2024.

What it is

Hypatia is the code released with "Exploring the 'Internet from space' with Hypatia" (Simon Kassing, Debopam Bhattacherjee, André Baptista Águas, Jens Eirik Saethre and Ankit Singla), presented at the ACM Internet Measurement Conference in 2020. It pre-calculates the state of a low Earth orbit network over time, runs packet-level simulations on top of it and produces visualisations. The repository has 518 stars and 161 forks; the last commit dates from May 2024, so it is stable rather than active, but it remains the framework most later papers compare against.

It has four parts: satgenpy (Python, MIT) generates constellations and routing over time using astropy, sgp4 and networkx; ns3-sat-sim (GPLv2) feeds that state into ns-3 for end-to-end TCP flows; satviz (MIT) renders interactive CesiumJS views; and paper reproduces the experiments and figures of the publication, which model Starlink's first shell, Kuiper's first shell and Telesat.

What you can do with it

  • Generate a Walker constellation with a given number of planes, satellites per plane, altitude and inclination, plus ground stations, and compute shortest paths minute by minute as the inter-satellite links change.
  • Measure round-trip time between two cities (the paper's Paris-Luanda example) and how it varies with the constellation's geometry, which is the physical explanation of the latency figures operators publish.
  • Run TCP flows in ns-3 to see how path changes and handovers affect throughput.
  • Render the satellite and route geometry in Cesium (requires a free Cesium access token).

Who it is for

Researchers and network engineers at operators, integrators and large enterprises evaluating LEO for latency-sensitive traffic. For a buyer, the value is indirect: the paper and its figures explain why a LEO link's latency is not a single number, why it depends on ground station placement and why laser links matter, which is useful background before reading a provider's SLA. If you want real routing software on emulated nodes rather than a simulation, see OpenSN.

How to use it

  1. Linux (Ubuntu 18+) and Python 3.7+; run hypatia_install_dependencies.sh, which pulls cartopy, proj and the ns-3 dependencies.
  2. Build the four modules with the provided script; ns-3 compilation takes a while.
  3. Start from the paper folder: the scripts regenerate the Starlink 550 km shell used in the paper and the plots, which doubles as a tutorial.
  4. Edit the constellation parameters in satgenpy to model the shell you care about (Starlink now flies several, and Amazon Leo's 3,236-satellite first generation uses three).

Limits

The Starlink and Kuiper models are the 2020 filings, not the constellations as deployed in 2026; update the parameters from CelesTrak element sets before drawing conclusions. There is no radio or capacity model, and the project is not maintained beyond bug fixes.

Related

Definitions: Walker constellation, orbital period, ground station. Directories: LEO providers, Starlink providers.

Find a provider

The listings this resource is relevant to — every company is profiled with services, coverage and contact details.

Keep reading

Related resources