Changelogs » Descarteslabs

Descarteslabs

0.18.0

Changed
- Many old and obsolete examples were removed from the package.
- Scene.ndarray, SceneCollection.stack, and SceneCollection.mosaic now will automatically mask alpha if the alpha band is available in the relevant scene(s), and will set mask_alpha to False if the alpha band does not exist.
- FeatureCollection.add, FeatureCollection.upload, Vector.create_feature, Vector.create_features, and Vector.upload_features all accept a fix_geometry string argument that determines how to handle certain problem geometries including those which do not follow counter-clockwise winding order (which is required by the GeoJSON spec but not many popular tools). Allowed values are reject (reject invalid geometries with an error), fix (correct invalid geometries if possible and use this corrected value when creating the feature), and accept (the default) which will correct the geometry for internal use but retain the original geometry in the results.
Vector.get_upload_results and Vector.get_upload_result now accept a pending parameter to include pending uploads in the results. Such pending results will have status: PENDING and, in lieu of a task id, the id attribute will contain the upload id as returned by Vector.upload_features
- UploadTask.status no longer blocks until the upload task is completed, but rather returns the current status of the upload job, which may be PENDING, RUNNING, SUCCESS, or FAILURE.
- The FutureTask.ready and UploadTask.ready property has been added to test whether the task has completed. A return value of True means that if get_result(wait=True) were to be called, it would return without blocking.
- You can now export features to a storage data blob. To export from the vector client, use Vector.export_product_from_query() with a storage key and an optional query. This returns the task id of the export task. You can ask for status using Vector.get_export_results() for all export tasks or Vector.get_export_result() for a specific task by task id.
- FeatureCollection has been extended with this functionality with a FeatureCollection.export() method that takes a storage key. This operates on the filter chain that FeatureCollection represents, or the full product if there is no filter chain. It returns an ExportTask which behaves similar to the FutureTask.
- Catalog.upload_image() and Catalog.upload_ndarray() now will return an upload_id that can be used to query the status of that upload using Catalog.upload_result(). Note that the upload id is the image id and if you use identical image ids Catalog.upload_result() will only show the result of the most recent upload.

0.17.3

Changed
- Fixed issues with `Catalog.upload_ndarray()` under Windows
- Added header to client requests to better debug retries

0.17.2

Changed
- Tasks methods `create_function`, `create_or_get_function`, and `new_group` now have image as a required parameter
- The `name` parameter is renamed to `product_id` in `Vector.create_product`, and `FeatureCollection.create` and `FeatureCollection.copy`.  The 'name' parameter is renamed to `new_product_id` in `Vector.create_product_from_query`.  Using `name` will continue to work, but will be removed completely in future versions.
- The `name` parameter is no longer required, and is ignored for `Vector.replace_product`, `Vector.update_product`, `FeatureCollection.update` and `FeatureCollection.replace`.  This parameter will be removed completely in future versions.

Added
- `Metadata.paged_search` has been added and essentially supports the original behavior of `Metadata.search` prior to release 0.16.0.
This method should generally be avoided in favor of `Metadata.features` (or `Metadata.search`).

0.17.1

Changed

- Fixed typo in UploadTask.status which caused exception when handling certain failure conditions
- FeatureCollection.upload parameter max_errors was not being passed to Vector client.
- Ensure cloudpickle==0.4.0 is version used when creating Tasks.
- Eliminate redundant queries from FeatureCollection.list.

0.17.0

Added
- `FeatureCollection.upload` and `Vector.upload_features` now accept an optional `max_errors` parameter to control how many errors are acceptable before declaring an upload a failure.
- `UploadTask` (as returned by `FeatureCollection.upload` and `Vector.list_uploads`) now has added attributes to better identify what was processed and what errors occurred.
- `Storage` now has added methods `set_file` and `get_file` to allow for better uploading and downloading, respectively, of large files.
- `Storage` class now has an `exists()` method that checks whether an object exists in storage at the location of a given `key` and returns a boolean.
- `Scenes.search` allows `limit=None`
- `FeatureCollection.delete_features` added to support deleting `Feature`s that match a `filter`
- `FeatureCollection.delete_features` and `FeatureCollection.wait_for_copy` now use `AsyncJob` to poll for asynchronous job completion.
- `Vector.delete_features_from_query` and `Vector.get_delete_features_status` added to support new `FeatureCollection` and `AsyncJob` methods.

Changed
- Fixed tasks bugs when including modules with relative paths in `sys.path`

0.16.0

Added
- Tasks now support passing modules, data and requirements along with the function code, allowing for a more complex and customized execution environment.
- Vector search query results now report their total number of results by means of the standard `len()` function.

Changed
- `Metadata.search` no longer has a 10,000-item limit, and the number of items returned will be closer to `limit`.

0.15.0


      

0.14.1

