Astro-SpaceTrack
view release on metacpan or search on metacpan
Have relevant author tests use identity file.
Document the use of environment variable CI_GPG to get gpg2 even
though gpg is also installed.
0.095 2016-11-07 T. R. Wyant
Support Config::Identity file. Both the file and Config::Identity are
optional. The file name is spacetrack.id (MSWin32 and VMS) or
.spacetrack-identity (anything else) in the user's home directory.
The file itself can be GnuPG encrypted.
Rod Sladen Iridium status update.
0.094 2016-08-07 T. R. Wyant
Implement Kelso Iridium status '[B]' as spare, and implement all
other status codes documented on the Celestrak web site.
Update copyright date returned by banner().
0.093 2016-01-20 T. R. Wyant
Make t/query_iridium_status_*.t skip rather than fail if the server is
unavailable.
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
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
previously hard-wired (to -sort epoch -descending) because of
problems early in the beta, which seem to be solved.
Recode the REST versions of spacetrack( 'full' ) and spacetrack(
'geosynchronous' ) to go through class satcat to eliminate bodies
that have decayed. Provide 'full_fast' and 'geosynchronous_fast' for
those who like to live dangerously. The last two are considered
experimental, and may be retracted.
Get the object name from field OBJECT_NAME when using the Space Track
REST interface, in all cases.
Make use of the new TLE_LINE0 field in the tle and tle_latest classes
to have the version 2 retrieve() method return common names.
INCOMPATIBLE CHANGE: In JSON output, the object name is now in field
OBJECT_NAME. Previously there was no object name in the tle data,
and I was hammering it into field SATNAME, since that is where it
was in the satcat data.
Give spacetrack_query_v2() the ability to add header pragmas if it
discovers it was called from outside the Astro::SpaceTrack name
space. It adds 'spacetrack-type = modeldef' if the query is
'basicspacedata => "modeldef"', and 'spacetrack-type = orbit' if the
query is 'basicspacedata => "query", class => 'tle'" or '... class
=> "tle_latest"'.
Change attribute verify_hostname's default value to true again, since
Space Track says they have their act together.
Correct documented name of class used to retrieve current TLE data
using the Space Track REST interface. It's 'tle_latest', not
'tle_current'.
0.064 2012-09-05 T. R. Wyant
Add REST support for as many of the spacetrack() bulk data sets as I
can figure out. The analysis is in Astro::SpaceTrack::BulkData.
The default -status for a REST query is now 'onorbit'. The default for
version 1 queries remains 'all'.
Space Track REST queries now use the 'tle_latest' class unless
historical data are needed, as indicated by use of -start_epoch,
-end_epoch, -since_file, or some -status other than 'onorbit'.
Add 'time' and 'olist' meta-commands to the shell() method. The latter
is experimental, and may go away.
Eliminate superfluous REST queries issued by search_name() and
search_oid(). These were introduced in 0.060_07.
Suppress appending of '--rcs' to the common name by the REST interface
when RCSVALUE is null.
Fix problem with merging names from an observing list into JSON REST
data.
0.063 2012-08-29 T. R. Wyant
Imposed Space Track REST cookie expiration of an hour. The cookie
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.
( run in 0.892 second using v1.01-cache-2.11-cpan-39bf76dae61 )