February 2024 Release

3.0.0 Python client release

Python client updates

We are excited to announce the v3.0.0 release of the descarteslabs Python client.

The old client version v1.12.1 is reaching end of life and will no longer be supported as of February 2024.

Vector

The Vector API is now part of the 3.0.0 descarteslabs release and should no longer be installed separately.

The is_spatial parameter previously accepted by many methods and functions is now deprecated and ignored. Existing type information always determines if an operation is spatial or not. Warnings will be generated if it is used.

Catalog

  • Storage Blobs now have a delete_many method, which can be used to efficiently delete large numbers of Blobs.

  • The Storage Blob get_or_create method has been updated to be consistent with other Blob APIs. Specifically, the method allows supplying storage type, namespace, and name parameters.

  • Image methods ndarray and download no longer pass the image's default geocontext geometry as a cutline. This is to avoid problems when trying to raster a complete single image in its native CRS and resolution where imperfect geometries (due to a simplistic projection to EPSG:4326) can cause some boundary pixels to be masked. When passing in an explicit GeoContext to these methods, consider whether any cutline geometry is required or not, to avoid these issues.

  • Tags now accept 32 elements, each of which can be up to 1000 characters in length.

  • Breaking: Derived bands have never been supported on our new infrastructure, and have now been removed from the API.

Batch Compute

  • We added support for environment variables, which can be submitted at Function creation time (for environment variables applicable to all Jobs) or at Job creation time (for those only applicable on a per-Job basis). Read the Guide for more info.

  • Breaking: The Function.map method now submits jobs in batches (up to 1000 jobs per batch) to avoid request timeouts, and is more robust on retryable errors so that duplicate jobs are not submitted accidentally. There is still no bound on how many jobs you may create with a single call to Function.map. The return value is now a JobBulkCreateResult object, which behaves like a list of Jobs but has additional properties to determine if all submissions were successful, what errors may have occurred, and what jobs have been created.

General Updates

Breaking: The deprecated Scenes and Metadata clients are now removed in favor of the Catalog API. See the Porting from Scenes to Catalog section of the Catalog guide for more info on how to update your client code.

As always, refer to the changelog for the most detailed descriptions of API updates: descarteslabs/descarteslabs-python

Interface updates

Workbench

New Workbench server images are available, which you can select when you start a new server. The new images provide the Descartes Labs Python Client v3.0.0 (which now includes the Vector Client) and Dynamic Compute v0.9.11. In addition, these images use Python 3.10 rather than Python 3.9, and many of the additional packages for geospatial analysis and machine learning have been updated to their latest compatible releases. The previous images remain available and may be selected to avoid any changes.

Note that when moving from the older Python 3.9 images to the new Python 3.10 images, any packages that you have installed yourself will no longer be available and you will need to reinstall them.

As part of this release, you'll also see updates to the example_notebooks. In particular, we added a demos folder with more complete end-to-end examples of how the Platform can be used. The first demo is a deep learning exercise that closely mirrors our recent blog post, Unlock Large-scale, Complex Geospatial Workloads with Batch Compute.

Data Updates

The following datasets have been added to the Catalog and are available to all users: