Skip to main content

Track Earth satellites given TLE data, using up-to-date 2020 SGP4 routines.

Project description

This package compiles the official C++ code from Revisiting Spacetrack Report #3 (AIAA 2006-6753) — specifically, the 2023 May 09 release from David Vallado’s Fundamentals of Astrodynamics and Applications webpage — and uses it to compute the positions of satellites in Earth orbit. Satellite orbital elements can be loaded from either a legacy TLE file or from a modern OMM element set, both of which you can fetch from a site like CelesTrak.

What we today call ‘SGP4’ in fact merges together what in the 1970s were originally two separate satellite propagation routines, but which are now selected automatically:

  • SGP4 — the ‘Simplified General Perturbations’ model is used for satellites close enough to Earth that their orbit takes less than 225 minutes (3 hours 45 minutes) to complete.

  • SDP4 — the ‘Simplified Deep Space Perturbations’ model is used for satellites farther from Earth, which take 225 minutes or longer to compete an orbit.

If your machine can’t install or compile the C++ code, then this package falls back to using a slower pure-Python implementation of the library. Tests make sure that its positions agree to within 0.1 mm with the standard version of the algorithm — an error far less than the 1–3 km/day by which satellites themselves deviate from the ideal orbits described in TLE files.

An accelerated routine is available that, given a series of times and of satellites, computes a whole array of output positions using a fast C++ loop. See the “Array Acceleration” section below.

Note that the SGP4 propagator returns raw x,y,z Cartesian coordinates in a “True Equator Mean Equinox” (TEME) reference frame that’s centered on the Earth but does not rotate with it — an “Earth centered inertial” (ECI) reference frame. The SGP4 propagator itself does not implement the math to convert these positions into more official ECI frames like J2000 or the ICRS, nor into any Earth-centered Earth-fixed (ECEF) frames like the ITRS, nor into latitudes and longitudes through an Earth ellipsoid like WGS84. For conversions into these other coordinate frames, look for a comprehensive astronomy library, like the Skyfield library that is built atop this one (see the section on Earth satellites in its documentation).

Usage

You will probably first want to to check whether your machine has successfully installed the fast SGP4 C++ code, or is using the slow Python version (in which case this value will be false):

>>> from sgp4.api import accelerated
>>> print(accelerated)
True

This library uses the same function names as the official C++ code, to help users who are already familiar with SGP4 in other languages. Here is how to compute the x,y,z position and velocity for the International Space Station at 20:42:00 on 2019 December 9:

>>> from sgp4.api import Satrec
>>>
>>> s = '1 25544U 98067A   19343.69339541  .00001764  00000-0  38792-4 0  9991'
>>> t = '2 25544  51.6439 211.2001 0007417  17.6667  85.6398 15.50103472202482'
>>> satellite = Satrec.twoline2rv(s, t)
>>>
>>> jd, fr = 2458826.5, 0.8625
>>> e, r, v = satellite.sgp4(jd, fr)
>>> e
0
>>> print(r)  # True Equator Mean Equinox position (km)
(-6088.92..., -936.13..., -2866.44...)
>>> print(v)  # True Equator Mean Equinox velocity (km/s)
(-1.525..., -5.538..., 5.068...)

As input, you can provide either:

  • A simple floating-point Julian Date for jd and the value 0.0 for fr, if you are happy with the precision of a 64-bit floating point number. Note that modern Julian Dates are greater than 2,450,000 which means that nearly half of the precision of a 64-bit float will be consumed by the whole part that specifies the day. The remaining digits will provide a precision for the fraction of around 20.1 µs. This should be no problem for the accuracy of your result — satellite positions are usually off by a few kilometers anyway, far less than a satellite moves in 20.1 µs — but if you run a solver that dives down into the microseconds while searching for a rising or setting time, the solver might be bothered by the 20.1 µs plateau between each jump in the satellite’s position.

  • Or, you can provide a coarse date jd plus a very precise fraction fr that supplies the rest of the value. The Julian Date for which the satellite position is computed is the sum of the two values. One common practice is to provide the whole number as jd and the fraction as fr; another is to have jd carry the fraction 0.5 since UTC midnight occurs halfway through each Julian Date. Either way, splitting the value allows a solver to run all the way down into the nanoseconds and still see SGP4 respond smoothly to tiny date adjustments with tiny changes in the resulting satellite position.

Here is how to intrepret the results:

  • e will be a non-zero error code if the satellite position could not be computed for the given date. You can from sgp4.api import SGP4_ERRORS to access a dictionary mapping error codes to error messages explaining what each code means.

  • r measures the satellite position in kilometers from the center of the earth in the idiosyncratic True Equator Mean Equinox coordinate frame used by SGP4.

  • v velocity is the rate at which the position is changing, expressed in kilometers per second.

If your application does not natively handle Julian dates, you can compute jd and fr from calendar dates using jday().

>>> from sgp4.api import jday
>>> jd, fr = jday(2019, 12, 9, 20, 42, 0)
>>> jd
2458826.5
>>> fr
0.8625

Double-checking your TLE lines

Because TLE is an old punch-card fixed-width format, it’s very sensitive to whether exactly the right number of spaces are positioned in exactly the right columns. If you suspect that your satellite elements aren’t getting loaded correctly, try calling the slow pure-Python version of twoline2rv(), which performs extra checks that the fast C++ doesn’t:

>>> from sgp4.earth_gravity import wgs72
>>> from sgp4.io import twoline2rv
>>> assert twoline2rv(s, t, wgs72)

Any TLE formatting errors will be raised as a ValueError.

Using OMM elements instead of TLE

The industry is migrating away from the original TLE format, because it will soon run out of satellite numbers.

  • Some TLE files now use a new “Alpha-5” convention that expands the range of satellite numbers by using an initial letter; for example, “E8493” means satellite 148493. This library supports the Alpha-5 convention and should return the correct integer in Python.

  • Some authorities are now distributing satellite elements in an “OMM” Orbit Mean Elements Message format that replaces the TLE format. You can learn about OMM in Dr. T.S. Kelso’s “A New Way to Obtain GP Data” at the CelesTrak site.

You can already try out experimental support for OMM:

>>> from sgp4 import omm

