Astro-SpaceTrack
view release on metacpan or search on metacpan
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.
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.
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.
Implement epoch selection of TLEs via the Space Track REST interface.
Run all the Space Track REST arguments through URI::Escape, which has
been added as a requirement.
'failed' iridiums as tumbling, whether or not there is
a 't' next to their numbers. This makes the Sladen data
consistent with Mike McCants' (as of 22-Dec-2008) and
T. S. Kelso's.
Bring all code up to perlcritic --stern (sometimes by
declaring exceptions)
Restructure Build.PL and Makefile.PL to better accomodate
the installed version of Module::Build or
ExtUtils::MakeMaker.
Add minimum Perl version to 'requires' key in Build.PL.
Not done in Makefile.PL because ExtUtils::MakeMaker
does not seem to like it.
Include t/celestrak_datasets.t, t/executable.t,
t/iridium_status.t, t/manifest.t, and
t/spacetrack_datasets.t in distribution, but only run
them if environment variable DEVELOPER_TEST is true.
Move changes from Astro::SpaceTrack pod to Changes file.
t/basic.t will now display net errors where generated and
(hopefully) appropriate.
0.034 2008-11-24 T. R. Wyant
Eliminate use of UNIVERSAL::isa as a function.
Add 'Pragma spacetrack-source = ' header to all methods
that return TLEs or Iridium status, saying where
the data came from.
Add content_source() method to access spacetrack-source
header.
Try for less bad test coverage. Good coverage awaits a
rewrite of the shell() method.
0.033 2008-09-30 T. R. Wyant
Fix Build.PL -y (and -n)
Add iridium_status('sladen') to scrape Rod Sladen's Iridium
Constallation Status web page.
Add attribute 'url_iridium_status_sladen'.
0.032 2008-07-06 T. R. Wyant
More graceful failure when unable to parse Space Track data.
0.031 2007-12-21 T. R. Wyant
Fix embedded modifier bug, exposed by the fixing of the
corresponding Perl bug (id=22354) in 5.10.0 -- or 5.9.0
actually. Thanks to Andy Lester's article:
http://perlbuzz.com/mechanix/2007/12/code-broken-by-regex-fixes-in.html
which tipped me off before I had to discover the problem
for myself.
Fixed dependencies in Makefile.PL and Build.PL.
Went back to prompting for executables in Makefile.PL and
Build.PL, as a way to handle apparant ActiveState build
failure because both they and I were running pl2bat.bat.
Enhance ExtUtils::MakeMaker version detection in Makefile.PL,
since ActiveState is apparantly deploying a Perl 5.10
with a development version of that module.
0.030 2007-10-24 T. R. Wyant
Add Celestrak 'sts' data set name to catalog.
Different error text for data sets in catalog but 404 and data sets
not in catalog and 404.
0.029 2007-10-13 T. R. Wyant
Add Celestrak galileo and sbas data set names to catalog.
Document celestrak data set names, or at least how to get them and
in general how they are formed.
Trap and error out on invalid spacetrack() data set numbers.
Add data set numbers to spacetrack() help.
Document how to get the current spacetrack data set names and
numbers, and what happens if they renumber.
Trap case where 'get' is called without an argument.
Have 'shell' method interpret 'show' as 'get', and special-case
'get' without arguments to display all attributes. Document
this.
0.028 2007-05-15 T. R. Wyant
Interpret missing spacetrack() catalog as a failure,
even though the request succeeds.
Ditto missing Space Track retrieve() data.
Add 'fallback' attribute to cause celestrak() to fall
back to using Celestrak data if Space Track data
are not available.
Clear session cookie when username or password change.
0.027 2007-01-30 T. R. Wyant
Add ability to search by on-orbit status ('onorbit',
'decayed', or 'all'), and to exclude 'debris' and
'rocket' (bodies).
Tweak docs.
Update copyright.
0.026 2006-11-06 T. R. Wyant
New location for Mike McCants' Iridium status page.
New attributes url_iridium_status_kelso and
url_iridium_status_mccants so users are not dead
in the water if this happens again.
Added max_range attribute for sanity checking.
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 0.591 second using v1.01-cache-2.11-cpan-0b5f733616e )