Skip to content

Commit

Permalink
Client Release v1.12.0 (#11499)
Browse files Browse the repository at this point in the history
GitOrigin-RevId: 5591dd61bb1b080615b0ea7782b8580c3f194375
  • Loading branch information
stephencpope authored and Descartes Labs Build committed Feb 1, 2023
1 parent 6810822 commit 34a2f51
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 13 deletions.
36 changes: 29 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,11 @@ Changelog
=========
## [Unreleased]

- 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`).
## [1.12.0] - 2023-02-01

### 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
Expand All @@ -42,6 +40,8 @@ Changelog
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

Expand All @@ -50,11 +50,13 @@ Changelog
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
- 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
Expand All @@ -72,19 +74,39 @@ Changelog

- 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.
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.
- Add `isnull` and `isnotnull` to property filtering.
- 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.

## [1.11.0] - 2022-07-20

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.11.0"
__version__ = "1.12.0"
10 changes: 5 additions & 5 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ def do_setup():
python_requires="~=3.7",
install_requires=[
"affine>=2.2.2",
"blosc==1.10.6",
"cachetools>=3.1.1",
"blosc>=1.10.6",
"cachetools>=3.1.1,<5",
"cloudpickle==0.4.0;python_version<'3.8'",
"cloudpickle==1.6.0;python_version>='3.8'",
"dynaconf>=3.1.11",
Expand All @@ -116,11 +116,11 @@ def do_setup():
"lazy_object_proxy>=1.7.1",
"mercantile>=1.1.3",
"numpy>=1.21.6,<1.23.0",
"Pillow>=8.2.0",
"protobuf>=3.19.0,<4",
"Pillow>=9.2.0",
"protobuf>=3.19.5,<4",
"pyarrow>=3.0.0",
"pytz>=2021.1",
"requests>=2.27.1,<3",
"requests>=2.28.1,<3",
# It is not obvious but dynaconf requires pkg_resources from setuptools.
"setuptools>=65.6.3",
"shapely>=1.8.1,<2",
Expand Down

0 comments on commit 34a2f51

Please sign in to comment.