Reading OMM data takes two steps, because OMM supports several different text formats. First, parse the input text to recover the field names and values that it stores; second, build a Python satellite object from those field values. The fastest and most efficient format is usually CSV, since the column names are only given once, on the first line:

>>> with open('sample_omm.csv') as f:
...     for fields in omm.parse_csv(f):
...         sat = Satrec()
...         omm.initialize(sat, fields)

The JSON format is more verbose because it repeats the field names over again in every single record:

>>> import json
>>> with open('sample_omm.json') as f:
...     record_list = json.load(f)
>>> for fields in record_list:
...     sat = Satrec()
...     omm.initialize(sat, fields)

The most verbose format is XML:

>>> with open('sample_omm.xml') as f:
...     for fields in omm.parse_xml(f):
...         sat = Satrec()
...         omm.initialize(sat, fields)

Either way, the satellite object should wind up properly initialized and ready to start producing positions.

The omm.initialize() routine uses the standard WGS72 gravity model by default. To make your own choice of model, supply a third argument that is one of the three constants WGS72OLD, WGS72, or WGS84 (which are shown below in the section on ‘Gravity’).

If you are interested in saving satellite parameters using the new OMM format, then read the section on “Export” below.

Epoch

Over a given satellite’s lifetime, dozens or hundreds of different TLE records will be produced as its orbit evolves. Each TLE record specifies the “epoch date” for which it is most accurate. Typically a TLE is only useful for a couple of weeks to either side of its epoch date, beyond which its predictions become unreliable.

Satellite objects natively provide their epoch as a two-digit year and then a fractional number of days into the year:

>>> satellite.epochyr
19
>>> satellite.epochdays
343.69339541

Because Sputnik was launched in 1957, satellite element sets will never refer to an earlier year, so years 57 through 99 mean 1957–1999 while 0 through 56 mean 2000–2056. The TLE format will presumably be obsolete in 2057 and have to be upgraded to 4-digit years.

To turn the number of days and its fraction into a calendar date and time, use the days2mdhms() function.

>>> from sgp4.api import days2mdhms
>>> month, day, hour, minute, second = days2mdhms(19, 343.69339541)
>>> month
12
>>> day
9
>>> hour
16
>>> minute
38
>>> second
29.363424

The SGP4 library also translates those two numbers into a Julian date and fractional Julian date, since Julian dates are more commonly used in astronomy.

>>> satellite.jdsatepoch
2458826.5
>>> satellite.jdsatepochF
0.69339541

Finally, a convenience function is available in the library if you need the epoch date and time as Python datetime.

>>> from sgp4.conveniences import sat_epoch_datetime
>>> sat_epoch_datetime(satellite)
datetime.datetime(2019, 12, 9, 16, 38, 29, 363423, tzinfo=UTC)

Array Acceleration

To avoid the expense of running a Python loop when you have many dates and times for which you want a position, you can pass your Julian dates as arrays. The array routine is only faster if your machine has successfully installed or compiled the SGP4 C++ code, so you might want to check first:

>>> from sgp4.api import accelerated
>>> print(accelerated)
True

To call the array routine, make NumPy arrays for jd and fr that are the same length:

>>> import numpy as np
>>> np.set_printoptions(precision=2)
>>> jd = np.array((2458826, 2458826, 2458826, 2458826))
>>> fr = np.array((0.0001, 0.0002, 0.0003, 0.0004))
>>> e, r, v = satellite.sgp4_array(jd, fr)
>>> print(e)
[0 0 0 0]
>>> print(r)
[[-3431.31  2620.15 -5252.97]
 [-3478.86  2575.14 -5243.87]
 [-3526.09  2529.89 -5234.28]
 [-3572.98  2484.41 -5224.19]]
>>> print(v)
[[-5.52 -5.19  1.02]
 [-5.49 -5.22  1.08]
 [-5.45 -5.25  1.14]
 [-5.41 -5.28  1.2 ]]

To avoid the expense of Python loops when you have many satellites and dates, build a SatrecArray from several individual satellites. Its sgp4() method will expect both jd and fr to be NumPy arrays, so if you only have one date, be sure to provide NumPy arrays of length one. Here is a sample computation for 2 satellites and 4 dates:

>>> u = '1 20580U 90037B   19342.88042116  .00000361  00000-0  11007-4 0  9996'
>>> w = '2 20580  28.4682 146.6676 0002639 185.9222 322.7238 15.09309432427086'
>>> satellite2 = Satrec.twoline2rv(u, w)
>>> from sgp4.api import SatrecArray
>>> a = SatrecArray([satellite, satellite2])
>>> e, r, v = a.sgp4(jd, fr)
>>> np.set_printoptions(precision=2)
>>> print(e)
[[0 0 0 0]
 [0 0 0 0]]
>>> print(r)
[[[-3431.31  2620.15 -5252.97]
  [-3478.86  2575.14 -5243.87]
  [-3526.09  2529.89 -5234.28]
  [-3572.98  2484.41 -5224.19]]
<BLANKLINE>
 [[ 5781.85  2564.   -2798.22]
  [ 5749.36  2618.59 -2814.63]
  [ 5716.35  2672.94 -2830.78]
  [ 5682.83  2727.05 -2846.68]]]
>>> print(v)
[[[-5.52 -5.19  1.02]
  [-5.49 -5.22  1.08]
  [-5.45 -5.25  1.14]
  [-5.41 -5.28  1.2 ]]
<BLANKLINE>
 [[-3.73  6.33 -1.91]
  [-3.79  6.3  -1.88]
  [-3.85  6.28 -1.85]
  [-3.91  6.25 -1.83]]]

Export

If you have a Satrec you want to share with friends or persist to a file, there’s an export routine that will turn it back into a TLE:

>>> from sgp4 import exporter
>>> line1, line2 = exporter.export_tle(satellite)
>>> line1
'1 25544U 98067A   19343.69339541  .00001764  00000-0  38792-4 0  9991'
>>> line2
'2 25544  51.6439 211.2001 0007417  17.6667  85.6398 15.50103472202482'

Happily, these are exactly the two TLE lines that we used to create this satellite object:

>>> (s == line1) and (t == line2)
True

Another export routine is available that produces the fields defined by the new OMM format (see the “OMM” section above):

>>> from pprint import pprint
>>> fields = exporter.export_omm(satellite, 'ISS (ZARYA)')
>>> pprint(fields)
{'ARG_OF_PERICENTER': 17.6667,
 'BSTAR': 3.8792e-05,
 'CENTER_NAME': 'EARTH',
 'CLASSIFICATION_TYPE': 'U',
 'ECCENTRICITY': 0.0007417,
 'ELEMENT_SET_NO': 999,
 'EPHEMERIS_TYPE': 0,
 'EPOCH': '2019-12-09T16:38:29.363423',
 'INCLINATION': 51.6439,
 'MEAN_ANOMALY': 85.6398,
 'MEAN_ELEMENT_THEORY': 'SGP4',
 'MEAN_MOTION': 15.501034720000002,
 'MEAN_MOTION_DDOT': 0.0,
 'MEAN_MOTION_DOT': 1.764e-05,
 'NORAD_CAT_ID': 25544,
 'OBJECT_ID': '1998-067A',
 'OBJECT_NAME': 'ISS (ZARYA)',
 'RA_OF_ASC_NODE': 211.2001,
 'REF_FRAME': 'TEME',
 'REV_AT_EPOCH': 20248,
 'TIME_SYSTEM': 'UTC'}

Gravity

The SGP4 algorithm operates atop a set of constants specifying how strong the Earth’s gravity is. The most recent official paper on SGP4 (see below) specifies that “We use WGS-72 as the default value”, so this Python module uses the same default. But in case you want to use either the old legacy version of the WGS-72 constants, or else the non-standard but more modern WGS-84 constants, the twoline2rv() constructor takes an optional argument:

>>> from sgp4.api import WGS72OLD, WGS72, WGS84
>>> satellite3 = Satrec.twoline2rv(s, t, WGS84)

You will in general get less accurate results if you choose WGS-84. Even though it reflects more recent and accurate measures of the Earth, satellite TLEs across the industry are most likely generated with WGS-72 as their basis. The positions you generate will better agree with the real positions of each satellite if you use the same underlying gravity constants as were used to generate the TLE.

Providing your own elements

If instead of parsing a TLE you want to specify orbital elements directly, you can pass them as floating point numbers to a satellite object’s sgp4init() method. For example, here’s how to build the same International Space Station orbit that we loaded from a TLE in the first code example above:

>>> satellite2 = Satrec()
>>> satellite2.sgp4init(
...     WGS72,                # gravity model
...     'i',                  # 'a' = old AFSPC mode, 'i' = improved mode
...     25544,                # satnum: Satellite number
...     25545.69339541,       # epoch: days since 1949 December 31 00:00 UT
...     3.8792e-05,           # bstar: drag coefficient (1/earth radii)
...     0.0,                  # ndot: ballistic coefficient (radians/minute^2)
...     0.0,                  # nddot: mean motion 2nd derivative (radians/minute^3)
...     0.0007417,            # ecco: eccentricity
...     0.3083420829620822,   # argpo: argument of perigee (radians 0..2pi)
...     0.9013560935706996,   # inclo: inclination (radians 0..pi)
...     1.4946964807494398,   # mo: mean anomaly (radians 0..2pi)
...     0.06763602333248933,  # no_kozai: mean motion (radians/minute)
...     3.686137125541276,    # nodeo: R.A. of ascending node (radians 0..2pi)
... )

You might notice that these numbers don’t look the same as the numbers in the TLE above. For example, the inclination was 51.6439 in the TLE, but is 0.901356 here. That’s because sgp4init() uses different units than the TLE format: angles are in radians rather than degrees. But this is the same orbit and will produce the same positions.

If you want to double-check that your elements are valid, you can run the function check_satrec(), which will raise a ValueError with an informative error message if any of the angles are out of bounds. If the satellite is fine, it simply returns, without raising an exception:

>>> from sgp4.conveniences import check_satrec
>>> check_satrec(satellite2)

Note that ndot and nddot are ignored by the SGP4 propagator, so you can leave them 0.0 without any effect on the resulting satellite positions. But they do at least get saved to the satellite object, and written out if you write the parameters to a TLE or OMM file (see the “Export” section, above).

To compute the “epoch” argument, take the epoch’s Julian date and subtract 2433281.5 days.

While the underlying sgp4init() routine leaves the attributes epochyr, epochdays, jdsatepoch, and jdsatepochF unset, this library goes ahead and sets them anyway for you, using the epoch you provided.

See the next section for the complete list of attributes that are available from the satellite record once it has been initialized.

Attributes

There are several dozen Satrec attributes that expose data from the underlying C++ SGP4 record. They fall into the following categories.

Identification

These are copied directly from the TLE record but aren’t used by the propagation math.

satnum_str — Satellite number, as a 5-character string.
satnum — Satellite number, converted to an integer.
classification'U', 'C', or 'S' indicating the element set is Unclassified, Classified, or Secret.
ephtype — Integer “ephemeris type”, used internally by space agencies to mark element sets that are not ready for publication; this field should always be 0 in published TLEs.
elnum — Element set number.
revnum — Satellite’s revolution number at the moment of the epoch, presumably counting from 1 following launch.

Orbital Elements

These are the orbital parameters, copied verbatim from the text of the TLE record. They describe the orbit at the moment of the TLE’s epoch and so remain constant even as the satellite record is used over and over again to propagate positions for different times.

epochyr — Epoch date: the last two digits of the year.
epochdays — Epoch date: the number of days into the year, including a decimal fraction for the UTC time of day.
ndot — First time derivative of the mean motion (loaded from the TLE, but otherwise ignored).
nddot — Second time derivative of the mean motion (loaded from the TLE, but otherwise ignored).
bstar — Ballistic drag coefficient B* (1/earth radii).
inclo — Inclination (radians 0 ≤ i < pi).
nodeo — Right ascension of ascending node (radians 0 ≤ Ω < 2pi).
ecco — Eccentricity.
argpo — Argument of perigee (radians 0 ≤ ω < 2pi).
mo — Mean anomaly (radians 0 ≤ M < 2pi).
no_kozai — Mean motion (radians/minute).
no — Alias for no_kozai, for compatibility with old code.

You can also access the epoch as a Julian date:

