Skip to content

Conversation

@internal-python-client-app
Copy link
Contributor

@internal-python-client-app internal-python-client-app bot commented Jan 16, 2026

Automated Sync from Internal Repository

Changes in this sync:

[1.8.0]

Added

  • platform.search() method for STAC item search with optional concurrent execution
  • days_per_chunk parameter to split datetime ranges and execute searches concurrently
  • max_workers parameter to control concurrent thread pool size (default 10, capped at 10)
  • max_items_per_chunk parameter to limit items fetched per time chunk in concurrent search

[1.7.0]

Added

  • deduplicate_by parameter for datacube.create() to deduplicate STAC items before datacube creation
  • deduplicate_keep parameter to control which item to keep when duplicates found ("first" or "last")
  • pool parameter passthrough to odc.stac.load for parallel COG metadata fetching

[1.6.1]

Added

  • groupby parameter for datacube.temporal_aggregate() to aggregate by available dates (e.g., groupby="time.date")

[1.6.0]

Added

  • Collection helpers for Sentinel-1 and Sentinel-2 data access (Sentinel1CollectionHelper, Sentinel2CollectionHelper)
  • Pre-configured collection templates with factory methods (create_dual_pol, create_rgb, create_vegetation, etc.)
  • Cloud cover filtering and orbit direction filtering capabilities
  • Built-in vegetation indices calculation (NDVI, NDWI)
  • Metadata analysis tools for processing information and band details
  • STGeometry class for spatiotemporal geometry handling
  • Helper example scripts (sentinel1_helper_example.py, sentinel2_helper_example.py)

Breaking Changes:

  • None

Automated sync from internal repository. Please review and update the changelog above before merging.

* Release version 1.8.0 with new STAC item search functionality

- Introduced `platform.search()` method for searching STAC items with optional concurrent execution.
- Added `batch_days` parameter to allow splitting datetime ranges for concurrent searches.
- Implemented `max_workers` parameter to control the size of the concurrent thread pool (default is 10, capped at 10).
- Updated CHANGELOG to reflect these new features and incremented version in `pyproject.toml` and `uv.lock` to 1.8.0.
- Added unit tests to ensure the new search functionality works as intended.

* Enhance `platform.search()` with `max_items_per_chunk` parameter for concurrent searches

- Added `max_items_per_chunk` parameter to limit the number of items fetched per chunk during concurrent searches, improving performance and control.
- Updated the `search` method to raise a `ValueError` if `max_items` is used alongside `batch_days`, guiding users to use `max_items_per_chunk` instead.
- Enhanced documentation and examples to reflect the new parameter and its usage.
- Updated CHANGELOG to include these changes for version 1.8.0.

* Refactor `PlatformService` to enhance datetime handling and error management

- Updated `_split_datetime` method to raise `ValueError` for zero or negative `batch_days` and for open-ended datetime intervals.
- Improved the creation of STAC client to fetch a fresh authorization token for each call.
- Refactored the handling of date ranges to ensure non-overlapping chunks during concurrent searches.
- Added unit tests to validate new error conditions and ensure correct behavior of datetime splitting and STAC client creation.

* Implement validation for `max_workers` in `PlatformService` and add corresponding unit tests

- Added a check in the `search` method to raise a `ValueError` if `max_workers` is zero or negative, ensuring proper input validation.
- Introduced unit tests to verify that appropriate errors are raised when `max_workers` is set to zero or a negative value, enhancing robustness of the concurrent search functionality.

* Refactor `platform.search()` method to rename `batch_days` parameter to `days_per_chunk`

- Updated the `platform.search()` method and related functionality to replace the `batch_days` parameter with `days_per_chunk`, enhancing clarity and consistency in the API.
- Adjusted documentation and examples to reflect the new parameter name.
- Updated unit tests to ensure proper functionality with the renamed parameter.
- Modified CHANGELOG to document this change for versioning.

* Enhance `build_datacube` documentation with `fail_on_error` parameter

- Added a new optional parameter `fail_on_error` to the `build_datacube` function documentation, specifying its behavior for asset loading failures. If set to True (default), an error is raised for failed assets; if False, the function skips them, improving usability for users dealing with potentially missing or corrupted assets.

GitOrigin-RevId: 70cca02c6e7b9c3c402945c03012ab7adacde6cb
@imanshafiei540 imanshafiei540 changed the title Sync from internal repository EarthDaily Python Client Release - 1.8.0 Jan 16, 2026
@imanshafiei540 imanshafiei540 merged commit 5ed6f15 into main Jan 16, 2026
9 checks passed
@imanshafiei540 imanshafiei540 deleted the earthdaily-python-sync-70cca02c6e7b9c3c402945c03012ab7adacde6cb branch January 16, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants