sgp4
The C++ SGP4 routine that, given an Earth satellite TLE, computes its position.
2.27
1.0M downloads/mo
#4457 most downloaded on PyPI
brandon-rhodes/python-sgp4
What this package is like to depend on
Last release 1 months ago
03 Jul 2026
Release timing varies
gaps range from 3 weeks to 1.3 years
This project publishes no release notes
the list below is its commits, not an announcement
Nothing withdrawn
no release was ever pulled
14 years old
32 releases · first in 2012
2 releases in the last 12 months
see the full history below
Release timeline
32 releases · Aug 2012 to Jul 2026Releases
latest 32-
2.2703 Jul 2026Commits, not release notes
This project publishes no release notes. Between
2.26and2.27there were 5 commits, 5 of them substantive:- Move README material out of init.py for #165
- Pivot check_satrec(), check_satrec() off of docs
- Reinstate doctests (they now live in
README.rst) - Declare version 2.27
- Actual 2.27: forgot to update changelog
-
2.2626 Jun 2026Commits, not release notes
This project publishes no release notes. Between
2.25and2.26there were 13 commits, 13 of them substantive:- CI: First step toward Python 3.14 support (#147)
- Update CI and add python 3.14 support (#150)
- Add missing release date for 2.25; finish notes
- WHL: ensure wheels get compiled C++ (#153)
- Rewrite PyTypeObject structs as heap types (#154)
- Treat
PyTypeObjectas an opaque struct (#157) - Use Limited API
PyUnicode_*()functions (#156) - Avoid deprecation warnings from setuptools (#155)
- Declare Python 3 wheels abi3-compliant (#151)
- Move cibuildwheel's configuration to TOML (#159)
- CI: upgrade out-of-date Github Actions (#162)
- CI: add musllinux to the build matrix (#161)
- Declare version 2.26
-
2.2504 Aug 2025Commits, not release notes
This project publishes no release notes. Between
2.24and2.25there were 14 commits, 14 of them substantive:- CI: fix artifact downloads of wheels for PyPI
- An experiment: building a pure-Python distribution
- setup.py: add
provides; simplify; re-indent - Try giving
sgp4_pure_pythonits own setup.py - Add 3.13 to list of supported Python versions
- Add Python 3.13 wheels to CI build (#138)
- CI: consolidate, simplify; ensure aarch64 wheels
- Fix artifact download for PyPI publishing (#142)
- CI: try upgrading 'gh-action-pypi-publish' action
- Replace
toxwith a dozen-line shell script - Have
test.shtest both compiled and pure Python - Fix missing
revnumin sats built with sgp4init() - Add
gravconstparameter toomm.initialize() - Version 2.25
-
2.2415 Feb 2025Commits, not release notes
This project publishes no release notes. Between
2.23and2.24there were 14 commits, 14 of them substantive:- Specify exact version in GitHub Action step (#126)
- Fix #121: Python should not require checksum char
- Remove words ‘Partway through’ to clarify text
- Add ‘OMM’ acronym to
omm.pydocstring - Make try-except more explicit: check ImportError
- Document that ‘SGP4’ uses SDP4 for deep space sats
- Add a missing verb to a sentence in the docs
- Add check_satrec() and document parameter ranges
- Three fixes for errors with GitHub Actions
- Tweak tox.ini to get it working well again
- Document how to load satellites from JSON OMM file
- Rename GitHub Action to
ci.ymlso I can find it` - Also change internal name of GitHub Action
- Version 2.24
-
2.2311 Nov 2023Commits, not release notes
This project publishes no release notes. Between
2.22and2.23there were 5 commits, 5 of them substantive:- Update C++ code to Vallado revision of 2023 May 09
- Fix date used in the first example in the docs
- Version 2.23, because Python 3.12 broke the tests
- Switch to only doing local testing for Python 2.7
- GitHub Actions: add 3.12, pin NumPy, cleanup (#125)
-
2.2227 Apr 2023Commits, not release notes
This project publishes no release notes. Between
2.21and2.22there were 29 commits, 29 of them substantive:- Add Python 3.10 to CI
- Update CI support for M1, aarch64 wheels (#103)
- Expose C++ string used to store satellite number
- Refuse to init a satellite with satnum >339999
- Add quick test for new
satnum_strattribute - Rename test strings to make test easier to read
- Give satnum string to fallback Python class too
- Fix #109: sgp4init() should set "classification"
- To help fix CI, make test assert more informative
- Fix Python code for alpha5 satellite number
- Remove old TODO that’s now been implemented
- Repent making
satnum_stra Python 3 bytes object - Fix documented units for ndot and nddot (#115)
- Remove trailing whitespace
- Add Python 3.11 to CI
- Fix “accel” script to return proper error code
- Move new changelog item into proper place
- Fix #116 by adding check for non-ASCII TLE lines
- Fix #112 with link to SGP4 Report at top of docs
- Fix #111: document the "accelerated" boolean
…and 9 more.
-
2.2106 Apr 2022Commits, not release notes
This project publishes no release notes. Between
2.20and2.21there were 7 commits, 7 of them substantive:- Add dump_satrec() convenience function
- Copyedits; switch sgp4init() example call to ISS
- Remove “whichconst” attribute from Python “Satrec”
- Add two missing names to sgp4.api.all
- Fix #102: Satrec.error attribute had wrong address
- Reduce test accuracy to match GitHub Actions
- Declare version 2.21
-
2.2001 Jul 2021Commits, not release notes
This project publishes no release notes. Between
2.19and2.20there were 10 commits, 10 of them substantive:- Use python 3.7 when running cibuildwheel (#91)
- Remove trailing blank lines
- Replace overly precise test float with equivalent
- Fix sgp4init() to always produce a 2-digit epochyr
- Add “-b” to tox command, so stdin/err get buffered
- sgp4init(): round epochdays/jdsatepochF to 8 places
- Fix #94 by improving export of positive exponents
- Declare 2.20, and move version into package
- Fix setup.py on Windows (encoding is not UTF-8)
- Quick setup.py fix for Python 2.7
-
2.1922 Apr 2021Commits, not release notes
This project publishes no release notes. Between
2.18and2.19there were 5 commits, 5 of them substantive:- Document the complete list of supported attributes
- Further copyediting of the module documentation
- Start a changelog entry for the next version
- Response to a question—clarify elements stay fixed
- Declare version 2.19
-
2.1808 Mar 2021Nothing published for this version
-
2.1717 Feb 2021Nothing published for this version
-
2.1612 Feb 2021Nothing published for this version
-
2.1508 Jan 2021Nothing published for this version
-
2.1416 Dec 2020Nothing published for this version
-
2.1314 Oct 2020Nothing published for this version
-
2.1228 May 2020Nothing published for this version
-
2.1125 May 2020Nothing published for this version
-
2.1022 May 2020Nothing published for this version
-
2.921 May 2020Nothing published for this version
-
2.807 May 2020Nothing published for this version
-
2.724 Apr 2020Nothing published for this version
-
2.620 Apr 2020Nothing published for this version
-
2.522 Mar 2020Nothing published for this version
-
2.425 Feb 2020Nothing published for this version
-
2.304 Feb 2020Nothing published for this version
-
2.202 Feb 2020Nothing published for this version
-
2.102 Feb 2020Nothing published for this version
-
2.030 Jan 2020Nothing published for this version
-
1.416 Jan 2015Nothing published for this version
-
1.327 Jun 2014Nothing published for this version
-
1.123 Nov 2012Nothing published for this version
-
1.026 Aug 2012Nothing published for this version