jdsatepoch — Whole part of the epoch’s Julian date.
jdsatepochF — Fractional part of the epoch’s Julian date.

Computed Orbit Properties

These are computed when the satellite is first loaded, as a convenience for callers who might be interested in them. They aren’t used by the SGP4 propagator itself.

a — Semi-major axis (earth radii).
altp — Altitude of the satellite at perigee (earth radii, assuming a spherical Earth).
alta — Altitude of the satellite at apogee (earth radii, assuming a spherical Earth).
argpdot — Rate at which the argument of perigee is changing (radians/minute).
gsto — Greenwich Sidereal Time at the satellite’s epoch (radians).
mdot — Rate at which the mean anomaly is changing (radians/minute)
nodedot — Rate at which the right ascension of the ascending node is changing (radians/minute).

Propagator Mode

operationmode — A single character that directs SGP4 to either operate in its modern 'i' improved mode or in its legacy 'a' AFSPC mode.
method — A single character, chosen automatically when the orbital elements were loaded, that indicates whether SGP4 has chosen to use its built-in 'n' Near Earth or 'd' Deep Space mode for this satellite.

Result of Most Recent Propagation

t — The time you gave when you most recently asked SGP4 to compute this satellite’s position, measured in minutes before (negative) or after (positive) the satellite’s epoch.
error — Error code produced by the most recent SGP4 propagation you performed with this element set.

The possible error codes are:

  1. No error.

  2. Mean eccentricity is outside the range 0 ≤ e < 1.

  3. Mean motion has fallen below zero.

  4. Perturbed eccentricity is outside the range 0 ≤ e ≤ 1.

  5. Length of the orbit’s semi-latus rectum has fallen below zero.

  6. (No longer used.)

  7. Orbit has decayed: the computed position is underground. (The position is still returned, in case the vector is helpful to software that might be searching for the moment of re-entry.)

Mean Elements From Most Recent Propagation

Each time the SGP4 routine generates a satellite position, it also saves a set of “singly averaged mean elements” that describe shape of the satellite’s orbit at that moment. They are averaged with respect to the mean anomaly and include the effects of secular gravity, atmospheric drag, and — in Deep Space mode — of those pertubations from the Sun and Moon that SGP4 averages over an entire revolution of each of those bodies. They omit both the shorter-term and longer-term periodic pertubations from the Sun and Moon that SGP4 applies right before computing each position.

am — Average semi-major axis (earth radii).
em — Average eccentricity.
im — Average inclination (radians).
Om — Average right ascension of ascending node (radians).
om — Average argument of perigee (radians).
mm — Average mean anomaly (radians).
nm — Average mean motion (radians/minute).

Gravity Model Parameters

When the satellite record is initialized, your choice of gravity model results in a slate of eight constants being copied in:

tumin — Minutes in one “time unit”.
xke — The reciprocal of tumin.
mu — Earth’s gravitational parameter (km³/s²).
radiusearthkm — Radius of the earth (km).
j2, j3, j4 — Un-normalized zonal harmonic values J₂, J₃, and J₄.
j3oj2 — The ratio J₃/J₂.

Printing satellite attributes

If you want to print out a satellite, this library provides a convenient “attribute dump” routine that takes a satellite and generates lines that list its attributes:

from sys import stdout
from sgp4.conveniences import dump_satrec

stdout.writelines(dump_satrec(satellite))

If you want to compare two satellites, then simply pass a second argument; the second satellite’s attributes will be printed in a second column next to those of the first.

stdout.writelines(dump_satrec(satellite, satellite2))

Validation against the official algorithm

This implementation passes all of the automated tests in the August 2010 release of the reference implementation of SGP4 by Vallado et al., who originally published their revision of SGP4 in 2006:

Vallado, David A., Paul Crawford, Richard Hujsak, and T.S. Kelso, “Revisiting Spacetrack Report #3,” presented at the AIAA/AAS Astrodynamics Specialist Conference, Keystone, CO, 2006 August 21–24.

If you would like to review the paper, it is available online. You can always download the latest version of their code for comparison against this Python module (or other implementations) at AIAA-2006-6753.zip.

For developers

Developers can check out this full project from GitHub:

https://github.com/brandon-rhodes/python-sgp4

To run its unit tests, install Python 2, Python 3, and the tox testing tool. The tests runing in Python 2 will exercise the fallback pure-Python version of the routines, while Python 3 exercises the fast new C++ accelerated code:

cd python-sgp4
tox

Legacy API

Before this library pivoted to wrapping Vallado’s official C++ code and was operating in pure Python only, it had a slightly quirkier API, which is still supported for compatibility with older clients. You can learn about it by reading the documentation from version 1.4 or earlier:

https://pypi.org/project/sgp4/1.4/

Changelog

Not yet released — 2.25

  • Added a gravconst parameter to the omm.initialize() routine.

2024-02-15 — 2.24

  • The documentation now specifies the acceptable range for orbital element angles like inclination and mean anomaly, and a new function check_satrec(sat) will tell the caller if any of the angles are out of bounds.

  • The documentation now gives an example of loading elements from JSON.

  • Tweaked the fallback Python code to accept TLE lines without a final checksum character in the 69th column, to match the C++ code.

2023-10-01 — 2.23

  • Tweaked tests to resolve breakage introduced by Python 3.12.

2023-04-27 — 2.22

  • Added a satnum_str attribute, exposing the fact that the C++ now stores the satellite number as a string; and check that satnum is never greater than 339999.

  • Fixed the units of the nddot attribute when the value is loaded from an OMM record. (Since the TLE computation itself ignores this attribute, this did not affect any satellite positions.)

  • Enhanced the fallback Python version of twoline2rv() to verify that TLE lines are ASCII, and added documentation using it to double-check TLEs that might suffer from non-ASCII characters.

  • If the user doesn’t set a satellite’s classification, it now defaults to 'U' for ‘unclassified’.

2022-04-06 — 2.21

  • Added dump_satrec() to the sgp4.conveniences module.

  • Fixed the Satrec attribute .error, which was previously building a nonsense integer from the wrong data in memory.

  • Removed .whichconst from Python Satrec, to help users avoid writing code that will break when the C++ extension is available.

