Skip to content

Commit

Permalink
Client Release v1.11.0 (#10805)
Browse files Browse the repository at this point in the history
GitOrigin-RevId: 2cc95a4afdecb3cee44399a2dad0f478d73f843e
  • Loading branch information
stephencpope authored and Descartes Labs Build committed Jul 20, 2022
1 parent 820b9d5 commit c976515
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 29 deletions.
99 changes: 75 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Changelog
=========
## [Unreleased]

## [1.11.0] - 2022-07-20

### Installation

- The extra requirement options have changed. There are four extra requirement options now, `visualization`, `tables`,
Expand All @@ -31,29 +33,58 @@ Changelog
### 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"`). Alternate
environments can be configured by setting the `DESCARTESLABS_ENV` environment variable before starting python,
or by using a prelude like
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 the `DESCARTESLABS_ENV` environment variable before starting python, or by using a prelude like
```
from descarteslabs.config import Settings
Settings.select_env("environment-name")
```
before any other imports of any part of the descarteslabs client package.
- 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 to `descarteslabs.auth`. It is now imported into the original
location at `descarteslabs.client.auth` to continue to work with existing code, but new code should use the new
location.
- The `descarteslabs.client.exceptions` module has moved to `descarteslabs.exceptions`. It is now imported into the original
location at `descarteslabs.client.exceptions` to continue to work with existing code, but new code should use the new
location.
- The `descarteslabs.client.auth` package has moved to `descarteslabs.auth`. It is now imported
into the original location at `descarteslabs.client.auth` to continue to work with existing
code, but new code should use the new location.
- The `descarteslabs.client.exceptions` module has moved to `descarteslabs.exceptions`. It is
now imported into the original location at `descarteslabs.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 different `GeoContext` types. Default behavior remains the same
as always, but if you set `all_touched=True` this communicates to the raster service that you want the image(s) rastered
using GDAL's `CUTLINE_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 as `DLTile.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`.
- Methods added: `get_product`, `get_band`, `get_derived_band`, `search_products`,
`search_bands`, `search_derived_bands`.
- Disallows search without `products` parameter.
- Scaling support has been enhanced to understand processing levels for newer products. The
`Scene.scaling_parameters` and `SceneCollection.scaling_parameters` methods now accept
a `processing_level` argument, and this will be factored in to the determination of
the default result data type and scaling for all rastering operations such as `Scene.ndarray`
and `SceneCollection.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 the `tifffile` 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`
and `physical_range` properties on processing level steps.

### Discover

Expand All @@ -69,29 +100,49 @@ Changelog
- `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.*"))`

### Metadata

- `Metadata.products` and `Metadata.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 the `tifffile` 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.
- 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 name
- `Tables.list_tables(name="Test*.json")`

## 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 different `GeoContext` types. Default behavior remains the same
as always, but if you set `all_touched=True` this communicates to the raster service that you want the image(s) rastered
using GDAL's `CUTLINE_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.
### Tasks

- New Tasks images for this release bump the versions of several dependencies, please see
the Tasks guide for detailed lists of dependencies.

### Workbench

## Workflows
- The new Workbench release bumps the versions of several dependencies.

- Added support for the new `all_touched` parameter to the different `GeoContext` types. Se description above under `Scenes`.
### Workflows

- Added support for the new `all_touched` parameter to the different `GeoContext` types.
See description above under `Scenes`.

## General
### General

- 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.
- 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.

## [1.10.0] - 2022-01-18

Expand Down
2 changes: 1 addition & 1 deletion descarteslabs/_dl_modules/client/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.

__version__ = "1.10.0"
__version__ = "1.11.0"
8 changes: 4 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,15 +113,15 @@ def do_setup():
"geojson>=2.5.0",
"grpcio>=1.35.0,<2",
"imagecodecs>=2021.5.20",
"lazy_object_proxy>=1.4.1",
"lazy_object_proxy>=1.7.1",
"mercantile>=1.1.3",
"numpy>=1.21.6,<1.23.0",
"Pillow>=8.1.1",
"protobuf>=3.14.0,<4",
"Pillow>=8.2.0",
"protobuf>=3.19.0,<4",
"pyarrow>=3.0.0",
"pytz>=2021.1",
"requests>=2.27.1,<3",
"shapely>=1.7.1,<2",
"shapely>=1.8.1,<2",
"tifffile==2021.4.8",
"tqdm>=4.32.1",
],
Expand Down

0 comments on commit c976515

Please sign in to comment.