Skip to content

Releases: up42/up42-py

V2.2.0

13 May 07:16
0c5f971
Compare
Choose a tag to compare

What's Changed

Added

  • Validate process exists after JobTemplate initialisation
  • Added sorting fields to QuotationSorting.
  • Added region as an optional input type to base::authenticate with the possible values being eu and sa
  • When authenticating the region gets set globally and used in host::user_info_endpoint, host::token_endpoint, host::endpoint accordingly
  • Added up42 property to pystac::Item and pystac::Collection to get and set UP42 STAC extensions data.
  • Added update extension method to pystac::Item.
  • Publish stac_client function to up42 namespace.
  • Added file property to Asset class to unify with pystac::Asset experience.
  • Use unauthenticated session for signed url image file in FileProvider module with FileProvider class.
  • Experiment stac module with FileProvider descriptor for pystac::Asset.
  • Added STAC object dynamic extension on up42 import.
  • Added Asset::save method.
  • Added model fields to Asset class.
  • Added coverage for Asset::all method.
  • Exported AssetSorting to up42 namespace.
  • Enabled access to authenticated image files via extraction session to a parameter.
  • Generalized downloadable images to ImageFile in utils module.
  • Added quicklook property to Scene class.
  • Added is_host property to Provider class.
  • Added search method to Provider class.
  • Added schema property to DataProduct class.
  • Added Quotation active record to tasking module.
  • Exported Quotation and QuotationSorting to up42 namespace.
  • Added order_template module with BatchOrderTemplate and supporting classes.
  • Add missing properties to Order data class and auxiliary classes.
  • Introduced Order::all method to filter and list orders.
  • Added Order::get class method as part of conversion to active record pattern.
  • Added Order::track method.

Changed

  • Adjust Provider::search to allow start_date and end_date, combine them and add to payload as datetime
  • Adjust Order representation to remove redundant fields.
  • Adjust BatchOrderTemplate to exclude tags from the payload when not provided, preventing 400 Bad Request errors from the API.
  • Update AssetSorting with possible sorting fields
  • Adjust FileProvider::_get_ to check href url that starts with the current region base api url.
  • Updated feasibility endpoint URL.
  • Relax dependency constraint to allow geopandas 1.0.1.
  • Switched to using stac client descriptor in Asset class and reduced duplication.
  • Made BatchOrderTemplate::tags optional.
  • Converted Asset to a data class with get and all methods.
  • Simplified Catalog::download_quicklooks to use ImageFile class internally.
  • Simplified CatalogBase::estimate_order to a static method.
  • Simplified CatalogBase::place_order to a class method.
  • Modified Storage::get_orders testing to eliminate dependency on order data.
  • Modified up42::initialize_order testing to eliminate dependency on order data.
  • Modified CatalogBase::place_order testing to eliminate dependency on order data.
  • Converted Order to dataclass.
  • Extended Order::order_details to cover archive orders as well.

Deprecated

  • Deprecated Asset::download method in favour of Asset.file::download.
  • Deprecated Asset::download_stac_asset in favour of pystac::Asset.file::download.
  • Deprecated Asset::get_stac_asset_url in favour of pystac::Asset.file.url.
  • Deprecated up42::initialize_tasking.
  • Deprecated Tasking::get_feasibility.
  • Deprecated Tasking::choose_feasibility.
  • Deprecated Asset::update_metadata in favour of pystac::Item.update.
  • Deprecated Asset.asset_id in favour of Asset.id.
  • Deprecated up42::initialize_catalog since all Catalog and CatalogBase methods are deprecated.
  • Deprecated Storage::get_assets in favour of Asset::all.
  • Deprecated up42::initialize_asset in favour of Asset::get.
  • Deprecated up42::initialize_storage.
  • Deprecated Catalog::download_quicklooks in favour of Provider::search.
  • Deprecated Catalog::construct_search_parameters in favour of Provider::search.
  • Deprecated Catalog::search in favour of Provider::search.
  • Deprecated Tasking::get_quotations in favour of Quotation::all.
  • Deprecated Tasking::decide_quotation in favour of Quotation class methods.
  • Deprecated Tasking.construct_order_parameters in favour of BatchOrderTemplate.
  • Deprecated Catalog.construct_order_parameters in favour of BatchOrderTemplate.
  • Deprecated CatalogBase::estimate_order in favour of BatchOrderTemplate.estimate.
  • Deprecated CatalogBase::place_order in favour of BatchOrderTemplate::place.
  • Deprecated Order::estimate in favour of BatchOrderTemplate.estimate.
  • Deprecated Order::place in favour of BatchOrderTemplate::place.
  • Deprecated CatalogBase::get_data_product_schema in favour of DataProduct.schema.
  • Deprecated up42::initiliaze_order in favour of Order::get.
  • Deprecated Order.order_id in favour of Order.id.
  • Deprecated Order.order_details in favour of Order.details.
  • Deprecated Storage::get_orders method.
  • Deprecated Order::track_status method.

