Skip to content

Latest commit

 

History

History
397 lines (251 loc) · 15.2 KB

File metadata and controls

397 lines (251 loc) · 15.2 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.51.0 - 2026-04-07

Changed

  • tilebox-storage: Replaced httpx with niquests for ASF HTTP downloads.

Fixed

  • tilebox-storage: Fixed an issue with the Copernicus storage client that prevented downloading granules pointing to the Copernicus OData thumbnail endpoint. (All granules ingested from March 2026 onwards).

0.50.1 - 2026-04-01

Added

  • tilebox-datasets: Allow anonymous access to open data datasets.

0.50.0 - 2026-03-06

Added

  • tilebox-datasets: Added dataset-level find and query methods on both sync and async DatasetClient to query across multiple collections.

0.49.0 - 2026-02-19

Added

  • tilebox-workflows: Added ability to mark tasks as optional. Optional tasks will not fail the job if they fail and tasks that depend on them will still execute even if they fail, allowing for a job to complete even if some tasks fail.
  • tilebox-workflows: Added a task_states parameter to JobClient.query, to allow filtering jobs by whether they contain tasks in one of the given state.

0.48.0 - 2026-01-29

Added

  • tilebox-storage: Added a LocalFileSystemStorageClient to access data on a local file system, a mounted network file system or a syncified directory with a remote file system (e.g. Dropbox, Google Drive, etc.).
  • tilebox-workflows: Added an ObstoreCache implementation for the task cache powered by obstore.