Added
- Scenes and raster clients have a `processing_level` parameter that can be used to turn on surface reflectance processing for products that support it

0.14.0

Changed
- `scenes.GeoContext`: better defaults and `bounds_crs` parameter
- `bounds` are no longer limited to WGS84, but can be expressed in any `bounds_crs`
- New `Scene.default_ctx` uses a Scene's `geotrans` to more accurately determine a `GeoContext` that will result in no warping of the original data, better handling sinusoidal and other non-rectilinear coordinate reference systems.
- **Important:** the default GeoContexts will now return differently-sized rasters than before!
They will now be more accurate to the original, unwarped data, but if you were relying on the old defaults, you should now explicitly set the `bounds` to `geometry.bounds`,
`bounds_crs` to `"EPSG:4326"`, and `align_pixels` to True.
- `Scene.coverage` and `SceneCollection.filter_coverage` accept any geometry-like object, not just a `GeoContext`.

0.13.2

Changed
- `FutureTask` inheritance changed from `dict` to `object`.

Added
- Can now specify a GPU parameter for tasks.
- `Vectors.upload` allows you to upload a JSON newline delimited file.
- `Vectors.list_uploads` allows you to list all uploads for a vector product.
- `UploadTask` contains the information about an upload and is returned by both methods.

0.13.1

Fixes incompatibility of upload features response.

0.13.0

Changed
- Shapely is now a full requirement of this package. Note: Windows users should visit https://docs.descarteslabs.com/installation.htmlwindows-users for installation guidance.
- Reduced the number of retries for some failure types.
- Resolved intermittent `SceneCollection.stack` bug that manifested as `AttributeError: 'NoneType' object has no attribute 'coords'` due to Shapely thread-unsafety.
- Tracking system environment to improve installation and support of different systems.

Added
- The vector service is now part of the public package. See `descarteslabs.vectors` and `descarteslabs.client.services.vector`.

0.12.0

Added
- **`Scene.download`, `SceneCollection.download`, and `SceneCollection.download_mosaic` methods**
- **Colormaps supported in `descarteslabs.scenes.display`**
- Task namespaces are automatically created with the first task group

Changed
- **Clients can safely be used in subprocesses without causing obscure SSL errors**
- `descarteslabs.scenes.search` will take a Python datetime object in addition to a string
- **Scenes will now allow Features and FeatureCollections in addition to GeoJSON geometry types**
- Fixed Scenes issue preventing access to products with multi-byte data but single-byte alpha bands
- Scenes now exposes more parameters from raster and metadata

Deprecations
- Removed extra keyword arguments from places client
- Added deprecation warnings for parameters that have been renamed in the Metadata client

0.11.2

Changed
- Moved metadata property filtering to common
- Deprecated `create_or_get_function` in tasks
- Renamed some examples

Added
- Scenes filtering by coverage

0.11.1

Added

- Namespaced auth environment variables: DESCARTESLABS_CLIENT_SECRET and DESCARTESLABS_CLIENT_ID. CLIENT_SECRET and CLIENT_ID will continue to work.
- Tasks runtime check for Python version.

Changed

- Documentation updates
- Example updates

0.11.0

Added
- Scenes package
- More examples

Changed
- Deprecated `add_namespace` argument in catalog client (defaults to `False`
now, formerly `True`)

0.10.1

Changed
- Added org to token scope
- Removed deprecated key usage

0.10.0


      

0.9.1


      

0.9.0


      

0.8.1

redirect
Documentation is now at https://docs.descarteslabs.com

0.8.0

Changed
- Removed deprecated searching by `const_id`
- Removed deprecated raster band methods
- Deprecated `sat_id` parameter for metadata searches
- Changed documentation from readthedocs to https://docs.descarteslabs.com

Added
- Dot notation access to dictionaries returned by services

0.7.0

Changed
Reorganization into a client submodule

0.6.2

Changed
- Fix regression for `NotFoundError`

0.6.1

Changed
- Reverted `descarteslabs.services.base` to `descarteslabs.services.service`

0.6.0

Changed
- Reorganization of services
- Places updated to v2 backend, provides units interface to statistics, which
carries some backwards incompatibility.

Added
- Places updated to v2 backend, provides units interface to statistics, which
carries some backwards incompatibility.

0.5.0

Added
- Blosc Support for raster array compression transport
- Scrolling support for large metadata searches

Changes
- Offset keyword argument in metadata.search is deprecated. Please use the
metadata.features for iterating over large search results

0.4.7

Added
- Complex filtering expressions for image attributes

Fixes
- Raise explicitly on 409 response
- Keep retrying token refresh until token fully expired
- Fixed race condition when creating `.descarteslabs` directory

0.4.6

Added
- Added ext namespace
- Metadata multi-get

Fixes
- Fix OpenSSL install on OSX