GBDXtools v 0.17.0 Release Notes

This release document includes the announcement and release notes for the required upgrade to GBDXtools v 0.17.0, and the deprecation notice for the RDA Graph API.

  • 60 days notice posted on: February 25, 2020
  • 60 days notice ends: Monday, April 27, 2020

Action Required

GBDXtools v 0.17.0 has been released as the latest official version. All users will need to upgrade to this new version by April 27, 2020. Previous versions will not be supported after after this date.

GBDXtools users

Upgrade to GBDXtools v 0.17.0 and a current supported Python 3 version (v 3.6 - 3.8) before April 27, 2020.

Installation instructions: GBDXtools Quickstart Guide

Report any issues to GBDX Support

GBDX Notebooks Users

The default Notebook environment will be automatically upgraded for all users the week of April 20th.

To prepare for this update, do the following before April 20th:

  • Migrate any Python 2 notebooks to the current Python 3.6 environment
  • Optionally, run this migration notebook to test GBDXtools 0.17.0 in the current Python 3.6 environment. The environment can be reset back to GBDXtools 0.16.5 within the 60 day notification period if needed.

After 60 days:

  • Test your notebooks in the new Python 3.7 environment after the forced environment update. This will be at the end of the 60 day notice period.

Release Notes

GBDXtools on Python 2 is not supported

As of January 1, 2020, GBDXtools is no longer supported or tested with Python 2. Version 0.17.0 is the first version released with no Python 2 testing or compatibility work. You will need to move to a recent and supported version of Python 3 with this release (Python 3.6 - 3.8).

Streamlined installation and dependencies

The following changes have been made to streamline the installation process and reduce dependencies:

  • The Conda package size has been reduced from 10 mb to 79kb
  • The dependencies on full Dask and SciKit Image packages have been removed
  • GBDX Notebooks environments will continue to include Pandas (part of Dask) and SciKit Image as default packages

Imagery access changes

GBDXtools uses Maxar's Raster Data Access (RDA) service to access imagery in most cases. Previous versions of GBDXtools rely on the RDA Graph API, which has been deprecated and will be retired on April 27, 2020. On that date, imagery access in previous GBDXtools versions will stop working. See the next paragraph for more information on the RDA Graph API retirement.

Graph API retirement

Older versions of GBDXtools use the deprecated RDA Graph API to access imagery. The Graph API has been deprecated, so GBDXtools now uses the Template API to access imagery.
Any code that uses the rda = RDA() pattern to build or modify graphs will need to use templates.

Preview() removed

  • The preview function does not consitute a preview and triggers data consumption
  • This function relied on deprecated RDA functionality and has been deleted

warping removed

The Dask-delayed warp() function is nonfunctional and has been deleted

.geotiff(spec=rgb) change in behavior

  • spec=rgb used to enable DRA on an image object without DRA
  • Going forward, the image object will need to be initialized with DRA to write "RGB" geotiffs
  • Geotiffs using just RGB bands are possible by passing the RGB bands with the bands kwarg
  • Consider using the GDAL RDA Driver instead for small areas, and RDA Materialization for big areas

Base Layer Matching changes

  • BLM functionality depended on Maps API imagery which has been retired
  • BLM will now match to the image's Browse image

TMSImage is now user-specified

  • The original TMSImage class depended on Maxar's MapsAPI service, which has been retired
  • This class now requires the user specify a TMS service to use

PyProj updates

  • PyProj is updated, which may cause warnings in code using older classes
  • You can now use CRS(4326) instead of Proj('init=EPSG:4326')

More checks and better error messages

  • CatalogImage does better checking of an image's status and availability
  • Specific errors are thrown when images are not available in GBDX
  • Initializing CatalogImages may be a bit slower due to the new status and availability checks

S3 pagination and prefixes

  • S3 calls were limited to 1000 objects
  • Pagination is now used instead of the 1000 object limit
    *Improved prefix handling for specifying file paths

Need help? Contact GBDX Support