2021-07-01 — 2.20

  • Taught sgp4init() to round both epochdays and jdsatepochF to the same 8 decimal places used for the date fraction in a TLE, if the user-supplied epoch itself has 8 or fewer digits behind the decimal point. This should make it easier to build satellites that round-trip to TLE format with perfect accuracy.

  • Fixed how export_tle() formats the BSTAR field when its value, if written in scientific notation, has a positive exponent.

  • Fixed the epochyr assigned by sgp4init() so years before 2000 have two digits instead of three (for example, so that 1980 produces an epochyr of 80 instead of 980).

2021-04-22 — 2.19

  • Extended the documentation on the Python Package Index and in the module docstring so it lists every Satrec attribute that this library exposes; even the more obscure ones might be useful to folks working to analyze satellite orbits.

2021-03-08 — 2.18

  • If a TLE satellite number lacks the required 5 digits, twoline2rv() now gives the underlying C++ library a little help so it can still parse the classification and international designator correctly.

  • The Satrec attributes jdsatepoch, jdsatepochF, epochyr, and epochdays are now writeable, so users can adjust their values manually — which should make up for the fact that the sgp4init() method can’t set them with full floating point precision.

2021-02-17 — 2.17 — Fixed where in the output array the sgp4_array() method writes NaN values when an SGP4 propagation fails.
2021-02-12 — 2.16 — Fixed days2mdhms() rounding to always match TLE epoch.
2021-01-08 — 2.15 — Fixed parsing of the satnum TLE field in the Python fallback code, when the field has a leading space; added OMM export routine.
2020-12-16 — 2.14 — New data formats: added OMM message support for both XML and CSV, and added support for the new Alpha-5 extension to TLE files.
2020-10-14 — 2.13 — Enhanced sgp4init() with custom code that also sets the epochdays and epochyr satellite attributes.
2020-05-28 — 2.12 — Moved the decision of whether to set the locale during twoline2rv() from import time to runtime, for users who change locales after their application is up and running.
2020-05-24 — 2.11 — Fixed a regression in how dates are split into hours, minutes, and seconds that would sometimes produce a time whose second=60, crashing the pure-Python version of the library.
2020-05-22 — 2.10 — Switch the locale temporarily to C during the C++ accelerated twoline2rv(), since it does not protect its sscanf() calls from locales that, like German, expect comma decimal points instead of the period decimal points always used in a TLE.
2020-05-21 — 2.9 — Added sat_epoch_datetime(), expanded documentation around converting a satellite epoch to a date and time, and started rounding the epoch to exactly the digits provided in the TLE; and removed the Satrec.epoch attribute from Python fallback code to better match the C++ version.
2020-05-07 — 2.8 — New function jday_datetime() is now available in the sgp4.conveniences module, thanks to Egemen Imre.
2020-04-24 — 2.7 — New method sgp4init() (thank you, Chris Lewicki!) is available.
2020-04-20 — 2.6 — New routine export_tle() (thank you, Egemen Imre!) is available. Improved how the accelerated C++ backend parses the intldesg string and the revnum integer.
2020-03-22 — 2.5 — Gave the new accelerated twoline2rv() an optional argument that lets the user choose a non-standard set of gravity constants.
2020-02-25 — 2.4 — Improved the jday() docstring; made the old legacy Python resilient if the day of the month is out-of-range (past the end of the month) in a TLE; and Mark Rutten fixed the C++ so it compiles on Windows!
2020-02-04 — 2.3 — Removed experimental code that caused performance problems for users with Numba installed.
2020-02-02 — 2.2 — A second release on Palindrome Day: fix the Satrec .epochyr attribute so it behaves the same way in Python as it does in the official C library, where it is only the last 2 digits of the year; and make .no available in the Python fallback case as well.
2020-02-02 — 2.1 — Add vectorized array method to Satrec object; add .no attribute to new Satrec object to support old code that has not migrated to the new name .no_kozai; gave Python wrapper classes __slots__ to avoid the expense of a per-object attribute dictionary.
2020-01-30 — 2.0 — Rewrite API to use genuine Vallado C++ code on those systems where it can be compiled; add accelerated vectorized array interface; make gstime() a public function; clarify format error message.
2015-01-15 — 1.4 — Display detailed help when TLE input does not match format.
2014-06-26 — 1.3 — Return (NaN,NaN,NaN) vectors on error and set .error_message
2013-11-29 — 1.2 — Made epochyr 4 digits; add datetime for .epoch
2012-11-22 — 1.1 — Python 3 compatibility; more documentation
2012-08-27 — 1.0 — Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sgp4-2.25.tar.gz (181.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sgp4-2.25-cp313-cp313-win_amd64.whl (164.1 kB view details)

Uploaded CPython 3.13Windows x86-64

sgp4-2.25-cp313-cp313-win32.whl (161.9 kB view details)

Uploaded CPython 3.13Windows x86

sgp4-2.25-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (236.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

sgp4-2.25-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

sgp4-2.25-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (233.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

sgp4-2.25-cp313-cp313-macosx_11_0_arm64.whl (162.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

sgp4-2.25-cp313-cp313-macosx_10_13_x86_64.whl (163.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

sgp4-2.25-cp312-cp312-win_amd64.whl (164.1 kB view details)

Uploaded CPython 3.12Windows x86-64

sgp4-2.25-cp312-cp312-win32.whl (161.9 kB view details)

Uploaded CPython 3.12Windows x86

sgp4-2.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (236.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

sgp4-2.25-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

sgp4-2.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (233.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

sgp4-2.25-cp312-cp312-macosx_11_0_arm64.whl (162.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

sgp4-2.25-cp312-cp312-macosx_10_13_x86_64.whl (163.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

sgp4-2.25-cp311-cp311-win_amd64.whl (164.1 kB view details)

Uploaded CPython 3.11Windows x86-64

sgp4-2.25-cp311-cp311-win32.whl (161.9 kB view details)

Uploaded CPython 3.11Windows x86

sgp4-2.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

sgp4-2.25-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

sgp4-2.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (232.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

sgp4-2.25-cp311-cp311-macosx_11_0_arm64.whl (161.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

sgp4-2.25-cp311-cp311-macosx_10_9_x86_64.whl (163.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

sgp4-2.25-cp310-cp310-win_amd64.whl (164.1 kB view details)

Uploaded CPython 3.10Windows x86-64

sgp4-2.25-cp310-cp310-win32.whl (161.9 kB view details)

Uploaded CPython 3.10Windows x86

sgp4-2.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

sgp4-2.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

sgp4-2.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (232.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

sgp4-2.25-cp310-cp310-macosx_11_0_arm64.whl (161.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

sgp4-2.25-cp310-cp310-macosx_10_9_x86_64.whl (163.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

sgp4-2.25-cp39-cp39-win_amd64.whl (164.1 kB view details)

Uploaded CPython 3.9Windows x86-64

sgp4-2.25-cp39-cp39-win32.whl (161.9 kB view details)

Uploaded CPython 3.9Windows x86

sgp4-2.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

sgp4-2.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

sgp4-2.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (232.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

sgp4-2.25-cp39-cp39-macosx_11_0_arm64.whl (161.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

sgp4-2.25-cp39-cp39-macosx_10_9_x86_64.whl (163.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

sgp4-2.25-cp38-cp38-win_amd64.whl (164.0 kB view details)

Uploaded CPython 3.8Windows x86-64

sgp4-2.25-cp38-cp38-win32.whl (161.8 kB view details)

Uploaded CPython 3.8Windows x86

sgp4-2.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

sgp4-2.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

sgp4-2.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (232.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

sgp4-2.25-cp38-cp38-macosx_11_0_arm64.whl (161.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

sgp4-2.25-cp38-cp38-macosx_10_9_x86_64.whl (162.7 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

sgp4-2.25-cp37-cp37m-win_amd64.whl (164.0 kB view details)

Uploaded CPython 3.7mWindows x86-64

sgp4-2.25-cp37-cp37m-win32.whl (161.8 kB view details)

Uploaded CPython 3.7mWindows x86

sgp4-2.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (235.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

sgp4-2.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.5 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

sgp4-2.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (232.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

sgp4-2.25-cp37-cp37m-macosx_10_9_x86_64.whl (162.7 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file sgp4-2.25.tar.gz.

File metadata

  • Download URL: sgp4-2.25.tar.gz
  • Upload date:
  • Size: 181.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25.tar.gz
Algorithm Hash digest
SHA256 e19edc6dcc25d69fb8fde0a267b8f0c44d7e915c7bcbeacf5d3a8b595baf0674
MD5 801ed8055b33d6dbdbf7c597e4b92482
BLAKE2b-256 6ed0fc467010d17742321f73b16a71acac88439a88f2b166641942a6566c9b2a

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: sgp4-2.25-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 164.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dec2f6c842d9bf40c67d5764bd752980844f91f338020d2af7f85847364d0ff7
MD5 c318d6a2c2822a88066639e41d05415b
BLAKE2b-256 67c1a22be2e7886db40d1512969f3b8cc3ce989167e69ea8f308f26afd1dfd31

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp313-cp313-win32.whl.

File metadata

  • Download URL: sgp4-2.25-cp313-cp313-win32.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 94219b486def29aa1246f42de8bea05ccb8e98a5458dd08ce42b9811c79ca814
MD5 7f7754df9ade272adbe01e7641553144
BLAKE2b-256 47b71b680b5514586b3860500109ef37fd1761f21e6787f20a2597baa44d91a0

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7beca36492eb6d20ef15eeedd9520b8af4fa0cbaaae46a9269d5a2e7c8e56e46
MD5 6ca2dd1c6bb3ad51d87d06816d6f061f
BLAKE2b-256 6e1481f0df0cc39bdc95336a6f5834c84a6e5f79b5e728918cb9dadff3278017

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5789b7add136362684dfcbf0862919f8c3018f74ab11a05a9964edd5fdd4d2a7
MD5 82aa1de4afd0ac7fab0462a03d0fac6d
BLAKE2b-256 62450e35398ef8d4b07ecfa9f7f680e183b2b6af9215a56af34f9e621c29b495

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8e9dfd18cacf6bfb1faad29c89a6cec98a642558f805851080dea9c394520db2
MD5 d0ece781ae58227b086c09c7912de8f0
BLAKE2b-256 a3a73740791f656d9b7ad78da7c0d9f6f842a18642fead2d26b2d69fb701892e

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sgp4-2.25-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 162.0 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2822ca25f3724694bfced16cad8b3018678bee47fa3baf4eea20876d0e35ad33
MD5 47fe14b495b18015b90243d4b6228d66
BLAKE2b-256 2788af20e342590c3ede18cc8dc6a1e1da708f576e1a97dcb69e2870e739ae21

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c4d4eab0f2c94aad3a0ab0bedd59f2137484af5480a3b40df8e4ab5a1fbc6b86
MD5 e2ef188f94a5da715f0f530199836eeb
BLAKE2b-256 020fdaf4a70829be7c1550b914c98b3abbd15404d00899835432ae8d4a9be502

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: sgp4-2.25-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 164.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 979eb60e74aff5dc318cfe1a6c817db884486bdfc8496d2c5bc07b05fe833280
MD5 c4075f6cd4dd34713031a72f4d743d4d
BLAKE2b-256 c8f87dae15af520dfe5def1f8620c2817203cbbf1a1bf154b2079add1200acd3

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp312-cp312-win32.whl.

File metadata

  • Download URL: sgp4-2.25-cp312-cp312-win32.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 128edd3d6061e833600d93e77d4c08d1a5002293997e368256b0b777ea525dda
MD5 8f27a59da2611459a56ef6ac782d327e
BLAKE2b-256 1bddc1ee8571828debfd3e0f2297379a2a2af75024062c70cf76bdc121e77623

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0e1d18b8972643dd29e758e67c062cfb68fbe2421fe3f6398f1957a9825119f6
MD5 0262052c51164a17a69d318d0d4a735d
BLAKE2b-256 3a1c76dbf2190d30a770fe8ac57474d212e005f56f47e65dd6fcecdb546d454f

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 911460477f1c52dcda2b3eb20538435b89b0a43668bcb5edd1e7700b7a1a0225
MD5 b3f5398b98e8a8b92d5d0a612634300e
BLAKE2b-256 fc4050ecdc518edd3a85ad74bda7a2196b53d5901256e3d7ab34225c96e8edc8

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 35649388a06cbee7def24cbb789f452c31d42ed9e87bddd89935ed78f19451ed
MD5 75fb2109b6cc67714ab57a4f35f68c5d
BLAKE2b-256 97a42fc9bf9cb75571222bd453407317e91193a3db1c559333c5e46ce7a014c9

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sgp4-2.25-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 162.0 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64c7597a60b770caac51566b1f621d1cd74df0409ef19c5e7ea3505d0dfbc677
MD5 069e5c6311888a76ab8590bef54a74e1
BLAKE2b-256 e3cd022aa419d9570d494dafd5103a71dda64c6ffc956a1c7f5b096a58a23a6a

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 170ec2882cd166ff9d8dccfb8018f86d5cc033ea8a07c27a1825999c62439f05
MD5 0a1542a5287614c957f67b9531915de3
BLAKE2b-256 0a71864524bde46a02e636cc5de47b9a4e1f1ed18c7acc3f1319cf9fe1db3c7a

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: sgp4-2.25-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 164.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6b023f81fb20e62f8fa0b6f506201539ca8306779ef8565422bbf000f1e5a3dc
MD5 41db4abb134fddda44274e419677d08a
BLAKE2b-256 f9ffa74904468464d01dd52affb4b15ee1fe5ea804e5128a3f5f5f38c954765d

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp311-cp311-win32.whl.

File metadata

  • Download URL: sgp4-2.25-cp311-cp311-win32.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0ecd7d8833f83fe426d7926149665f4f23f4dab34b844e50876a1df88ee9aa7b
MD5 ef0e1fbd63866745cfd473f821331584
BLAKE2b-256 52c6846a8039a0e8c5b653265e0248ee9836c75f420cfe99a65215a23f035595

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ac94f1d6fae120beeb40f2af587b351f9cb198837ae0fb3678e3bce44334a2a2
MD5 bafa039379a85d6e1f1503f9e72e7784
BLAKE2b-256 d59f99b1587bd3e6c17405efbd9e48603ae194c9d53938e1f8946c6c5d18c33f

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfaddc20c4d6aa2e86119d13e3fd94a1d05e5bd17cb4fddb2ca5116842bc9228
MD5 7050aead6930a29762ff0812428b5c27
BLAKE2b-256 16f8c1216d3c85341e30d79c9ca27b2c27dba6ed0238c56e8b04ef568ea92c50

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1b164e636c4f1c64e09c6164b85985395c28c8556bc72ea56e42a889826287a0
MD5 d57abb3b37c2865640e5d0571990eb9a
BLAKE2b-256 4f5a76f56a0466c3a916403b320363a0f10e71db5a34d2b3627d6a92d2eb9d08

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sgp4-2.25-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33048ff064a4c0b6d8e3c2c79449a49ff45f5dabe8594622f0fb7ed17fa27c0e
MD5 685eb68025be0115bad10964f1f0f100
BLAKE2b-256 47427f27ceca4730d2af31b20928b1c0f1f924cd942c2709d11fc52d9e02f48e

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93b22b9ae35db33664f2ddc37955a8d86c3a28f5c668d201e8c6f195a184496f
MD5 4f3a43464b8d3d049e24d77199f43400
BLAKE2b-256 031c388f1b70a637e3bee179fae1031dcdd8ce09bd040bbbe80fcba20a2e2b86

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: sgp4-2.25-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 164.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2b92506eef5c07063ab7595db58373bd965f8969fb1fb5b76cbffeb39027ba93
MD5 f09317250654e770773bb7da552fa643
BLAKE2b-256 23e83e44b47d3ccab7ae02a03d8107651c080da671a0c6e49cb97dd953f10809

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp310-cp310-win32.whl.

File metadata

  • Download URL: sgp4-2.25-cp310-cp310-win32.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 a2cc50b72b7d2b04c4012b492ec0e76f085e84de45f5e56d3baa4d3ef5f65dac
MD5 5bb46fd5c9f2e7887db18a44d153cbbf
BLAKE2b-256 87c2bb42e252846d29f668ff26b42adf65c842c8985c033b58d61d1c810728aa

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dc0c6ccb0f83e670e50dcd8a90b8a5bfe5bbf4225ce8450f807e14acc517ab21
MD5 e3c0cb5b59f450143d16e86eb1c5ad3b
BLAKE2b-256 a64ff437ca8daaba0e3c4ce67a997f30eead0489908527d6b358418ed4a3e8b1

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18e44f66670c61ae2372d6fecde076cb655f76d211b34b8de440cad5a273409f
MD5 f7eba3ced8557df7b119ea0b80188d0d
BLAKE2b-256 26e3898d7a6d31309cb1be2b2b68dd14141da300ee7257bc30774759a9c1a323

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3282ec0931e57692f3bf875342f28f41b1155cb575cbe24a30c3cd272ea46fb5
MD5 1216a7edd4cb69ed69f7a72086a2b361
BLAKE2b-256 2919e8f990fc80d508e7957f9b621366db05d384f5af70d05f77376be74e3007

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sgp4-2.25-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ad88a8ced4b78f337765e8463f7f11c5f86d9267f83fc8e3dd8982df67bff45
MD5 978436e3ed1f3489c24fc9c577c33cb3
BLAKE2b-256 87f0c258a86bf9f50b46295bdc32af15954719ba88a12267572f7123ffc66f0d

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 29fd9ad2ded9517f6ba10f91e2d993144400c6a925e2b7931198646625beafd4
MD5 10641fa9f2c28537f995ae67aba10792
BLAKE2b-256 6a86f329af1f37f88693a7e8db92f9c0bf92a7e7dc44c272f89a2808b0582766

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: sgp4-2.25-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 164.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5418ccf4a8ea8cccf6b90142c7c984374d03abae7537526295ec40cb676d7dc3
MD5 0371b411bff637a2463279678ef42b3f
BLAKE2b-256 29af3a45ab424273deb2c18cb56aa0161119db481c670e6f17edc0a64e075f7e

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp39-cp39-win32.whl.

File metadata

  • Download URL: sgp4-2.25-cp39-cp39-win32.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 46e9e3809f43cc6512cf2667fddc9bb5535dcb4d0dac1f56290d3811134a80ff
MD5 51cdd8c5bd236830e97f2e78533fd2d9
BLAKE2b-256 2f421896a7a177f4a83c259b2821c47bb120708406557c7a3a72ad8bdb60296b

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 06bdb8166829cc172b7761cfae63633f127ff3ba38e337144c4255d60bc57fb4
MD5 069e7a0897fcff9d6c5e9af3a33ac60a
BLAKE2b-256 d3d16fe982a95715f06408504ea764b7dab87a0aed98c453be56621678a3ddb3

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ce68ee521e3acce25c2dfc977132039794fbaa4e21bc6d2eeabb4b8b34062362
MD5 3b437596f23005d75cd225930deb239d
BLAKE2b-256 ffeedb1c89e72a2d8fe808fef52e685d371ca65fa844a9ad74bc649aa38dd0c3

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ed72e3f9e90ef98ef87819ad991a8be44a4f40d6a01191434685543d6ea64660
MD5 e13918738e66b27709132045a6442a34
BLAKE2b-256 8c2130886e72d8f4ec7dbf5465bc06d96921e387aec3f8642704692728e115a3

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sgp4-2.25-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8db621e144877aa9c0ad4f1794590503bc57d318be94b8b9e5029ba8986cc4b
MD5 2ecfa62fb859d3e0a922da8977a06285
BLAKE2b-256 4e13247db3f0a157617cba22f34654478977ffcbe90c5fa8b834a8dad667541e

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: sgp4-2.25-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 163.0 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9578d02300cb1e625e5ab842691b82ff690697078a371e255c57b8a3146c8521
MD5 324943f721e465fab7ae0382e00f57b7
BLAKE2b-256 cc30a00da2c7b38ab696bdbe5a2df0abaef0ac6139241a357c8fe375d1a02d49

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: sgp4-2.25-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 164.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bf27b614cc027a0319667e94931c32f3800050ec7f52ed71b415c865d003d978
MD5 c7e2a77a02fa79853e3bf898f3da6ccf
BLAKE2b-256 88f676a3572e99d3225ae068d89fec73e53d376e8f01b608a9b5e76f59f02078

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp38-cp38-win32.whl.

File metadata

  • Download URL: sgp4-2.25-cp38-cp38-win32.whl
  • Upload date:
  • Size: 161.8 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 cc5e89160097499e51e0787b114cc82da29f895fd2d3feca8508c8b4d5b8001e
MD5 43fa4197f7b939827c93f610b685ae5a
BLAKE2b-256 e8a04c17c6de18cb0cdd5df85e84f2627790dff1f000f0f4be688d5552758045

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 036df88b7cfebdea8b1ff7ce6497db08526978d879a8a63f4ed681454faf92c3
MD5 6a40b30273544942805147a38d570857
BLAKE2b-256 407c1902f09a0299223b53db69ec236e3d6cdcb46bfb44ec30f27d9ac675bce4

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8804d0ab31eab7c93b1b98030136b32b1dfe7ecbb55b37407ef71aa10cd13d93
MD5 5fb6cc5df4a2bc0e5cb39ebf43e543de
BLAKE2b-256 a54f7e163432e86619796ac506f7a564f47b40ed0f061bb7a76b92d0d6371839

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 976c1403a88c12cd3b73713ab456ee240e4e41c4f1284f2d3623cf7cb09a052d
MD5 31da720cf74c1b0d7145041126fac5a3
BLAKE2b-256 763a54527cf02d8533c5501c74a42e581e62140f2036fbdd2782015c72e45ce3

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sgp4-2.25-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 161.7 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e5ce7926632c00baa45a3a663e4d47a462bb3932a659488a876230ce1f650c1
MD5 d218416fc2333de3e7c59867461b3889
BLAKE2b-256 a59701c85bb6919d0ebe2b009b7b155985b83072f496608aedea615f478d948f

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: sgp4-2.25-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 162.7 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5af641d9a02bd1eeea87c337b784aeebec7054ebe013ef7f280a913e24803beb
MD5 1b45a31417e3138357b11354cbd6b1a8
BLAKE2b-256 eab45859871c9bf1f52626aa9689324ec558388106c36aad2e5b3a611f917c98

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: sgp4-2.25-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 164.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7ad52a3dc8eae8324855ca432ed5cebc82fe9c18ae2fb0868d7bc14a7be84e1c
MD5 2dbedcbcedcb655d41494c6583bf5b53
BLAKE2b-256 e4f4665b8733cc6aa7b33d35d02cbc77f5e8730614ba3e47e991cbe9d28175a3

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp37-cp37m-win32.whl.

File metadata

  • Download URL: sgp4-2.25-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 161.8 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 c170fedef5fbfc8459983ff39e3a2b175c19289d2dff649676f9066012d3c903
MD5 fda11d9913016f50450671eee1bb16d8
BLAKE2b-256 711e366ba89338adfc94bb2561c977bc97e3938e5c60b5cb51c91187485215fd

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 521dca90a438494818dad7e67476b884791bb781753a9ccc6a4db46e4d33713b
MD5 02e5ddc460c3b6270621ad768519af9b
BLAKE2b-256 c8c01704a8273b3d71dfdb4413429343918dfc8d3974984e933d80ae758de930

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ee2dc8695e125449d755520da98b73906cdea0a164ae888812a4cd7ad4085a2
MD5 0b5f6f3e40de0e300c75d6f212c44a0e
BLAKE2b-256 6f926ccc97fd8989b32631e2ed30250ced0b1a95e5a2bd82154281718a208ad5

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for sgp4-2.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 defcc785e99b0514c2022da8d5b3fefb1ef2cb318807979c030e674f6cf4ed9f
MD5 f06b35f4b8119569ba16b2ea0066e0bf
BLAKE2b-256 0cfd77cd9b0f97efb9d9020aa69fe04835138aad0af09a4de5d72a4f1dce00ab

See more details on using hashes here.

File details

Details for the file sgp4-2.25-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: sgp4-2.25-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 162.7 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for sgp4-2.25-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2a1e3c501db1c56e57749e5d0bb82bf6d1cad886f549cb430222a3cd5b92067e
MD5 e3fea727a5813c07afac0289d07f6ffe
BLAKE2b-256 631676bb0c12072d5817ae1dad0a26f668ac929b48ad82bddc50f22c305bbc88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page