Open-source space software

The open toolkit for seeing, navigating and exploring space.

Fast, dependable libraries for satellite imaging, celestial navigation and space science. Written in Rust where performance and safety matter, Python where the ecosystem wins. Free for astronomers and commercial enterprise alike.

13,900crate downloads
12open repositories

The stack

From photons to answers.

Each library does one job well, and they compose. Capture a frame, store it in a standard format, work out where you were pointing, reduce it against the catalogues and plot the result, without leaving one toolchain.

  1. 01

    Capture

    Precisely timed scientific stills on libcamera.

    scicamera
  2. 02

    Store

    FITS in pure Rust. No C, no unsafe, runs in wasm.

    fitsio-pure
  3. 03

    Solve

    Blind astrometry from the star pattern alone.

    zodiacal
  4. 04

    Reduce

    Catalogues, frames, time and ephemerides.

    starfield
  5. 05

    Serve

    Pull-through cache for catalogues and ephemerides.

    starfield-datastore
  6. 06

    Visualise

    matplotlib-style plots, native and in the browser.

    rizzma

Projects

Published, documented, in use.

Also in the lab

  • zodiacal-webUpload a sky image, get back coordinates, orientation, pixel scale and field of view.
  • starfield-datasourcesAstronomical data source clients for the starfield ecosystem.
  • planet9Research and analysis on the hypothesised ninth planet of the outer Solar System.
  • fits-test-casesCurated FITS files for regression testing readers and writers.
  • sky-light-estimatorEstimate light pollution for a given latitude and longitude.

Principles

Built like it has to fly.

Correct first

Results are compared against reference implementations like Skyfield and SPICE, benchmarked on fields with known answers, and regression-tested on curated real data.

Fast and portable

Pure Rust with no system libraries to install. The same code builds for servers, single-board computers at the telescope, and the browser via WebAssembly.

Open to everyone

Permissive MIT, Apache-2.0 and BSD licences. Use it in a university observatory, a CubeSat, a commercial constellation or a telescope in your back garden.

Around Jupiter, today · computed in your browser

Sky explorer

The whole sky, computed here.

Every star in these sky maps comes from the Hipparcos catalogue and every planet from JPL’s orbital elements, worked out in your browser for today’s date. The explorer adds search, zoom, planet trails across four years, and zodiacal plate solving compiled to WebAssembly.

Get started

One line away.

The Rust libraries are on crates.io with API docs on docs.rs, and scicamera is on PyPI. Add what you need and go. Questions, bugs and ideas are welcome on GitHub.

~/observatory
# the whole stack
$ cargo add starfield zodiacal fitsio-pure rizzma
    Updating crates.io index
      Adding starfield v0.18.2
      Adding zodiacal v0.5.1
      Adding fitsio-pure v0.13.5
      Adding rizzma v1.13.3