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 conda-forge conda-forge Downloads


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

What's new in 0.23

  • Space weather from its producers, not CelesTrak. The NRLMSISE-00 inputs come from GFZ Potsdam's observed record (CC BY 4.0), the NOAA/SWPC 45-day forecast and NASA's MSAFE monthly forecast, assembled into one table. MSAFE carries a climatological Ap, so long-horizon drag runs no longer fall back silently to a quiet-time Ap = 4 past the 45-day forecast. satkit.spaceweather.coverage() / status(t) say which regime an epoch is in, mirroring the EOP API.
  • EGM2008 is the default gravity model (was EGM96), and the degree/order cap is raised from 40 to 70. The default expansion is unchanged at 4×4, so default-settings propagations shift only by the model change, a few metres per day at LEO; pass gravity_model=gravmodel.egm96 to reproduce earlier results. Solid tides are tide-system aware.
  • IERS finals2000A.all is the primary Earth-orientation source, with CelesTrak's EOP-All.csv as the fallback: a year of predictions instead of six months. The dX/dY celestial-pole offsets from the CSV were read 1000× too small (~1 cm at LEO); fixed.
  • Plain MIT / Apache-2.0 packages. ITU_GRACE16 (CC BY 4.0) is no longer compiled in; it is downloaded on first use of gravmodel.itugrace16. This simplifies satkit licensing.
  • Polite refreshes. EOP and space-weather files are re-fetched only past their publication cadence, with conditional requests, so update_datafiles() at the top of every script is fine.
  • Python: consistent naming. as_* conversions are renamed to_* (time.to_datetime(), quaternion.to_rotation_matrix(), …) to pair with the from_* constructors; the old names work with a DeprecationWarning until 0.25. This continues the property-versus-method rule adopted in 0.22.1: zero-argument nouns are properties, verbs and conversions are methods. spaceweather.predicted_f107() is removed.

Full details, including the smaller breaking changes for Rust users, are in the changelog.

Installation

Rust:

cargo add satkit

Python:

pip install satkit

Pre-built wheels are available for Linux (x86_64, aarch64), macOS (Apple silicon), and Windows (x86_64) on Python 3.10--3.14; Intel Macs build from source (pip install --no-binary satkit satkit) or use conda-forge.

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.egm2008,  # default; also egm96, 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: EGM96, EGM2008, JGM2, JGM3, ITU GRACE16 (spherical harmonics up to degree/order 70; Montenbruck & Gill 2000, §3.2), with tide-system-aware solid tides
  • 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 the GFZ Potsdam observed record (observed F10.7 / centred F10.7A and the 7-element 3-hourly geomagnetic ap history, so density responds to storms within hours), then the NOAA/SWPC 45-day and NASA MSAFE monthly forecasts, which carry a climatological Ap years ahead; validated against GMAT (below)
  • Solar radiation pressure: Cannonball model with shadow function and inverse-square Sun-distance scaling
  • 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 / EGM2008 / JGM2 / JGM3 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) and, only if selected, the ITU_GRACE16 gravity model (1.8 MB, CC BY 4.0), SHA-256 verified against the manifest compiled into satkit (data/manifest.json), fetched from the GitHub release asset, the origin server (JPL / ICGEM), or a SATKIT_DATA_URL mirror.

