Skip to main content

satkit

Satellite astrodynamics in Rust, with full Python bindings.

Build Release License: MIT OR Apache-2.0

Crates.io Crates.io Downloads PyPI PyPI Downloads Python


Satkit is a high-performance orbital mechanics library written in Rust with complete Python bindings via PyO3. It handles coordinate transforms, orbit propagation, time systems, gravity models, atmospheric density, and JPL ephemerides -- everything needed for satellite astrodynamics work.

Documentation and tutorials (Python examples, but the concepts and API apply equally to Rust) | Rust API reference

Installation

Rust:

cargo add satkit

Python:

pip install satkit

Pre-built wheels are available for Linux, macOS, and Windows on Python 3.10--3.14.

The IERS nutation tables and gravity models are compiled in, so frames, gravity, SGP4 and time work with no data files. The JPL ephemeris (~100 MB) downloads on first use (SHA-256 verified) into the user data directory; Earth orientation and space weather are fetched on first use and should be refreshed periodically:

import satkit as sk
sk.utils.update_datafiles()  # provisions everything up front; re-run periodically for fresh EOP/space weather

Set SATKIT_OFFLINE=1 to forbid downloads, or pip install satkit[data] for the optional offline data bundle.

Quick Examples

SGP4 propagation (Python)

import satkit as sk

tle = sk.TLE.from_lines([
    "ISS (ZARYA)",
    "1 25544U 98067A   24001.50000000  .00016717  00000-0  10270-3 0  9003",
    "2 25544  51.6432 351.4697 0007417 130.5364 329.6482 15.48915330299357"
])

pos, vel = sk.sgp4(tle, sk.time(2024, 1, 2))

High-precision propagation (Python)

import satkit as sk
import numpy as np

r0 = 6378e3 + 500e3  # 500 km altitude
v0 = np.sqrt(sk.consts.mu_earth / r0)

settings = sk.propsettings(
    gravity_model=sk.gravmodel.egm96,  # default; also jgm3, jgm2, itugrace16
    gravity_degree=8,
    integrator=sk.integrator.rkv98,    # default; also rkv87, rkv65, rkts54,
                                       # gauss_jackson8 (fixed-step multistep)
)

result = sk.propagate(
    np.array([r0, 0, 0, 0, v0, 0]),
    sk.time(2024, 1, 1),
    end=sk.time(2024, 1, 1) + sk.duration.from_days(1),
    propsettings=settings,
)

state = result.interp(sk.time(2024, 1, 1) + sk.duration.from_hours(6))

Coordinate transforms (Python)

import satkit as sk

time = sk.time(2024, 1, 1, 12, 0, 0)
coord = sk.itrfcoord(latitude_deg=42.0, longitude_deg=-71.0, altitude=100.0)

q = sk.frametransform.qitrf2gcrf(time)
gcrf_pos = q * coord.vector

Planetary ephemerides (Rust)

use satkit::{Instant, SolarSystem, jplephem};

let time = Instant::from_datetime(2024, 1, 1, 0, 0, 0.0)?;
let (pos, vel) = jplephem::geocentric_state(SolarSystem::Moon, &time)?;

Features

Coordinate Frames

Full IERS 2010 Conventions reduction (IAU 2006/2000A precession-nutation) with Earth orientation parameters:

Frame Description
ITRF International Terrestrial Reference Frame (Earth-fixed)
GCRF Geocentric Celestial Reference Frame (inertial)
TEME True Equator Mean Equinox (SGP4 output frame)
CIRS Celestial Intermediate Reference System
TIRS Terrestrial Intermediate Reference System
EME2000 / ICRF J2000 mean equator and the International Celestial Reference Frame
Geodetic Latitude / longitude / altitude (WGS-84)

Plus satellite-local RTN, NTW, and LVLH frames (maneuvers, covariance), and ENU, NED, and geodesic distance (Vincenty) utilities.