Removed

  • Remove deprecated viz dependencies.
  • Reduced test dependencies on Asset structure.
  • Dropped eager loading of Order::info.
  • Dropped Order::__repr__ in favour of native dataclass implementation.

Fixed

  • Fix authenticated download in Catalog::download_quicklooks.
  • Fixed Order::place method to retrieve order info via additional call and not from response.

V2.1.1

12 Dec 09:09
ca9d6b6
Compare
Choose a tag to compare

What's Changed

Changed

  • Restore accepting string instead of enum in Storage::get_orders.
  • Improve coverage for Tasking::decide_quotation.
  • Improve coverage for Tasking::get_feasibility.
  • Improve coverage for Tasking::choose_feasibility.
  • Updating endpoint for base::get_credits_balance.
  • Switched workspace id retrieval from the deprecated endpoint to the user info endpoint.
  • Added requesting openid scope when retrieving token.
  • Move tests/fixtures/fixtures_globals.py to tests/constants.py.
  • Move collection_credentials from auth.py to client.py.
  • Switched to base descriptors in Storage class and drop the dependencies from auth.py module.

Fixed

  • Fixed bug with passing enum entries instead of values in Storage::get_orders.
  • Fixed Catalog::construct_search_parameters limit description in the documentation.
  • Fixed paging bug for case of empty response.
  • Fixed confusing name for type FeasibilityDecision to FeasibilityStatus.
  • Fixed test coverage for Tasking::get_quotations.
  • Fixed test coverage for Tasking::construct_order_parameters.
  • Fixed types of Asset::asset_id and Asset::_get_info.
  • Unified paging between Order, Tasking and Storage classes.

Removed

  • Drop process template DetectionTreesHeightsSpacept.
  • Dropped limiting false statuses in Storage::get_orders since the type hinting is enabled.
  • Dropped failing wrong sortby value in Storage::get_orders since the type hinting is enabled.
  • Dropped Tasking::auth property.
  • Dropped legacy auth.py.
  • Dropped legacy fixtures for storage test coverage.
  • Dropped asset_searcher.py module.
  • Dropped unused Auth::request and the corresponding test coverage.
  • Dropped unneeded Storage::repr.
  • Dissolve auth.Auth in _Workspace::authenticate.

Full Changelog: v2.1.0...v2.1.1

V.2.1.0

09 Oct 13:17
aa8e94a
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.0.1...v2.1.0

V2.0.1

19 Aug 06:44
50beda1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.1.1...v2.0.1

V1.1.1

31 Jul 09:03
069667b
Compare
Choose a tag to compare

Changes

  • Added EULA acceptance check to processing job templates.
  • Added EULA related statuses to processing jobs.
  • Added various failure statuses to job tracking stop list.
  • Added session descriptor to CatalogBase.
  • Deprecated get_data_products method in CatalogBase class.
  • Extract CollectionType type alias.
  • Extract ProductGlossary in catalog.py.
  • Provide type hints for ProductGlossary methods.
  • Switch to new token endpoint in auth.py and oauth.py.

Fixes

  • Fix type hint for get_webhook_events.

