N/A
1.3.1 - 2024-08-01
- The ‘mediumtext’ predicate type is now understood.
1.3.0 - 2024-05-07
- Timezone-aware datetimes are supported in request predicates.
1.2.0 - 2023-11-25
additional_rate_limit
argument to :class:`~spacetrack.base.SpaceTrackClient`.
- Since version 1.0, the value passed to
SpaceTrackClient.callback
, if set, is from :func:`time.monotonic` but the documentation was not updated to reflect this.
1.1.0 - 2023-10-15
dirs
anddownload
request classes for thepublicfiles
request controller.- Support for Python 3.12
- Support for Python 3.7
1.0.1 - 2023-05-23
- 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
- :class:`~spacetrack.aio.AsyncSpaceTrackClient` supports Trio in addition to asyncio.
- The sync and async clients share the same sans-io core.
- The underlying HTTP library used is now httpx (formerly
requests
for :class:`~spacetrack.base.SpaceTrackClient` andaiohttp
for :class:`~spacetrack.aio.AsyncSpaceTrackClient`). Users will need to change any exception handling to catch httpx exceptions.
- The
async
extra no longer exists because the :class:`~spacetrack.aio.AsyncSpaceTrackClient` is available by default. - Support for Python 3.6
- 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
- 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.
- 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
- Support for the cdm_public and gp_history classes.
0.14.0 - 2020-06-21
- Support for Space-Track’s per-hour rate limit in addition to the per-minute limit.
- The per-minute rate limit was increased to 30 as documented by Space-Track.
- Require aiohttp 3 for the
async
extra. - :class:`~spacetrack.aio.AsyncSpaceTrackClient` is now an asynchronous
context manager. Use
async with
instead ofwith
.
- Support for Python 2.7, 3.4, and 3.5.
0.13.7 - 2020-06-20
- Support for the general perturbations (gp) class.
0.13.6 - 2020-03-20
- 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
- The ‘text’ predicate type is now understood.
- Unknown predicate types issue a warning instead of raising an exception.
0.13.4 - 2019-12-24
SpaceTrackClient
gained abase_url
parameter to allow the use of an alternate Space-Track server.
0.13.3 - 2019-03-11
- The deprecation warning about importing
Sequence
orMapping
fromcollections
instead ofcollections.abc
.
0.13.2 - 2018-12-31
- 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
spacetrack
can be installed with setuptools v38.0+, which requiresinstall_requires
insetup.py
to be ordered.
0.13.0 - 2017-06-17
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.
- 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
- Require aiohttp >= 2.0 for the
async
extra.
0.12.0 - 2016-06-28
- 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.
/modeldef
API not queried if no predicates are passed. This allowsspephemeris/download
to be used, which doesn’t have a model definition.
- 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
- Bump ratelimiter
version to improve rate limiting for
AsyncSpaceTrackClient
- Documentation included in source distribution.
0.11.0 - 2016-02-21
- Some unit tests added for
AsyncSpaceTrackClient
.
\r\n
to\n
newline conversion for async chunk iterator.
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
- 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.
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.