Orbit Propagation

  • Numerical -- Selectable adaptive Runge-Kutta integrators (9(8), 8(7), 6(5), 5(4)) plus RODAS4 (stiff) and Gauss-Jackson 8 (fixed-step multistep for high-precision long-duration propagation), with dense output, state transition matrix, and configurable force models. With matched force models it agrees with NASA GMAT to a few centimetres over 7 days in LEO, MEO, and GEO (see Testing and Validation)
  • SGP4 -- Standard TLE/OMM propagator with TLE fitting from precision states
  • Keplerian -- Analytical two-body propagation

Orbit Maneuvers

  • Impulsive maneuvers -- Instantaneous delta-v applied at a scheduled time during propagation. Supported frames: GCRF (inertial), RTN (radial/tangential/normal — the CCSDS OEM convention, also exposed as RSW and RIC aliases), NTW (velocity-aligned — natural for prograde burns on eccentric orbits, where a pure +T delta-v adds exactly Δv to |v|), and LVLH (Local Vertical / Local Horizontal). Ergonomic helpers add_prograde / add_retrograde / add_radial / add_normal for common scalar-magnitude burns.
  • Continuous thrust -- Constant-acceleration thrust arcs over time windows in any of the frames above, integrated directly into the force model
  • Automatic segmentation -- Propagation through maneuver sequences is handled transparently, including backward propagation

Force Models

  • Earth gravity: JGM2, JGM3, EGM96, ITU GRACE16 (spherical harmonics up to degree/order 40; Montenbruck & Gill 2000, §3.2)
  • Solid Earth tides: IERS Conventions 2010 §6.2.1 Step-1 corrections to the gravity field
  • Third-body gravity: Sun and Moon via JPL DE440/441 ephemerides
  • Atmospheric drag: NRLMSISE-00 (Picone et al. 2002) fed automatically from CelesTrak space-weather data — observed F10.7 / centred F10.7A and the 7-element 3-hourly geomagnetic ap history, so density responds to storms within hours; validated against GMAT (below)
  • Solar radiation pressure: Cannonball model with shadow function
  • Relativity: IERS 2010 Eq. 10.12 — Schwarzschild, geodesic (de Sitter) precession, and Lense–Thirring

Time Systems

Seamless conversion between UTC, TAI, TT, TDB, UT1, and GPS time scales with full leap-second handling.

Solar System

  • JPL DE440/DE441 ephemerides for all planets, Sun, Moon, and barycenters
  • Fast analytical Sun/Moon models for lower-precision work
  • Sunrise/sunset and Moon phase calculations

Linear Algebra

SatKit uses numeris for all linear algebra (vectors, matrices, quaternions, ODE integration). If you also use nalgebra in your project, enable the nalgebra feature on numeris for zero-cost From/Into conversions between types:

numeris = { version = "0.5.18", features = ["nalgebra"] }

Cargo Features

Feature Default Description
omm-xml yes XML OMM deserialization via quick-xml
download yes Data-file downloader (update_datafiles) via ureq
chrono no TimeLike impl for chrono::DateTime

Data Files

Three tiers, handled differently by size and how often they change:

Compiled in (no files needed): IERS 2010 nutation tables and the EGM96 / JGM2 / JGM3 / ITU_GRACE16 gravity models to degree 70 (~300 KB gzip'd). Frames, gravity, SGP4, time scales, Kepler and Lambert work offline out of the box.

Downloaded once, on first use: the JPL DE440 ephemeris (~100 MB; DE421 at 14 MB via SATKIT_JPLEPHEM_FILE), SHA-256 verified against the manifest compiled into satkit (data/manifest.json), fetched from the GitHub release asset, the origin server (JPL), or a SATKIT_DATA_URL mirror.

Refreshed periodically: space weather (F10.7, Ap) and Earth orientation parameters (polar motion, UT1−UTC), sourced from CelesTrak by update_datafiles().

Downloads go to the platform user-data directory (satkit.utils.datadir(): ~/Library/Application Support/satkit-data, $XDG_DATA_HOME/satkit-data, or %LOCALAPPDATA%\satkit-data) unless SATKIT_DATA is set; files are also looked up in an installed satkit-data package and /usr/share/satkit-data. SATKIT_OFFLINE=1 turns any needed download into an error. Details: Data Files.

Testing and Validation

The library is validated against:

  • Vallado test cases for SGP4, coordinate transforms, and Keplerian elements
  • JPL test vectors for DE440/441 ephemeris interpolation (10,000+ cases)
  • NASA GMAT reference trajectories for the high-precision propagator (see below)
  • ICGEM reference values for gravity field calculations
  • GPS SP3 precise ephemerides for multi-day numerical propagation

Around 300 Rust tests and 150 Python tests run on every commit across Linux, macOS, and Windows.

GMAT comparison

The numerical propagator is regression-tested against NASA's General Mission Analysis Tool (GMAT R2026A). The corpus in tests/gmat/ holds 25 reference trajectories: 17 seven-day gravity/third-body cases -- ISS-like LEO, sun-synchronous, GPS MEO, Molniya, GEO, the lunar-resonant TESS orbit, and a 300,000 km cislunar orbit -- each with a low-degree gravity model, a 36×36 EGM96 + solid tides model, and (for three orbits) relativity; plus 8 three-day atmospheric-drag cases (ISS altitude, 300 km, 550 km sun-synchronous, GTO with a 250 km perigee), each run with fixed space-weather indices and with the CelesTrak space-weather file driving NRLMSISE-00 on both sides. GMAT cannot run in CI, so the trajectories are generated offline (tests/gmat/generate.py, SPICE DE440, EarthICRF) and committed; tests/gmat_regression.rs and python/test/test_gmat.py replay them hour by hour and gate on the worst residual.

With matched force models the two agree to 3 cm (ISS), 2 cm (SSO), 8 cm (GPS), and 13 cm (GEO, Molniya) over 7 days. At 200,000 km and beyond the residual is ~1 m, which is GMAT's own integration floor (its point-mass runs differ from the analytic Kepler solution by the same amount). The remaining differences with tides and relativity enabled are documented with the tolerances in tests/gmat/README.md: GMAT omits the anelastic phase lag in its solid-tide Love numbers that satkit includes, while the relativity cases sit at the same floors (both tools apply the full IERS 2010 Eq. 10.12 correction).

With drag the two agree to 1–2 × 10⁻⁴ of the drag-induced displacement when the space-weather indices are fixed (26 m against 152 km of drag decay over 3 days at ISS altitude; the two NRLMSISE-00 implementations agree to 0.06 % rms in density) and to 1–2 × 10⁻³ when both read the CelesTrak file (198 m at ISS altitude), the residual being the F10.7 timing convention -- GMAT interpolates between 20:00 UT nodes, satkit steps at 00:00 UT. Building the drag corpus found and fixed a radians-for-degrees error in satkit's NRLMSISE-00 inputs (8 km over 3 days at ISS altitude) and moved the space-weather feed to the observed F10.7 and the 3-hourly ap history (0.21.1); details on the GMAT validation page.

Running Tests Locally

Tests require two sets of external data: the astro-data files (gravity models, ephemerides, etc.) and the test vectors (reference outputs for validation). Download both before running:

# Install the download helper
pip install requests

# Download data files and test vectors into the current directory
python python/test/download_data.py astro-data
python python/test/download_testvecs.py satkit-testvecs

Then run tests with the environment variables pointing to the downloaded directories:

# Rust tests
SATKIT_DATA=astro-data SATKIT_TESTVEC_ROOT=satkit-testvecs cargo test

# Python tests (after `pip install -e ".[test]"`)
SATKIT_DATA=astro-data SATKIT_TESTVEC_ROOT=satkit-testvecs pytest python/test/

The GMAT regression tests need only the data files; their reference trajectories are checked in.

Documentation

References

The primary sources for every model and algorithm — IERS Conventions (2010), Vallado (2013), Montenbruck & Gill (2000), Vallado et al. (2006) for SGP4, Picone et al. (2002) for NRLMSISE-00, Park et al. (2021) for DE440, Verner (2010) and Berry & Healy (2004) for the integrators, Izzo (2015) for Lambert, and the gravity-model reports — are collected with DOIs on the documentation site's References page.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Release files for satkit 0.21.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for satkit 0.21.2
File Size Uploaded
satkit-0.21.2.tar.gz 758.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for satkit 0.21.2
File
satkit-0.21.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
satkit-0.21.2-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
satkit-0.21.2-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
satkit-0.21.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
satkit-0.21.2-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
satkit-0.21.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
satkit-0.21.2-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
satkit-0.21.2-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
satkit-0.21.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
satkit-0.21.2-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
satkit-0.21.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
satkit-0.21.2-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
satkit-0.21.2-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
satkit-0.21.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
satkit-0.21.2-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
satkit-0.21.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
satkit-0.21.2-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
satkit-0.21.2-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
satkit-0.21.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
satkit-0.21.2-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
satkit-0.21.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
satkit-0.21.2-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
satkit-0.21.2-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
satkit-0.21.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
satkit-0.21.2-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details

Total release size: 72.2 MB

Release files / satkit-0.21.2.tar.gz

Download URL satkit-0.21.2.tar.gz
Size 758.0 kB
Tags Source
SHA-256 checksum
How to use checksums
436cbdd36191624568c130304a9d4b2736faadeaec289d7485014013b436cdc9
BLAKE2b-256 checksum
How to use checksums
0aee9b175d7ae9ec04fe583cb71d8f79ba18ded892dcc7b00df755f228ff7439
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp314-cp314-win_amd64.whl

Download URL satkit-0.21.2-cp314-cp314-win_amd64.whl
Size 2.9 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
37ecc6b2f928abb26629c6b928cbbb4b65708274e896f4e77d2ac479a7f77322
BLAKE2b-256 checksum
How to use checksums
f3b556e3a306894ce6e94eb64f1e44f3bf11e63f31e3896f881f36ee320d95cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL satkit-0.21.2-cp314-cp314-manylinux_2_28_x86_64.whl
Size 3.0 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
97a5f8ec7d3c79257080aa415f873780ee44f3fb96dcaa7e8fbdf6a995cfcc6f
BLAKE2b-256 checksum
How to use checksums
1d46b9d3c077a0e213b81df129f74af2ae47a4f933c48f6dfc1107649dfaab46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL satkit-0.21.2-cp314-cp314-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
af426e57b3daa6d622bfc7e4a13a3fe1b568aaa25f4115658766014bebc9db12
BLAKE2b-256 checksum
How to use checksums
b5ddc0375748136b70b717a9651c3e82181ebf97525adfab62c0392752ed9009
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL satkit-0.21.2-cp314-cp314-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6b5812808bc0cb41b33ff3b5140d56379836cb2fe633dd69bfb877ea32cbc631
BLAKE2b-256 checksum
How to use checksums
372de8d56a93a995e94019d78fe63ee1bd0c412966812bc1de65133276bf9b18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp314-cp314-macosx_10_15_x86_64.whl

Download URL satkit-0.21.2-cp314-cp314-macosx_10_15_x86_64.whl
Size 2.9 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
bc45f959b2dd2663a4cd6be7e5ec7356c80c8db3bc0b7767502664c462ff2428
BLAKE2b-256 checksum
How to use checksums
58bbd316811e1c39c857ad46a264e6de8550803906f67a444829c2bb4dd13881
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp313-cp313-win_amd64.whl

Download URL satkit-0.21.2-cp313-cp313-win_amd64.whl
Size 2.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
6ba6d381d04dd71a1df88adde67cad79aee37ece92ffc3f7bf5023ed843921d1
BLAKE2b-256 checksum
How to use checksums
273f2596bfcf18bc36f39977cd78a45879d45e55835a268ed45421674c48674d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL satkit-0.21.2-cp313-cp313-manylinux_2_28_x86_64.whl
Size 3.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8ceda541392f44a3c9045cedbf8259c7d05d978e6459506661dd1cbb5f3c4059
BLAKE2b-256 checksum
How to use checksums
596902eaa109fa5194885caf341da1a5597ba51744cc3677c9368954747ce126
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL satkit-0.21.2-cp313-cp313-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0f7a59cac88feb16cdfacea92450af480610b2e7a90d13beda88a0ad0a529730
BLAKE2b-256 checksum
How to use checksums
9de54c1807bb70e1f4eb527fad062420e0d8034dde5c834596c194117cf54ba2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL satkit-0.21.2-cp313-cp313-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e330a3a2da07a88aa0c123fb854ff8d8961cb58de33a26e6dfb15495ba9a6aff
BLAKE2b-256 checksum
How to use checksums
7ed3eb142b2bbbda62a4b8903cb09c99dbe73e4f3ad5983c5e9ff5639b37e1da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp313-cp313-macosx_10_13_x86_64.whl

Download URL satkit-0.21.2-cp313-cp313-macosx_10_13_x86_64.whl
Size 2.9 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
9dc26b21033a3458fe0960c65a72a496104a47be39102a692cc4d2950dba102f
BLAKE2b-256 checksum
How to use checksums
64c67fb5e73699495a01ae2ea7796f63135e117ce5199a97b534528f4085c945
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp312-cp312-win_amd64.whl

Download URL satkit-0.21.2-cp312-cp312-win_amd64.whl
Size 2.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
325b4f9315af058f367c80adfa2fe3fc8e6cd8c2e652835770a91b81b71932b3
BLAKE2b-256 checksum
How to use checksums
c80dbafc917a8a69865fcba03a5660de76550db3c282c8882a426b50a7d0050f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL satkit-0.21.2-cp312-cp312-manylinux_2_28_x86_64.whl
Size 3.0 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f82f6a6125c1637c0326bb9b299927ee143b92a9e279e4a5c02fbe28bab5801b
BLAKE2b-256 checksum
How to use checksums
678d5521f098582a1750214ab3342faa8f6807a588490691bc6a45eb1b556e33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL satkit-0.21.2-cp312-cp312-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b00a9f36d5516dfcd81bce467f4b09fc88d4bcc54834cca5cbfbaa67bc6158da
BLAKE2b-256 checksum
How to use checksums
fc73f9eb87b432dfb61bbeec2399f951ca8ccb1cbe5323031e85569f931a3435
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL satkit-0.21.2-cp312-cp312-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a7816a34e0dbf868889ea2535a266e7d6aed5983f2c82e124d729d43f3e1f776
BLAKE2b-256 checksum
How to use checksums
2ab5db2701b3579d627e70c2c8e80768a60e0b3e1a8f40f36609ea232ea31644
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp312-cp312-macosx_10_13_x86_64.whl

Download URL satkit-0.21.2-cp312-cp312-macosx_10_13_x86_64.whl
Size 2.9 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
04e8e8f993d1ee552ce64ae28af2bad5fe806f12530b7b4efde416623530bc24
BLAKE2b-256 checksum
How to use checksums
d3ed199436874c1846558833fe68d01daf12a99d8e91dd4c046bc8a5befe56e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp311-cp311-win_amd64.whl

Download URL satkit-0.21.2-cp311-cp311-win_amd64.whl
Size 2.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
46712e9b59567b3ce0da46461e0d9533b2c9feec0251ef88176f2787b36cd7e5
BLAKE2b-256 checksum
How to use checksums
ee3f60018a0c66331061df3e73b2de2f605e91429463e0716c63e4d301e70039
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL satkit-0.21.2-cp311-cp311-manylinux_2_28_x86_64.whl
Size 3.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b40211692bb967a6211bb2db0c4fcf594c4a2fd03b27e008bac5af7001f8186a
BLAKE2b-256 checksum
How to use checksums
d366b298946e51327711e4c31274538b30b14e44e83bf7034778d34d456dd22d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL satkit-0.21.2-cp311-cp311-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0c554be6aabdd676f6213b3c58f3bbbe1cb7e316a5306e6de2538c6a68e141d2
BLAKE2b-256 checksum
How to use checksums
bbd9dff17dba2f1a67ce0daeeb456930de732279d1cf073ae56d8e61ae858a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL satkit-0.21.2-cp311-cp311-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7202c18d15d39bb74006f13c98e87c2e499070e812a7b7d6bf14e570f017736b
BLAKE2b-256 checksum
How to use checksums
10c9ea37a03c4cad91cfc8eec7adf9584653564b87ae5f0f579175fa0cff7324
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp311-cp311-macosx_10_12_x86_64.whl

Download URL satkit-0.21.2-cp311-cp311-macosx_10_12_x86_64.whl
Size 2.8 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
04625c271d44805e8b2dbb2543e247c62b78391e4c9ac233b6b907a31e8a5e45
BLAKE2b-256 checksum
How to use checksums
522d61e4bdce1242d7e261e765955b49988b3117e8dd12b5b6f9f553bb539f5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp310-cp310-win_amd64.whl

Download URL satkit-0.21.2-cp310-cp310-win_amd64.whl
Size 2.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2e892533d11b7ffdd38c535bc0991e1d74ff82fe750479bdaf9dfa875d22f737
BLAKE2b-256 checksum
How to use checksums
1215be05da0a344ad6648695217718044c72deb6d5991ca7924c22f8f9bf039f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL satkit-0.21.2-cp310-cp310-manylinux_2_28_x86_64.whl
Size 3.0 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
859f7dd31c89eaf229eb942c2aa9c1e0f3043cd3246188a184869261b28b23e2
BLAKE2b-256 checksum
How to use checksums
2ac863aa30123862e35287c26fc6d9991587cee9f64ff7713f58deb085d2cfbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL satkit-0.21.2-cp310-cp310-manylinux_2_28_aarch64.whl
Size 2.9 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9662a672fecb5df0a8e3e84866e7923f2db47e7298718438ac79c826736d9f19
BLAKE2b-256 checksum
How to use checksums
fd00f217971da98d0d9d622c7722201a7ed1a4214669edd76357d604bcfadde8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL satkit-0.21.2-cp310-cp310-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
53a25c09ef270a3a64384e7730f5d468140a74014e5a2ac54e3b53a448386740
BLAKE2b-256 checksum
How to use checksums
605d187da2034f83f5d01a870e7b9d38864d2c3b761b2cefea864328d316c25b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / satkit-0.21.2-cp310-cp310-macosx_10_12_x86_64.whl

Download URL satkit-0.21.2-cp310-cp310-macosx_10_12_x86_64.whl
Size 2.8 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
98a658d6c097405d78a0c84d480566432b36ef60d9c44f7c8c3521881ff45601
BLAKE2b-256 checksum
How to use checksums
1c9c87ffd8c9f20225d42682f577819cd8782804cf70366d506c19c47896f561
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.21.2 This release

26 release files

0.9.1

36 release files

0.9.0

36 release files

0.8.5

36 release files

0.8.4

36 release files

0.8.3

36 release files

0.8.2

23 release files

0.8.1

31 release files

0.8.0

31 release files

0.7.3

31 release files

0.7.2

31 release files

0.7.1

31 release files

0.7.0

31 release files

0.6.2

31 release files

0.6.1

31 release files

0.6.0

31 release files

0.5.7

31 release files

0.5.5

25 release files

0.5.4

25 release files

0.4.0

25 release files

0.3.8

21 release files

0.3.6

21 release files

0.3.4

21 release files

0.3.3

21 release files

0.3.2

21 release files

0.3.1

21 release files

0.3.0

21 release files

0.2.8

21 release files

0.2.7

21 release files

0.2.5

21 release files

0.2.4

21 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page