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
  • 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.0

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.0
File Size Uploaded
satkit-0.23.0.tar.gz 838.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for satkit 0.23.0
File
satkit-0.23.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
satkit-0.23.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
satkit-0.23.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
satkit-0.23.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
satkit-0.23.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
satkit-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
satkit-0.23.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
satkit-0.23.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
satkit-0.23.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
satkit-0.23.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
satkit-0.23.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
satkit-0.23.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
satkit-0.23.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
satkit-0.23.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
satkit-0.23.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
satkit-0.23.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
satkit-0.23.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
satkit-0.23.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
satkit-0.23.0-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
satkit-0.23.0-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.0.tar.gz

Download URL satkit-0.23.0.tar.gz
Size 838.1 kB
Tags Source
SHA-256 checksum
How to use checksums
dceaaccd2a675730d879ce150681e17209bbbceb12a7f9ba24d795cc76e2b3f6
BLAKE2b-256 checksum
How to use checksums
45408b2cab1413ee88274f302e010db9234b27c4382e02b1cc12a6d9c8a1faf4
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.0-cp314-cp314-win_amd64.whl

Download URL satkit-0.23.0-cp314-cp314-win_amd64.whl
Size 3.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c4d258502bed776824cffe6b7dcc91de228b4f2a7a36e94f73afa43d2d847e83
BLAKE2b-256 checksum
How to use checksums
4031dfcb9833a9c589700596564b9681435f96f065c2150791cec5cca948bc94
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.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL satkit-0.23.0-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
c7aa798e3d013369ce8feac338a4f3392eb3fb6036841c104e64f6acb3c9a138
BLAKE2b-256 checksum
How to use checksums
b07dff80fd5724748f2e7941800b8e0dd71976dd549dc22c885ff48d4b5d9d8f
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.0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL satkit-0.23.0-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
9a4f8a0386d64aa2de6a61217ab40169c8e3c0848942a387e6e1feffd9ac5501
BLAKE2b-256 checksum
How to use checksums
8ac265603cabf5e144ddb76d1f8a92d49c2fb6a6b6c58a69a3e792ab9b4c2c56
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.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL satkit-0.23.0-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
b8bd65105f1f3e97faf2d00bf1c8ac3c69121f06f4b1c50416ce4be4a65bec5c
BLAKE2b-256 checksum
How to use checksums
152c25ec149a4c20c7053b14a2df6de72b98ff6f3da51a99bb24711955e927ac
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.0-cp313-cp313-win_amd64.whl

Download URL satkit-0.23.0-cp313-cp313-win_amd64.whl
Size 3.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
988d0fccba9433c3d99569b0ba0716ccb2e671639fb1391aa32ef51178c152e5
BLAKE2b-256 checksum
How to use checksums
54427c1a40b6202bd7f3525334e573bdef5d9c54192ca22d6b6c7951670ca674
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.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL satkit-0.23.0-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
7219e7f547458a99a4878b8f755c7e71b879908c973ba4ccc59a436d03c4d9f0
BLAKE2b-256 checksum
How to use checksums
95c7f7d960687639861d89774d5e7f12e46ff7d71aa7005128f61300188380b1
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.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL satkit-0.23.0-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
a74db1fdda5d94e7be1419ecba3441056483aaed14e640d5dab8335d29b68427
BLAKE2b-256 checksum
How to use checksums
35e8d8f59925b2cf4e8913cc922158b1b0fbfcf9153ad01188f70958bbea6660
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.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL satkit-0.23.0-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
cd8cf47a442cdc5ec4a188c524eba26d101ecd96f0af6d0e44ab202b1d6dcf8f
BLAKE2b-256 checksum
How to use checksums
80947baf047641a1946d85eef31494a6ff325db190fc3d28b3e112aa90d02c5a
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.0-cp312-cp312-win_amd64.whl