Changed

  • tilebox-storage: Renamed the existing StorageClient base class in tilebox.storage.aio to CachingStorageClient to accomodate the new StorageClient base class that does not provide caching, since LocalFileSystemStorageClient is the first client that does not cache data (since it's already on the local file system).

0.47.0 - 2026-01-28

Added

tilebox-datasets and tilebox-workflows: Added support for pandas v3.

Changed

  • tilebox-datasets: The create_dataset method of the Client has been removed. Use create_or_update_dataset instead.

Fixed

  • tilebox-storage: Fixed a bug on Windows, where the CopernicusStorageClient and USGSLandsatStorageClient were unable to download products due to an incorrect path separator in the underlying S3 paths.

0.46.0 - 2025-12-04

Added

  • tilebox-datasets: Added create_dataset method to Client to create a new dataset.

0.45.0 - 2025-11-17

Added

  • tilebox-workflows: Added execution_stats to the Job object to provide programmatic access to a job's execution statistics.
  • tilebox-workflows: Added query filters to the JobClient.query method to filter jobs by multiple automation ids, job state, and job name.
  • tilebox-workflows: Added additional JobState values to indicate a job's current state and progress more accurately.
  • tilebox-workflows: Removed the restriction of 64 subtasks per task.

Changed

  • tilebox-workflows: Deprecated the job.canceled property, which will be removed in a future version. The equivalent expression behavior for the old job.canceled is (job.state in (JobState.CANCELED, JobState.FAILED).
  • tilebox-workflows: Deprecated the job.started_at property, which will be removed in a future version. The equivalent information is available in job.execution_stats.first_task_started_at instead.
  • tilebox-workflows: The JobState.QUEUED enum value has been renamed in favor of the more accurate JobState.SUBMITTED. The QUEUED value is still available as an alias for SUBMITTED for backwards compatibility, but will be removed in a future version.
  • tilebox-workflows: Switched to an updated internal TaskSubmission message format that allows for more efficient submission of a very large number of tasks.

0.44.0 - 2025-09-18

Added

  • tilebox-workflows: Added progress_indicators to the query response of JobClient.find to provide programmatic access to a job's progress indicators.
  • tilebox-workflows: Added an ipywidgets based interactive display for Job objects for interactive environments like Jupyter notebooks.

0.43.0 - 2025-09-12

Added

  • tilebox-workflows: Added progress tracking support to the TaskRunner.

0.42.0 - 2025-08-22

Added

  • tilebox-storage: Added USGSLandsatStorageClient to download landsat data from the USGS Landsat S3 bucket.
  • tilebox-storage: Storage client now support concurrent downloads of multiple objects, controlled by the max_concurrent_downloads parameter.
  • tilebox-storage: Added quicklook and download_quicklook methods to the CopernicusStorageClient to download and display preview images for Sentinel data.

Fixed

  • tilebox-workflows: Registering duplicate task identifiers with a task runner now raises a ValueError instead of overwriting the existing task.
  • tilebox-workflows: Fixed a bug where the deserialize_task function would fail to deserialize nested dataclasses or protobuf messages that are wrapped in an Optional or Annotated type hint.
  • tilebox-workflows: Calling configure_otel_tracing and configure_otel_logging multiple times correctly configures multiple exporters instead of overwriting the existing ones.

0.41.0 - 2025-08-01

Added

  • tilebox-workflows: Task runners now support receiving a suggested idling duration from the workflows API

Fixed

  • tilebox-workflows: Change task lease extension logging message to DEBUG level

0.40.0 - 2025-07-29

Added

  • Added NetworkError and NetworkTimeoutError exceptions classes to indicate network related errors in grpc calls.

Changed

  • Dropped support for protobuf v5 and below, minimum supported version is now protobuf>=6.

Fixed

  • tilebox-workflows: Fix opentelemetry logging and tracing initialization on Windows, which was relying on os.uname, a stdlib function that does not exist on Windows python SDKs.

0.39.0 - 2025-07-16

Added

  • tilebox-workflows: Added cancel_jobs argument to AutomationClient.delete to optionally cancel all currently queued or running jobs of the automation.

Changed

  • tilebox-datasets: Changed TimeInterval and TimeIntervalLike imports from tilebox.datasets.data to tilebox.datasets.query.

0.38.0 - 2025-06-24

Added

  • tilebox-datasets: Added delete_collection method to DatasetClient to delete a collection.
  • tilebox-workflows: Added support for nested dataclasses and protobuf messages inside a list, dict or tuple as task arguments.

0.37.1 - 2025-06-10

Fixed

  • tilebox-datasets: Fixed a bug in TimeseriesDatasetChunk.from_message relying on incorrect bool assumptions about missing protobuf fields.
  • tilebox-grpc: More robust parsing of GRPC channel URLs.
  • tilebox-workflows: Fixed a bug in the timeseries interceptor that resulted in an error when accessing a collection.

0.37.0 - 2025-06-06

Changed

  • Dropped support for legacy Tilebox datasets, no longer necessary since all datasets have been migrated on the server.

0.36.1 - 2025-06-04

Changed

  • Changed the runner method of the Client to take an optional cluster argument. If not provided, the default cluster will be used.
  • Changed the create_cron_automation and create_storage_event_automation methods of the AutomationClient to take an optional cluster argument. If not provided, the default cluster will be used.
  • Changed the submit method of the JobClient to take an optional cluster argument. If not provided, the default cluster will be used.

0.36.0 - 2025-05-27

Added

  • Added query method to JobClient to query jobs in a given temporal extent and filter by automation id

0.35.0 - 2025-04-29

Added

  • Support for ingestion of enum values into datasets
  • Pagination support for ingestion / deletion of large numbers of datapoints

Changed

  • Renamed TimeseriesDataset to DatasetClient
  • Renamed TimeseriesCollection to CollectionClient

0.34.0 - 2025-04-15

Added

  • Added spatial-query support via new query method in TimeseriesDatasetCollection
  • Added submit_subtasks method to TaskRunner
  • Added deprecation warning for submit_batch method to TaskRunner

0.33.1 - 2025-04-01

Changed

  • Replaced Job field completed by state

0.33.0 - 2025-03-21

Added

  • Support for custom datasets
  • collection.ingest method to ingest data into a collection
    • ingest takes data in the form of either a xarray.Dataset, a pandas.DataFrame or a dictionary of Iterables (which will be converted to a pandas.DataFrame using its constructor)
  • collection.delete method to delete datapoints from a collection

0.32.1 - 2025-03-11

Changed

  • Update protobuf due to server side refactoring

0.32.0 - 2025-03-11

Added

  • Add get_or_create_collection and create_collection method to timeseries dataset
  • Added deprecation warning for availability and count for collection info
  • Add dataset_type protobuf files

0.31.0 - 2025-02-12

Added

  • Added list_objects method to storage clients to list available objects for a given datapoint.
  • Added download_objects method to storage clients to download a subset of the available objects for a given datapoint.

0.30.2 - 2025-01-27

Changed

  • Renamed recurrent tasks to automations.

0.30.1 - 2025-01-10

Added

  • Added _load_page method to TimeseriesCollection to easily allow individual pages, allowing to not do auto-pagination for use cases where it is not needed.
  • Added docstrings to the dataset client constructors.

0.30.0 - 2024-11-29

Changed

  • Removed async API for tilebox-workflows.
  • Changed argument order of create recurrent task methods to be consistent with the job client.

0.29.0 - 2024-11-14

Added

  • Added support for Python 3.12 and 3.13

Fixed

  • tilebox-grpc: Fixed a dependency version error resulting in an outdated version of the package being installed by pip by default.
  • tilebox-workflows: Fixed a bug where grpc errors were not wrapped in Tilebox Python exceptions.

0.28.0 - 2024-10-12

Added

  • Added SubscriptionLimitExceededError error to indicate subscription rate limiting related errors.

Changed

  • client.dataset method of the datasets client now takes a dataset slug instead of an id as input argument
  • Changed default value of count for the collection.info method to True, since it's no longer an expensive operation

0.27.2 - 2024-10-05

Added

  • Added format method to TimeInterval to format the interval as a string with custom precision and with or without the endpoint chars.

Fixed

  • tilebox-workflows: Fixed a bug where the root logger was not set to DEBUG level, which would cause all DEBUG messages to be discarded.

0.27.1 - 2024-10-04

Fixed

  • Properly offload datapoint parsing to a background thread during load in the async client.
  • Progress callbacks during load are now always done from the main thread in the sync client. This resolves an issue when using it in streamlit to update a progress bar, since interacting with streamlit widgets from a background thread is not allowed without setting some streamlit context in the background thread.
  • Accept any return type for show_progress callbacks in load

0.27.0 - 2024-10-02

Changed

  • Refactored timeseries dataset to a proper sync / async client containing correct types.

0.26.0 - 2024-09-30

Added

  • Create collection RPC stub and service method
  • Ingest and delete datapoints RPC stubs and service methods
  • Configure a default console logger if get_logger() is called without any configured loggers.
  • Callback function for reporting progress percentage for timeseries datasets .load() method.

Changed

  • Updated TimeInterval and TimeChunk tasks to use protobuf messages from datasets package.

0.25.1 - 2024-09-12

Added

  • Added descriptions for the pypi.org pages of the packages.

0.25.0 - 2024-08-12

Added

  • Initial version of the tilebox python library
  • Released under the MIT license.
  • Released packages: tilebox-datasets, tilebox-workflows, tilebox-storage, tilebox-grpc