Skip to content

Client release v1.12.0

Compare
Choose a tag to compare
@stephencpope stephencpope released this 01 Feb 18:34
· 195 commits to master since this release

Catalog

  • Catalog V2 is now fully supported on the AWS platform, including user ingest.
  • Catalog V2 has been enhanced to provide substantially all the functionality of the Scenes API. The Image class now
    includes methods such as ndarray and download. A new ImageCollection class has been added, mirroring SceneCollection.
    The various Search objects now support a new collect method which will return appropriate Collection types
    (e.g. ProductCollection, BandCollection, and of course ImageCollection). Please see the updated Catalog V2
    guide and API documentation for more details.
  • Previously, the internal implementation of the physical_range attribute on various band types was inconsistent with
    that of data_range and display_range. It has now been made consistent, which means it will either not be set,
    or will contain a 2-tuple of float values. It is no longer possible to explicitly set it to None.
  • Access permissions for bands and images are now managed directly by the product. The readers, writers, and
    owners attributes have been removed from all the *Band classes as well as the Image class. Also the
    Product.update_related_objects_permissions and Product.get_update_permissions_status methods have been removed
    as these are no longer necessary or supported.
  • All searches for bands (other than derived bands) and images must specify one or more product ids in the filtering.
    This requirement can be met by using the bands() and images() methods of a product to limit the search to that
    product, or through a filter(properties.product_id==...) clause on the search.
  • Products have a new product_tier attribute, which can only be set or modified by privileged users.
  • The Image.upload_ndarray will now accept either an ndarray or a list of ndarrays, allowing multiple files per image.
    The band definitions for the product must correspond to the order and properties of the multiple ndarrays.

Scenes

  • With the addition of the Scenes functionality to Catalog V2, you are strongly encouraged to migrate your Scenes-based
    code to use Catalog V2 instead. Scenes will be deprecated in a future release. Some examples of migrating from Scenes
    to Catalog V2 are included in the Catalog V2 guide. In the meantime the Scenes API has been completely reimplemented
    to use Catalog V2 under the hood. From a user perspective, existing code using the Scenes API should continue to
    function as normal, with the exception of a few differences around some little-used dark corners of the API.
  • The Scenes search_bands now enforces the use of a non-empty products= parameter value. This was previously
    documented but not enforced.

Metadata

  • With the addition of the Scenes functionality to Catalog V2, you are strongly encouraged to migrate your Metadata-based
    code to use Catalog V2 instead. Metadata will be deprecated in a future release.
  • As with Catalog and Scenes, one or more products must now be specified when searching for bands or images.

Raster

  • The Raster client API now requires a bands= parameter for all rastering operations, such as raster, ndarray
    and stack. It no longer defaults to all bands defined on the product.

DLTile

  • An off-by-1/2-pixel problem was identified in the coordinate transforms underlying
    DLTile.rowcol_to_latlon and DLTile.latlon_to_rowcol. The problem has been corrected,
    and you can expect to see slight differences in the results of these two methods.

REST Clients

  • All the REST client types, such as Metadata and Raster, now support get_default_client() and set_default_client()
    instances. This functionality was previously limited to the Catalog V2 CatalogClient. Whenever such a client is required,
    the client libraries use get_default_client() rather than using the default constructor. This makes it easy to
    comprehensively redirect the library to use a specially configured client when necessary.

Geo package

  • The GeoContext types that originally were part of the Scenes package are now available in the new descarteslabs.geo package,
    with no dependencies on Scenes. This is the preferred location from which to import these classes.

Utils package

  • The descarteslabs.utils package, added in the previous release for the AWS client only, now exists in the GCP client
    as well, and is the preferred location to pick up the DotDict and DotList classes, the display and save_image functions,
    and the Properties class for property filtering in Catalog V2.
  • The display method now has added support for multi-image plots, see the API documentation for the figsize, nrows,
    ncols and layout_direction parameters.

Property filtering

  • The property_filtering.GenericProperties class has been replaced with property_filtering.Properties, but remains
    for back compatibility.
  • Property filters now support isnull and isnotnull operations. This can be very useful for properties which may or
    may not be present, e.g. properties.cloud_fraction.isnull | properties.cloud_fraction <= 0.2.

Configuration and Authentication

  • The Config exceptions RuntimeError and KeyError were changed to ConfigError exceptions
    from descarteslabs.exceptions.
  • Auth now retrieves its URL from the Config settings. If no valid configuration can be found,
    it reverts to the commercial service (https://iam.descarteslabs.com).

General

  • Dependencies for the descarteslabs library have been updated, but remain constrained to continue to support Python 3.7.
  • Numerous bug fixes.