Download URL satkit-0.23.0-cp312-cp312-win_amd64.whl
Size 3.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6d36577668da7856757a4bfac253d06cad9c4c3aef8556f55ad23f43a762f7a3
BLAKE2b-256 checksum
How to use checksums
50cc69460820624c82319c2c2fb5a84f1e3b2c6dc73a2763c5c4eb437d2730be
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.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL satkit-0.23.0-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
b749001aca97abcc85419dba9206425276cd7b442680c7ee36b6e0e805d42b77
BLAKE2b-256 checksum
How to use checksums
bc24bcd8a923a72ebbccda5d3263f5df7f8e87fad2f0e5dc5e1432d98ad22256
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.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL satkit-0.23.0-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
281b7664e7ca0b3b87ddb85d68f6c480f2ca5fee8236322ecc6b8df9fcc23019
BLAKE2b-256 checksum
How to use checksums
7fddfcf3794a44d2c0161005101e1494d847d5a4ef937efa5f297a2f5d94fba7
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.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL satkit-0.23.0-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
3a9aa0e16b8cae81de5a9376b964ff23b489fa9e05cc3713860a017f01330107
BLAKE2b-256 checksum
How to use checksums
946a9ad5bb36a70fa28bbd1be8e2d49a6ca94f4966c97c5af3feb0dec1aab143
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.0-cp311-cp311-win_amd64.whl

Download URL satkit-0.23.0-cp311-cp311-win_amd64.whl
Size 3.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5bb0f96d2fba7e9c654bf8946e2ce3bbabbaf28cb007fffeb9933dfa92b5f7d7
BLAKE2b-256 checksum
How to use checksums
31b50b0a4dea3804a9c9a6730d646669774cc1f82eace3c2bad14fa753b22bf9
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.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL satkit-0.23.0-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
1fea80e1c000a0354373a8d33bac0703a3e062629fbd6f117b9b8645e1c1e2f7
BLAKE2b-256 checksum
How to use checksums
497db697fce9248901eb20716e7f8f4c2617765543a68c6d29cd3f41805da8b7
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.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL satkit-0.23.0-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
5a6fed5ac859ef9fc64d69c3faa100486e07e0f37362b863dd7aa9a50421028a
BLAKE2b-256 checksum
How to use checksums
32e962da037be228a7ebb2f38e14e49a5e8cf8483ad7c213e5badf67de3a5e57
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.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL satkit-0.23.0-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
76dbf3d418b6bd7ea69d3e6d0249297607986de1212466aea6d9e331c155aef2
BLAKE2b-256 checksum
How to use checksums
08323297cea58e141976e6bd76e10e883b019e85252dbe23999b71e1af1bdbed
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.0-cp310-cp310-win_amd64.whl

Download URL satkit-0.23.0-cp310-cp310-win_amd64.whl
Size 3.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ed8f1ea9bd623ef30370e53821dfbe6551742a8031d15c00d380682b6f0d3a16
BLAKE2b-256 checksum
How to use checksums
cc61fb12074ce219d2082abff966b20dfe23557a7b4a510e06f5b41f3508b061
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.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL satkit-0.23.0-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
2fafc9b8b7e783dbe8e8f53f645bede64f282d14b8a25da69a10d5cf86dabf4b
BLAKE2b-256 checksum
How to use checksums
2eab019cc3aada0feb10a83c2afa819f731ae362e41133c8daa74057e72f8f66
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.0-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL satkit-0.23.0-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
286d5fae261b182fab97cea1b7e474e3995f90fb1263cb84458f5750642116df
BLAKE2b-256 checksum
How to use checksums
47434f44cb4200fcff835cc7e192af0b6366c61193753052b640a089e782a013
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.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL satkit-0.23.0-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
63bf7b759b0669a251c2a24333433bc28e306776d4cbee37f00a3eb04e0bef1f
BLAKE2b-256 checksum
How to use checksums
6851197543b4c38b73dfcfe22f1e46cfdfd3e34b1ecbbbf36e4a6bde98f84b2e
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.0 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