Improvements

  • Drop unused return_text parameter in Auth::request.
  • Improve test coverage for Catalog::search.
  • Improve Catalog::download_quicklooks code.
  • Improve test coverage for Catalog::download_quicklooks type alias.
  • Reduce the usage auth::request in base.py.
  • Simplify the usage of get_data_products in CatalogBase.
  • Simplify pagination in Catalog::search code.
  • Use token duration information from token data instead of static configuration.
  • Use expiry offset to refresh token 30s earlier.

Dependencies:

  • Bumped dependencies certifi from 2024.2.2 to 2024.7.4.
  • Bumped dependencies setuptools from 69.1.1 to 70.0.0.
  • Bumped dependencies urllib from 2.2.1 to 2.2.2.
  • Bumped dependencies zipp from 3.17.0 to 3.19.1.

Full Changelog: v1.1.0...v1.1.1

1.1.0

25 Jun 13:22
0d86300
Compare
Choose a tag to compare

What's Changed

  • Job, JobSorting and JobStatus classes now available in up42 namespace.
  • Change default created and credits ordering as descending.
  • Change default status ordering to descending.
  • Rename templates.py to processing_templates.py.

Fixes

  • Fix multiple process id value query parameter to use concatenation with commas.
  • Fix multiple status value query parameter to use concatenation with commas.
  • Fix processing job tracking to wait until credits are captured or released.
  • Fix missing process ids for processing templates.

Improvements

  • Trim off milliseconds in job metadata timestamps to avoid rounding errors.
  • Trim nanoseconds in job metadata timestamps since not supported by native Python datetime.
  • Update processing template names.
  • Add missing workspace_id query param to job execution.
  • Convert relative paths in processing job page links to absolute ones.

Full Changelog: v1.0.4...v1.1.0

1.0.4

17 Jun 22:01
8094093
Compare
Choose a tag to compare

New Features

Processing Module:

  • Introduced the Job class for interacting with processing jobs.
  • Implemented job querying capabilities (processing.py).
  • Added a collection attribute to the Job class.
  • Introduced processing job tracking.

Job Templates:

  • Created basic single and multi-item processing job templates in templates.py.
  • Enabled job template execution (templates.py).
  • Added specialized templates for SpaceptAugmentation, NSUpsamling, and Pansharpening.
  • Added cost evaluation to the JobTemplate class (number comparison).
  • Implemented SingleItemJobTemplate and MultiItemJobTemplate helper classes.

Improvements

Base Module (formerly main):

  • Renamed the main module to base for clarity.
  • Added descriptors: Session, WorkspaceId, and StacClient to base module for improved access within classes.

Webhooks:

  • Refactored webhooks as active records.
  • Consolidated webhook code into a dedicated module/class.
  • Enhanced test coverage for webhooks.
  • Deprecated legacy webhook code.

Dependencies:

  • Updated requests to 2.32.0.
  • Relaxed geopandas version constraint to < 1.
  • Upgraded tornado to 6.4.1.

Bugfixes:

  • Enabled deep copy in Up42Auth for compatibility.
  • Fix tenacity not Found Error by upgrading tenacity dependency.
  • Removed deprecated Catalog::construct_parameters method.

Full Changelog: v1.0.3...v1.0.4

1.0.3

23 May 14:04
6832d14
Compare
Choose a tag to compare

What's Changed

  • Improve stac resilience by @javidq in #611
  • Added tenacity as dependency.
  • Added resilience on asset::stac_info and asset::stac_items
  • Dropped pystac client subclassing
  • Cleaned up fixtures
  • Improved test coverage
  • Dropped unneeded exposure of token

Full Changelog: v1.0.2...v1.0.3

1.0.2

15 May 11:24
a1ccfab
Compare
Choose a tag to compare

What's Changed

  • Added thread safety to token retrieval.

Full Changelog: v1.0.1...v1.0.2

1.0.1

13 May 13:30
dc22c5e
Compare
Choose a tag to compare

What's Changed

  • Increased retries and backoff in http resilience.
  • Fixed bug with temporary storage overfill when downloading archives.
  • Bumped dependencies jinja2, tqdm, geojson.

New Contributors

  • @up42-backstage made their first contribution in #592

Full Changelog: v1.0.0...v1.0.1