Change Log#
Unreleased#
N/A
1.1.0 - 2023-10-15#
Added#
dirs
anddownload
request classes for thepublicfiles
request controller.Support for Python 3.12
Removed#
Support for Python 3.7
1.0.1 - 2023-05-23#
Fixed#
requests which should have been streamed (e.g.
iter_content=True
) were not.requests which need to follow redirects work again.
1.0.0 - 2023-05-22#
Added#
AsyncSpaceTrackClient
supports Trio in addition to asyncio.
Changed#
The sync and async clients share the same sans-io core.
The underlying HTTP library used is now httpx (formerly
requests
forSpaceTrackClient
andaiohttp
forAsyncSpaceTrackClient
). Users will need to change any exception handling to catch httpx exceptions.
Removed#
The
async
extra no longer exists because theAsyncSpaceTrackClient
is available by default.Support for Python 3.6
Fixed#
The modeldef for the fileshare/download class was deprecated by Space-Track, so the client no longer uses this API.
0.16.0 - 2021-01-03#
Added#
Support for the car, folder, and satellite classes.
A rush storage backend can be provided to a new
rush_store
argument to coordinate rate limiting across multiple instances.rush_key_prefix
to optionally prefix keys used in the rush storage backend.
Fixed#
When
parse_types
is used, dates are parsed using an ISO 8601 parser, which fixes the parsing of date formats returned by newer request classes (e.g. gp).
0.15.0 - 2020-09-25#
Added#
Support for the cdm_public and gp_history classes.
0.14.0 - 2020-06-21#
Added#
Support for Space-Track’s per-hour rate limit in addition to the per-minute limit.
Changed#
The per-minute rate limit was increased to 30 as documented by Space-Track.
Require aiohttp 3 for the
async
extra.AsyncSpaceTrackClient
is now an asynchronous context manager. Useasync with
instead ofwith
.
Removed#
Support for Python 2.7, 3.4, and 3.5.
0.13.7 - 2020-06-20#
Added#
Support for the general perturbations (gp) class.
0.13.6 - 2020-03-20#
Fixed#
Regression in 0.13 that prevented
spephemeris/download
from working by trying to load a model definition which it doesn’t have.
0.13.5 - 2020-03-18#
Fixed#
The ‘text’ predicate type is now understood.
Unknown predicate types issue a warning instead of raising an exception.
0.13.4 - 2019-12-24#
Added#
SpaceTrackClient
gained abase_url
parameter to allow the use of an alternate Space-Track server.
0.13.3 - 2019-03-11#
Fixed#
The deprecation warning about importing
Sequence
orMapping
fromcollections
instead ofcollections.abc
.
0.13.2 - 2018-12-31#
Fixed#
The
async
extra installs aiohttp 2 becausespacetrack
is not yet aiohttp 3 compatible.Deprecation warnings about invalid escape sequences.
0.13.1 - 2018-01-18#
Fixed#
spacetrack
can be installed with setuptools v38.0+, which requiresinstall_requires
insetup.py
to be ordered.
0.13.0 - 2017-06-17#
Added#
parse_types
flag to optionally parse types as described by themodeldef
API.Compatibility with
maneuver
andmaneuver_history
request classes forexpandedspacedata
request controller.Compatibility with
upload
anddelete
request classes forfileshare
request controller.
Fixed#
Predicates with the enum type are parsed correctly. Previously, single-valued enums had
None
as a second value, and enums with more than two values only had the first and last value due to the regex match not capturing repeated groups. The values aren’t used byspacetrack
, so the bug went unnoticed.Exception on Python 3.5+ in threads without an
asyncio
event loop (even using the normalSpaceTrackClient
). Fixed by requiringratelimiter
>= 1.2.0
Changed#
Require aiohttp >= 2.0 for the
async
extra.
0.12.0 - 2016-06-28#
Added#
Request controller can be passed explicitly to methods that take a request class, because some request classes are present in more than one controller.
Request controller proxy attribute, e.g.
SpaceTrackClient.fileshare.file()
, which is equivalent toSpaceTrackClient.generic_request('file', controller='fileshare')
.dir(SpaceTrackClient(...))
now includes the request controllers and request classes so it’s easier to see what can be called.
Fixed#
/modeldef
API not queried if no predicates are passed. This allowsspephemeris/download
to be used, which doesn’t have a model definition.
Changed#
Calling request class methods uses first request controller that matches. The order is stored in the keys of the
SpaceTrackClient.request_controllers
ordered dict, currentlybasicspacedata
,expandedspacedata
,fileshare
,spephemeris
. Any new request controllers will be added to the end, to preserve lookup order. New request classes that would change the order will accompany a major version bump.AsyncSpaceTrackClient
uses requests’ CA file for same experience with both clients.
0.11.1 - 2016-03-01#
Fixed#
Bump ratelimiter version to improve rate limiting for
AsyncSpaceTrackClient
Changed#
Documentation included in source distribution.
0.11.0 - 2016-02-21#
Added#
Some unit tests added for
AsyncSpaceTrackClient
.
Fixed#
\r\n
to\n
newline conversion for async chunk iterator.
Changed#
AsyncSpaceTrackClient
can no longer be imported from the top levelspacetrack
module, since this would cause an error if optional dependencyaiohttp
was not installed. It must be imported fromspacetrack.aio
.
0.10.0 - 2016-02-04#
Fixed#
Compatibility with
file
anddownload
request classes forfileshare
request controller.upload
request class removed, unable to test.Rate limit violation HTTP status code 500 handled during predicate information request.
Changed#
iter_lines=True
now raisesValueError
if receiving binary data (currently only possible withdownload
request class).Removed internal method
_get_predicate_fields
, set comprehension used inline instead.Predicate
class now has adefault
attribute.
0.9.0 - 2016-01-28#
First release.