Client release v1.11.0
Installation
- The extra requirement options have changed. There are four extra requirement options now,
visualization
,tables
,
complete
, andtests
.visualization
pulls in extra requirements to support operating in a Jupyter notebook or
environment, enabling interactive maps and graphical displays. It is not required for operating in a "headless"
manner.tables
pulls in extra requirements to support theTables
client.complete
is the combination of
visualization
andtables
.tests
pulls in extra requirements for running the tests. As always,
pip install 'descarteslabs[complete]'
will install a fully enabled client.
Configuration
- The Descartes Labs client now supports configuration to support operating in different environments. By default,
the client will configure itself for standard usage against the GCP platform ("gcp-production"
), except in the case of AWS Marketplace users, for whom
the client will configure itself against the AWS platform ("aws-production"
).
Alternate environments can be configured by setting theDESCARTESLABS_ENV
environment variable before starting python, or by using a prelude likebefore any other imports of any part of the descarteslabs client package.from descarteslabs.config import Settings Settings.select_env("environment-name")
- The new AWS Enterprise Accelerator release currently includes only Auth, Configuration
and the Scenes client.
Auth and Exceptions
- The
descarteslabs.client.auth
package has moved todescarteslabs.auth
. It is now imported
into the original location atdescarteslabs.client.auth
to continue to work with existing
code, but new code should use the new location. - The
descarteslabs.client.exceptions
module has moved todescarteslabs.exceptions
. It is
now imported into the original location atdescarteslabs.client.exceptions
to continue to
work with existing code, but new code should use the new location.
Scenes
- Fixed an issue in
scenes.DLTile.from_shape
where there would be incomplete coverage of certain geometries. The function may now return more tiles than before. - Added support for the new
all_touched
parameter to the differentGeoContext
types. Default behavior remains the same
as always, but if you setall_touched=True
this communicates to the raster service that you want the image(s) rastered
using GDAL'sCUTLINE_ALL_TOUCHED
option which will change how source pixels are mapped to output pixels. This mode is
only recommended when using an AOI which is smaller than the source imagery pixel resolution. - The DLTile support has been fixed to avoid generating gaps when tiling regions that span
a large distance north-to-south and straddle meridians which are boundaries between
UTM zones. So methods such asDLTile.from_shape
may return more tiles than previously,
but properly covering the region. - Added support for retrieving products and bands.
- Methods added:
get_product
,get_band
,get_derived_band
,search_products
,
search_bands
,search_derived_bands
. - Disallows search without
products
parameter.
- Methods added:
- Scaling support has been enhanced to understand processing levels for newer products. The
Scene.scaling_parameters
andSceneCollection.scaling_parameters
methods now accept
aprocessing_level
argument, and this will be factored in to the determination of
the default result data type and scaling for all rastering operations such asScene.ndarray
andSceneCollection.mosaic
. - If the user provides the
rasterio
package (which implies providing GDAL), then rasterio
will be used to save any downloaded images as GeoTIFF, allowing for the use of compression.
Otherwise, by default thetifffile
support will be used to generate the GeoTIFF files
but compression is not supported in this mode. - As the Places client has been deprecated, so has any use of the
place=
parameter supported
by several of the Scenes functions and methods.
Catalog
- (Core users only) Added support for specifying the image index to use when creating a new
Product
. - Added support for defining per-processing-level
data_type
,data_range
,display_range
andphysical_range
properties on processing level steps.
Discover
- Added support for filtering
Assets
by type and name fields.- Supported filter types
blob
,folder
,namespace
,sym_link
,sts_model
, andvector
. Specifying multiple types will find assets matching any given type. - The name field supports the following wildcards:
*
matches 0 or more of any character.?
matches 1 of any character.
- Find assets matching type of
blob
and having a display name offile name.json
orfile2name.txt
but notfilename.json
:Discover().list_assets("asset/namespace/org:some_org", filters="type=blob&name=file?name.*")
Discover().list_assets("asset/namespace/org:some_org", filters=AssetListFilter(type=AssetType.BLOB, name="file?name.*"))
- Find assets of type
blob
orvector
:Discover().list_assets("asset/namespace/org:some_org", filters="type=blob,vector")
Discover().list_assets("asset/namespace/org:some_org", filters=AssetListFilter(type=[AssetType.BLOB, AssetType.VECTOR], name="file?name.*"))
- Supported filter types
Metadata
Metadata.products
andMetadata.available_products
now properly implement paging so that
by default, a DotList containing every matching product accessible to the user is returned.
Raster
- If the user provides the
rasterio
package (which implies providing GDAL), then rasterio
will be used to save any downloaded images as GeoTIFF, allowing for the use of compression.
Otherwise, by default thetifffile
support will be used to generate the GeoTIFF files
but compression is not supported in this mode.
Tables
- Fixed an issue that caused a user's schema to be overwritten if they didn't provide a primary
key on table creation. - Now uses Discover backend filtering for
list_tables()
instead of filtering on the client to
improve performance. list_tables()
now supports filtering tables by nameTables.list_tables(name="Test*.json")
Tasks
- New Tasks images for this release bump the versions of several dependencies, please see
the Tasks guide for detailed lists of dependencies.
Workbench
- The new Workbench release bumps the versions of several dependencies.
Workflows
- Added support for the new
all_touched
parameter to the differentGeoContext
types.
See description above underScenes
.
General
- The Places client has been deprecated, and use thereof will generate a deprecation warning.
- The older Catalog V1 client has been deprecated, and use thereof will generate a deprecation
warning. Please use the Catalog V2 client in its place. - Documentation has been updated to include the `AWS Enterprise Accelerator" release.
- With Python 2 far in the rearview mirror, the depedencies on the
six
python package have
been removed throughout the library, the distribution and all tasks images.