Refreshed periodically: Earth orientation parameters (polar motion, UT1−UTC) from the IERS Bulletin A file finals2000A.all (CelesTrak's EOP-All.csv as fallback) and space weather from its producers — the observed record from GFZ Potsdam (CC BY 4.0), the 45-day forecast from NOAA/SWPC and the monthly forecast from NASA MSFC — 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 file-driven (CelesTrak's file on the GMAT side, satkit's GFZ-based table on its side; identical across the corpus window). 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 are file-driven (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

The gravity models and IERS tables compiled into the library are third-party data (US Government works and IERS tables, all freely redistributable) — see THIRDPARTY-DATA.md. The optional ITU_GRACE16 model (CC BY 4.0) is not part of the library; it is downloaded only when selected.

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.23.1

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.23.1
File Size Uploaded
satkit-0.23.1.tar.gz 839.8 kB Details

Built distributions (wheels)

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

Total release size: 62.7 MB

Release files / satkit-0.23.1.tar.gz

Download URL satkit-0.23.1.tar.gz
Size 839.8 kB
Tags Source
SHA-256 checksum
How to use checksums
84960b8674b73458fd3c8917faeb276db139d4a869ed05f5bd4f6eac633b77c0
BLAKE2b-256 checksum
How to use checksums
96a4973b6ff2c07169ab98b242e64082f147de0960a137214c9494c5dde1c40e
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp314-cp314-win_amd64.whl
Size 3.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
fb49fe68c2229521ea608733e59dfc4cd14eb731f36de792b0b50d87a43f0c88
BLAKE2b-256 checksum
How to use checksums
a5ad8538d7bfd549f7956fdf068710c093185ef592571cc5c34d23d21a83a556
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp314-cp314-manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bbbae68fd9bd8b7b41bbd592f2403b97c4ac5f2f56b7e3e34508a826d893fec8
BLAKE2b-256 checksum
How to use checksums
c145f9781ded9b88baa100d3fa00647c60e6a430a49ff76af64a47efb75d76e0
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp314-cp314-manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f307508837707f92672a3785e5a782151f4bd6ddd7f50b576d4574f39ac8e832
BLAKE2b-256 checksum
How to use checksums
e90f33bef864bd6e224f68f3710c55a3bd16c0b01034913f7aa277c2a96b2899
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp314-cp314-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a54367b7e802e69ccd9aa576baf06f2f79eaadb16904d6a120e92a5376aac91f
BLAKE2b-256 checksum
How to use checksums
efa5df70e1d5a00b25eb07275deeb18a487463b9526256745d6df516d7599392
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp313-cp313-win_amd64.whl
Size 3.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5960d1960603f3c52ef1445f1fdf77205322f6ec1b45e4d3cee4d26ec71a0e10
BLAKE2b-256 checksum
How to use checksums
eda793c0a513e13789a431bbf354739d3dec62fddec3a87013bbba1d40a8d82f
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8eaa64e717a9ecbfb3fd6421722e0a24df29951a74506d46656cfce2c64e5799
BLAKE2b-256 checksum
How to use checksums
df3166854cce5b7c28262ebb7397261fb1f90f191d6a12db399a3b2d8507d323
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp313-cp313-manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0a292136bfd8d2c0aea4714d597e37b88a7d11e70562f89284508c000b5562d1
BLAKE2b-256 checksum
How to use checksums
1a8bf448c602be0fddcd3b34e5d3a3ca7c7c31fcc1faf5914bd00616e6d91a85
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp313-cp313-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
209a9b62fb2a50034a5127595f8513a0cbe320ca925a9dbd9aaabec3a470010e
BLAKE2b-256 checksum
How to use checksums
079d92fc88a4ce00521bdf7dd22ac05f39ec484455581202163c4ba32564f5ba
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp312-cp312-win_amd64.whl
Size 3.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e0b894733af1fe43339f9aafd6d0fa24a522e762c10936cfa8c2ad6ce97fcd0a
BLAKE2b-256 checksum
How to use checksums
7370bb388079820f1a34311a19518c2edc53d70dea841cb96f28fa7a1d7b2d2d
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp312-cp312-manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e4764fd2818adfac3ffe51ab0693cd55a7f33451bc9c05766fc1f422eef5c81c
BLAKE2b-256 checksum
How to use checksums
160020e6331056cf6e2ede0fe5db5d06648f2b8f0cc165d9121c9aca8f8ca694
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp312-cp312-manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3dcfdfc1031c44fab2c8e978a81860d81c4c7d8626e4c6bbc1bab0ed8709c957
BLAKE2b-256 checksum
How to use checksums
6cf9fdc72a371017c244ac0b1b29d34df56b330f5bf6a7b212cc8a4506ba7191
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp312-cp312-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f952e2cbfd9e328aac6ed3c454e96950474521a48b1f10e3ef60572f499cc28c
BLAKE2b-256 checksum
How to use checksums
47d86ab140ee3d2a7bacc4a20dc599089fcce6bbc957366d5624c842aaa30536
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp311-cp311-win_amd64.whl
Size 3.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
141c203e9436e00e0bcaccda66771f0a32dd91990fd363e6747cb4bc3ec04907
BLAKE2b-256 checksum
How to use checksums
f445f18efbe9fe83a23f07dcfd6222475b792c55d3dabb841b1fe90b8bf6547a
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
635674cd032bba52f2543acf6db8e77828abd0163601837d78ffbcb28c6dfad2
BLAKE2b-256 checksum
How to use checksums
fa0fb2d300c0e85041be83e52c56b68a8d196fcc229f5425682b452983ccae7a
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp311-cp311-manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9e4c1a96d2f8713355541737dee1ec006b3574614a1e45946abda720161142dd
BLAKE2b-256 checksum
How to use checksums
5248d8d7ec0f659e50f92106d2b3d0f7146a5bc960713b3d1eff2a528abd0965
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp311-cp311-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
147cb8b8bf252ebc1f0fb7826e6e1a24e9f89fecead1c3fa838f7e12a8c16b0e
BLAKE2b-256 checksum
How to use checksums
d257a9575e7960c67996af92347890c1c5bf5969d1253e149170232053099173
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp310-cp310-win_amd64.whl
Size 3.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e081d7bcc509f3f87c9cf7f60e0212cea5c4c6d983c24267b1d7aba521fd2edb
BLAKE2b-256 checksum
How to use checksums
ba3f9c2fd6ba17ecb455260d35b5d47ebca06bc48d3512c1e2d6614b49f8506b
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5c685d6e3ee44e5978979bea830d88f9d8b248e981d92f2d3403f2617be7debe
BLAKE2b-256 checksum
How to use checksums
6fc304dea09254f72910e79fd72ad9281c1e8003a42b7a58836d21c430f28599
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp310-cp310-manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
580e7269cbc59e929f0fd516a48d087a2970bdc9352f6a0801fa1e9fef9b42c9
BLAKE2b-256 checksum
How to use checksums
ec9c8c4e5c4fcd33c0274eb33c09d27c0a005420506e6feb32f604dbaeb7da29
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 Sep 24, 2026.

Transparency log

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

Download URL satkit-0.23.1-cp310-cp310-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b80f10cdb69caf37fa64952e23043eb0026470bddce910df47f8527829b7eac6
BLAKE2b-256 checksum
How to use checksums
3a97c9521b03c8dc04ab2e1ba1e1229e014546d1cf722547d5a17063199fe8cb
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 Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.23.1 This release

21 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