Astro-SpaceTrack
view release on metacpan or search on metacpan
Use of McCants' Iridium status now throws exception, per deprecation
schedule.
0.136 2020-01-15 T. R. Wyant
Remove Celestrak supplemental Starlink 3 pre-launch TLE catalog.
Kelso took it down once the launch occurred.
0.135 2020-01-06 T. R. Wyant
Add Celestrak supplemental Starlink 3 pre-launch TLE catalog.
Update canned status table for decay of
- Iridium 97
0.134 2019-12-24 T. R. Wyant
Document 'TBA' as valid OBJECT_TYPE in modeldef.
Rework Space Track -exclude query logic and add -include. If both
are specified, -include rules.
Move modeldef script to tools/
0.133 2019-11-21 T. R. Wyant
Add celestrak_supplemental() 'starlink' dataset
Eliminate redirects in POD URL links.
0.132 2019-08-05 T. R. Wyant
Update canned status table for decay of
- Iridium 61
0.131 2019-07-20 T. R. Wyant
Fix broken POD links, and add test to ensure they stay fixed.
Further deprecate McCants' Iridium status. This is really moot,
since as of July 10 2019 his Iridium status page is 404. It was last
seen by me June 9 2019.
Correct the test suite's check for whether Mike McCants' web site is
live.
0.130 2019-06-05 T. R. Wyant
Add Celestrak Starlink catalog.
0.129 2019-05-19 T. R. Wyant
Update canned status table for decay of
- Iridium 46
- Iridium 54
0.128 2019-04-14 T. R. Wyant
Update canned status table for decay of
- Iridium 55
- Iridium 58
- Iridium 64
- Iridium 95
Do Space Track tests with dummy data by default. You can test live
by setting environment variable SPACETRACK_TEST_LIVE to a true
value.
0.127 2019-03-21 T. R. Wyant
Update canned status table for decay of
- Iridium 14
- Iridium 32
- Iridium 59
- Iridium 60
- Iridium 91
0.126 2019-02-12 T. R. Wyant
Add satnogs to known Celestrak catalogs.
0.125 2019-02-02 T. R. Wyant
Update canned status table for decay of
- Iridium 90
0.124 2019-01-03 T. R. Wyant
Update canned status table for decay of
- Iridium 31
- Iridium 35
0.123 2018-11-29 T. R. Wyant
Skip data tests in t/query_spacetrack.t on fetch error. Also skip
the fetch if it returns a 500. This completes the test work started
in version 0.121.
0.122 2018-11-13 T. R. Wyant
Update canned status table for decay of
- Iridium 52
- Iridium 62
- Iridium 83
- Iridium 84
0.121 2018-10-26 T. R. Wyant
Update canned status table for decay of
- Iridium 11
- Iridium 20
Skip data tests on fetch error. All tests but t/query_spacetrack.t
also skip the fetch if it returns a 500.
0.120 2018-10-17 T. R. Wyant
RT 127371 Dependency problem when bulding with Module::Build.
Thanks to Slaven Rezic for finding this (unlike many dependency
problems it does NOT manifest when run against a base Perl
installation) and reporting it in such detail that all I had to do
was pick an implementation. CPAN TESTERS RULE!
Add Celestrak catalogs 'active' and 'analyst'. 'Active' seems to be
satellites actually in service, based on correlating this list with
the Iridium status list. 'Analyst' seems not to be real satellites,
and may be pathological test cases.
Update canned status table for decay of
Add GitHub repository to metadata.
0.092 2015-05-27 T. R. Wyant
Add new Space Track catalog "files" (canned queries, really). These
are:
medium_earth_orbit
low_earth_orbit
highly_elliptical
0.091 2015-04-15 T. R. Wyant
Add dependency on Mozilla::CA in hope to quash some of the CPAN
testers CERT errors.
Simplify the -last5 handling code. Rather than defaulting it and then
removing it if unneeded, just insert it only if the query class ends
up being 'tle_latest'.
Fix a problem with bad Space Track queries being generated under
certain circumstances if TLE data were being requested and class
'tle' (rather than 'tle_latest') was being used to satisfy them. The
problem seems to have been the leakage of extraneous data from the
-last5 option (even if defaulted) into the REST query.
Thanks to Vidar Tyldum for finding this rather abstruse problem and
running it to ground.
0.090 2015-02-11 T. R. Wyant
Add CPF data to celestrak_supplemental().
0.089 2015-01-06 T. R. Wyant
Supply missing initialization in JSON code. This was a problem only
if no data were returned, and maybe then only under restricted and
poorly-understood corcumstances.
Fix warnings in McCants' Iridium status code under Perl 5.21.7 and up.
With this Perl, sprintf() started complaining about extraneous
arguments.
Add new spacetrack() catalogs bright_geosynchronous, human_spaceflight
and well_tracked_objects. The first two correspond to Space Track
curated queries; the last does not, but is based on their Face Book
entry for December 3 2014, and represents objects that can not be
assigned to a country or launch site.
Fix option hash validation warning in spacetrack(). This affected
catalog 'payload'.
Fix exception in names() when an unsupported argument is passed. The
desired functionality was to return a 404 error, which is now
implememted and documented.
Change verify_hostname default back to true, since it appears that
Perl is accepting Mike McCants' Cert again.
0.088 2014-08-31 T. R. Wyant
Properly apply Space Track default fetch options when the options were
passed to a Space Track search method in a hash reference, rather
than command-line style.
0.087 2014-08-29 T. R. Wyant
Use global variable $SPACETRACK_DELAY_SECONDS to control the delay
between Space Track queries. This is initialized from environment
variable SPACETRACK_DELAY_SECONDS if it is true; otherwise it is
initialized to 3.
Throttle Space Track queries to 1 every 3 seconds. Space Track
announced August 19 2014 that they intend to throttle queries to
less than 20 per minute per user as of September 22 2014. They seem
to have jumped the gun though, since throttling seems necessary now.
Remove all RCS-specific functionality. This includes making -rcs do
nothing. On August 18 2014 Space Track started returning 0 for RCS,
instead going for "small," "medium," and "large" in a new JSON
field. The -rcs option is now deprecated, and being put through the
usual deprecation cycle.
Set default value of verify_hostname attribute to false. This is
because Perl does not accept Mike McCants' GoDaddy certificate. The
default can be overridden using environment variable
SPACETRACK_VERIFY_HOSTNAME if it is defined.
Remove all references to obsolete spacetrack() canned queries
full_fast and geosynchronous_fast in the documentation. The queries
themselves are long gone.
Prepare for removal of the RCSVALUE datum in Space Track's satcat
data, which is announced for August 18 2014.
Add 'prompt' attribute.
Add ISS data to celestrak_supplemental.
Support the various Space Track data formats. This involves providing
a -format option, with values corresponding to the Space Track
formats, plus 'legacy' (the default) to provide what is essentially
the Version 1 data format. The old -json option is equivalent to
-format json.
0.086 2014-04-26 T. R. Wyant
Eliminate ugly warning generated when searching Space Track if
-start_epoch or -end_epoch options are specified.
Eliminate use of each() built-in.
0.085 2014-03-20 T. R. Wyant
When mccants() and friends return data from cache, fabricate
Last-Modified header with file modification date.
Bypass mccants() cache test for installation, since it seems to fail
sporadically, and the data appear to be unaffected.
Try to address test failures in mccants() under older Windows (plus
one under FreeBSD) due to unseekability of the handle produced by
open my $fh, '+<', \( $resp->content() );
Fix problem in the login() method detecting a Space Track login
failure.
Add method mccants() to access TLE, magnitude, and RCS data mainteined
by Mike McCants on his web site. Because these do not get updated
that often, there is a 'file' option which, if specified, caches the
results and fetches them from the web only if the cache is stale.
Add 'file' option (as above) to amsat() and celestrak_supplemental().
Add cache_hit() and associated machinery to determine whether
information came from the web or from a file.
Add information on celestrak() catalog 'argos'.
Factor the query tests into multiple files, so they can run in
parallel.
0.084 2014-01-01 T, R, Wyant
Have celestrak() and celestrak_supplemental() return error status if
the argument is undefined.
Drop deprecated spacetrack() catalogs full_fast and
geosynchronous_fast.
Add celestrak_supplemental() catalog 'ses'.
Remove support for environment variables SPACETRACK_REST_RANGE_OPERATOR
and SPACETRACK_REST_FRACTIONAL_DATE.
0.083 2013-11-23 T. R. Wyant
Add Space Track search option -comment. This adds the Comment field to
the satcat results returned by the search_* methods.
0.082 2013-11-08 T. R. Wyant
Use O-O version of Getopt::Long to parse command-style options, to
prevent configuration leaking in (or out). This requires
Getopt::Long 2.39.
Validate options passed as a hash reference, at least for unexpected
keys. The previous version simply ignored these, but I decided I
wanted feedback to the caller. It is a warning for now, but will
eventually become fatal.
Environment variable SPACETRACK_SKIP_OPTION_HASH_VALIDATION can be set
to suppress the warning.
0.081 2013-10-21 T. R. Wyant
Add object status 'TBA' (added by Space Track October 1 2013). This
_should_ only affect the -exclude option.
Delete commented-out code that goes back to the v1 interface.
Build queries using standard names and data represenations, rather
than Space-Track-specific ones. This change _should_ not affect the
user.
0.080 2013-10-05 T. R. Wyant
Correct failures in t/query.t due to incorrect URL being used to see
if Mike McCants' web site is actually available.
0.079 2013-10-02 T. R. Wyant
Try to handle failures due to the U. S. government shutdown so that
they do not cause test failures. They're still errors, though, just
forced to 402 Payment required.
0.078 2013-09-28 T. R. Wyant
Fix attempt to modify read-only variable in t/query.t.
Strip out all code that refers to version 1 of the Space Track API.
Remove all reference to the Celestrak 'sts' catalog or the Human
Spaceflight 'shuttle' catalog.
Silence uninitialized value warning in t/spacetrack_request.t under
older Perls.
0.077 2013-07-15 T. R. Wyant
Make it an error to set space_track_version to 1. Eliminate all
documentation of the version 1 API, and make version 2 documentaion
not refer to API version. Code for the version 1 API will be removed
in subsequent releases.
0.076 2013-07-01 T. R. Wyant
Deprecated spacetrack() queries (the *_fast ones) become fatal.
Document intent to remove support for environment variables
SPACETRACK_REST_RANGE_OPERATOR and SPACETRACK_REST_FRACTIONAL_DATE
in the first release after January 1 2014.
Install the SpaceTrack script by default.
Eliminate prompting for whether to install SpaceTrack. The -y and -n
options are still available.
Move the SpaceTrackTk script to the eg/ directory.
Eliminate Win32 and VMS specific code in the installers.
Document the desupport of the Space Track version 1 interface as of
this release.
No longer test version 1 of the Space Track interface, since it is
scheduled to stop working.
0.075 2013-06-14 T. R. Wyant
Document that the Space Track version 1 API will be shut down July 16
2013.
Emit a warning any time the space_track_version attribute is set to 1.
This warning can not be suppressed by 'no warnings qw{ deprecated }'.
Add Beidou navigation satellites to the list of named element sets
available via the celestrak() method.
0.074 2013-05-12 T. R. Wyant
Make the value returned by launch_sites( { json => 1 } ) under the v2
interface conform to the documentation. I was really sloppy with
this and returned the raw JSON (which was an array ref) when the
docs called for (and I really wanted) the JSON for a hash ref.
0.073 2013-02-21 T. R. Wyant
Move Space Track REST interface to production web site.
Deprecate the version 1 Space Track interface.
0.072 2013-02-17 T. R. Wyant
Make default value of space_track_version attribute 2.
0.071 2013-02-16 T. R. Wyant
Attempts to retrieve Space Shuttle data (via celestrak('sts') or
spaceflight('shuttle') now cause exceptions. Retrieval of historical
data from Space Track should still work as before.
Convert the REST version of the launch_sites() method to use the new
launch_site data instead of canned data.
Space Track dropped RCSSOURCE from class satcat of the REST interface.
This revision eliminates all references to this field.
0.070 2012-12-26 T. R. Wyant
Add notification that I plan to change the way Makefile.PL and
Build.PL decide whether to install executables July 1 2013.
Add method favorite() to access the Space Track 'Favorites'
functionality. This only works for the Space Track version 2
interface.
Add to the spacetrack() method for version 2 of the interface those
bulk data catalogs which are represented by 'Global Favorites'.
Add 'YUN' (Yunsong, DPRK) to hard-coded list of launch sites returned
by the Space Track REST interface.
Re-instate the use of hour, minute, and second spacifications in
-start_epoch and -end_epoch for the Space Track REST interface.
Go back to using OID ranges in the retrieve() method if the Space
Track REST interface is being used.
Document environment varoables SPACETRACK_REST_RANGE_OPERATOR and
SPACETRACK_REST_FRACTIONAL_DATE, so users can get themselves going
again if there are further glitches in the related functionality.
Add method celestrak_supplemental() to retrieve the supplemental TLEs
not derived from SpaceTrack.
Correct bug in celestrak() method, in which the Space Track REST
options were being parsed when they should not have been. This was
really two bugs: use of get() rather than getv() to check the Space
Track version, and failure to check the 'direct' attribute.
0.069 2012-11-09 T. R. Wyant
Do not pass the time portion of a date/time query to the Space Track
REST interface, since it seems not to handle it (though I thought it
did at one time).
0.068 2012-10-26 T. R. Wyant
Retract use of ranges when fetching from Space Track REST interface by
OID, since it appears this is not stable yet.
0.067 2012-10-25 T. R. Wyant
Document a new Celestrak "direct-fetch only" data set, 2012-044, which
represents the explosion of a Breeze-M upper stage (2012-044C) on
October 16 2012.
Re-instate the use of ranges when fetching a number of OIDs via the
Space Track REST interface, since they are supported now.
Fix bug that allowed Kelso's Iridium status to "bleed through" into
the McCants status data.
0.066 2012-10-15 T. R. Wyant
Add methods country_names() and launch_sites(), to return the
expansions of the relevant abbreviations in either tabular form or
JSON. Under space_track_version == 2, launch_sites() is hard-coded,
since this information is not available under the REST interface.
The box_score() method now takes option -json, to return the data in
JSON format. If space_track_version == 1, the JSON is made up from
the tabular data.
0.065 2012-10-09 T. R. Wyant
Retract the merging of names from observing lists (in celestrak() and
file()) in REST queries, since we can now get them direct from the
REST interface in all cases. This was introduced in 0.062, with the
statement that it was temporary.
Don't use OID ranges in REST queries, since they do not work in
combination with comma-separated lists.
Change the size of a retrieve() batch to 200, since larger queries
seem to be faster.
Add method update(). This works with the REST interface only, and
therefore ignores the space_track_version setting. It takes as its
argument the name of a JSON file containing TLE data, and updates it
using '/FILE/>...'. The return is whatever format you want.
Make the REST options work with the spacetrack() method.
Enable the -sort and -descending options on REST queries. These were
appears to come with no expiration, but the docs say it's only good
for about 2 hours.
Followed change to representation if International Launch Designator
(INTLDES) in Space Track REST class tle. It was yyyy-lllp, but is
now yylllp, just like Space Track version 1.
0.062 2012-08-25 T. R. Wyant
Fix the joining of JSON data when one of the lists is empty.
Have the celestrak() and file() methods supply common names from their
sources if the with_name attribute is true and the
space_track_version attribute is 2. This functionality will be
retracted when (and if) the Space Track REST interface becomes
capable of supplying NASA-format TLEs.
Document the fact that Space Track has deprecated bulk data downloads,
and plans to remove them in October 2012. This will break the
spacetrack() method.
Use more recent datas for launch date and historical query tests in
t/query.t, since it seems that Space Track purged the version 2 TLE
database on August 24 2012.
0.061 2012-08-15 T. R. Wyant
Reinstate the headings returned by -notle searches done with
space_track_version set to 1. These were lost in version 0.060_09.
When the space_track_version attribute is 2, implement the -exclude
search option in terms of the OBJECT_TYPE field rather than by
simulating the version 1 exclusion rules in the client. This can
mean different search results depending on the interface used (e.g.
Westford needles are debris under v1, but payload under v2), but
since the change seems to be deliberate on the part of Space Track,
I am following it.
0.060_12 2012-08-07 T. R. Wyant
Turn on autoflush in t/query.t to try to prevent overwriting of
prompt.
Have the REST version of retrieve() issue multiple queries if the
number of OIDs is over 50.
Add the ability to handle OID ranges to the REST versions of
retrieve() and search_oid().
Have the output of names( 'spacetrack' ) depend on the value of the
space_track_version attribute.
Have the shell() method extract redirections from the command line
before un-quoting and un-escaping the data, so that we have a way to
force something that looks like a redirection to be taken as an
argument.
Add ':' to the list of 'safe' characters when URI-escaping arguments
to the Space Track REST interface. Percent-encoded colons seemed to
stop working some time between 13:15 and 19:15 GMT on July 27 2012.
Un-encoded colons go through fine.
Accept ':' as well as '/' as punctuation between username and password
in environment variable SPACETRACK_USER.
Have t/query.t try to load Term::ReadKey. If successful, it uses it to
turn off password echoing. If not successful, it adds '(ECHOED)' to
the prompt.
Fix problem associating RCS data with TLEs when using version 1 of the
Space Track interface and the OID in the search results is less than
five digits.
Change default value of verify_hostname attribute to false. And about
time.
Add attribute 'pretty' to reqest that JSON text (and potentially
others) be pretty-formatted.
Expose the name of the Space Track session cookie as an attribute.
This is one of those attributes which have distinct values for each
value of space_track_version.
Have the parser for the retrieve() -start_epoch and -end_epoch options
accept time of day as well as just date. Pass time of day to the
server when using the Space Track REST interface.
Further deprecate celestrak( 'sts' ) and spaceflight( 'shuttle' ) so
that they give a warning every time they are used.
If both -json and -rcs are in effect, return RCSSOURCE as well as
RCSVALUE.
Have the attribute_names() method take account of the fact that the
'cookie_expires' attribute does not exist if the space_track_version
attribute is set to 2.
Ignore the -sort and -descending retrieve() options when using the
Space Track REST interface. As things now stand, I have to force the
equivalent of -sort=epoch -descending when retrieve()-ing multiple
OIDs to get sane results.
Add a -json retrieve() option, valid only if the REST interface is in
use. This also works with celestrak() and file() if the
space_track_version attribute is 2, but with celestrak() the usual
restrictions on retrieve() options apply.
Retrieve TLEs for multiple OIDs in a single call to the Space Track
REST interface.
Require HTTP::Status 6.03, because I can't forebear to use the
"teapot" status for testing purposes.
Expose spacetrack_query_v2(), which is our lowest-level interface to
Space Track version 2.
Use JSON rather than YAML for serialization in (e.g.)
t/spacetrack_request.t, since the former is now a requirement, but
the latter never was.
Bit-mapped the unsupported dump_headers attribute.
Eliminated the unsupported debug_url attribute.
0.011 2005-10-30 T. R. Wyant
Added 'Pragma: spacetrack-type = orbit' header to
the response for those methods that return orbital
elements, if the request in fact succeeded.
Added content_type() method to check for the above.
Played the CPANTS game.
Added "All rights reserved." to copyright statement.
0.010 2005-10-14 T. R. Wyant
Added the 'direct' attribute, to fetch elements
directly from celestrak. And about time, too.
0.009 2005-09-17 T. R. Wyant
Only require Term::ReadLine and create interface if
the shell() method actually called.
0.008 2005-07-19 T. R. Wyant
Consolidate dump code.
Have file() method take open handle as arg.
Modify cookie check.
Add mutator, accessor for cookie_expires,
session_cookie.
0.007 2005-04-15 T. R. Wyant
Document attributes (under set() method)
Have login return actual failure on HTTP error. Used
to return 401 any time we did not get the cookie.
0.006 2005-04-08 T. R. Wyant
Added search_id method.
Made specimen scripts into installable executables.
Add pseudo-tilde expansion to shell method.
0.005 2005-04-02 T. R. Wyant
Proofread and correct POD.
0.004 2005-03-30 T. R. Wyant
Added file() method, for local observing lists.
Changed Content-Type header of spacetrack () response
to text/plain. Used to be text/text.
Manufactured pristine HTTP::Response for successsful
login call.
Added source method, for passing the contents of a file
to the shell method
Skip username and password prompts, and login and
retrieval tests if environment variable
AUTOMATED_TESTING is true and environment variable
SPACETRACK_USER is undefined.
0.003 2005-03-26 T. R. Wyant
Initial release to CPAN.
( run in 1.938 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )