Changelog¶
Update your installation to the latest version with the following command:
pip install up42-py --upgrade
conda update -c conda-forge up42-py
You can check your current version with the following command:
pip show up42-py
conda search up42-py
For more information, see UP42 Python package description.
1.0.4a5¶
May 30, 2024
- Move webhooks related code from
base.py
1.0.4a4¶
May 29, 2024
- Delegated webhook repr to its info
- Improved test coverage for webhooks
- Dropped unneeded shared and global fixtures for webhook tests
1.0.4a3¶
May 27, 2024
- Added
Session
andWorkspaceId
descriptors to provide access to session and workspace_id from other classes. - Renaming
main
module tobase
.
1.0.4a2¶
May 24, 2024
- Added workspace singleton in
main.py
, encapsulating global state (auth, workspace id). - Inject auth and workspace id instead of passing a containing object.
1.0.4a1¶
May 24, 2024
- Bumped dependencies requests
from 2.31.0 to 2.32.0.
1.0.3¶
May 23, 2024
- 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
1.0.3a1¶
May 23, 2024
- 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
1.0.2¶
May 15, 2024 - Added thread safety to token retrieval.
1.0.2a1¶
May 15, 2024 - Added thread safety to token retrieval.
1.0.1¶
May 13, 2024 - Increased retries and backoff in http resilience. - Fixed bug with temporary storage overfill when downloading archives. - Bumped dependencies jinja2, tqdm, geojson.
1.0.1a4¶
May 13, 2024 - geojson dependency bumped from 3.0.1 to 3.1.0 to fix conda python 3.12 installer.
1.0.1a3¶
May 7, 2024
- Setting http_adapter default configuration to retries = 5
and backoff factor = 1
1.0.1a2¶
May 7, 2024
- Renamed download_from_gcs_unpack
to download_archive
- Renamed download_gcs_not_unpack
to download_file
- Improved test coverage for download_archive
- Bug fix in download_archive
: use output directory provided for temporary archive storage instead of default temp folder
1.0.1a1¶
May 7, 2024 - jinja2 dependency bumped from 3.1.3 to 3.1.4. - tqdm dependency bumped from 4.66.2 to 4.66.3.
1.0.0¶
Apr 17, 2024 - Dropped deprecated functionalities: Jobs, Projects, Workflows, Viztools - Dropped deprecated code related to blocks
1.0.0a7¶
Apr 16, 2024
- Dropped get_blocks
, get_block_details
and get_block_coverage
from main.py
1.0.0a6¶
Apr 16, 2024
- Dropped project id and api key based authentication in main.py
, auth.py
, http/oauth.py
and http/client.py
- Adapted tests and fixtures
- Dropped viztools.py
1.0.0a5¶
Apr 16, 2024
- Dropped deprecated Workflow functions - info, workflow_tasks, get_workflow_tasks, get_parameters_info, _get_default_parameters (internal function), _construct_full_workflow_tasks_dict (internal function), get_jobs, delete
- Dropped Workflow tests and fixtures
1.0.0a4¶
Apr 15, 2024
- Dropped deprecated Jobtask functions - info, get_results_json, download_results, download_quicklooks
- Dropped Jobtask tests and fixtures
1.0.0a3¶
Apr 15, 2024
- Dropped deprecated Job functions - info, status, is_succeeded, download_quicklooks, get_results_json, download_results, get_logs, upload_results_to_bucket, get_jobtasks, get_jobtasks_results_json, get_credits
- Dropped Job tests and fixtures
1.0.0a2¶
Apr 15, 2024
- Dropped deprecated JobCollection functions - info, status, apply, download_results
- Dropped deprecated Project functions - info, get_workflows, get_project_settings, get_jobs
- Dropped Project's fixtures and tests
- Dropped JobCollection's fixtures and tests
- Dropped Workflow's get_jobs function
1.0.0a1¶
Apr 15, 2024
- Dropped deprecated viztools functions: folium_base_map(), plot_quicklooks(), plot_coverage(), draw_aoi(), _map_images() (internal function), map_quicklooks(), plot_coverage(), plot_results(), requires_viz() (internal function), map_results(), render() (internal function)
0.37.2¶
Apr 8, 2024
Dependabot security updates: - Bump black from 22.12.0 to 24.3.0 - Bump pillow from 10.2.0 to 10.3.0
0.37.1¶
Apr 5, 2024
- Removed upper bound for Python 3.12.
- Dropped support for Python 3.8.
- New authentication token are retrieved upon expiration instead of every request.
- Dropped tenacity, requests-oauthlib and types-oauthlib as dependencies.
- Updated the deprecation date for
Jobs
,Workflow
, andProjects
related features. - Multiple refactoring improvements.
0.37.1a11¶
Apr 4, 2024
- Added standard headers to
http/session.py
- Added session provisioning to
auth.py
andhttp/client.py
- Dropped undocumented
authenticate
flag inauth.py
- Dropped undocumented kwargs in
auth.py
andmain.py
0.37.1a10¶
Apr 3, 2024
- Updating the deprecation date for
Jobs
,Workflow
, andProjects
related features.
0.37.1a9¶
Apr 2, 2024
- Dropped legacy
estimation.py
,test_estimation.py
andfixtures_estimation.py
0.37.1a8¶
March 28, 2024
- Dependency injection and test coverage improvement in
auth.py
0.37.1a7¶
March 27, 2024
- Raise typed error if token retrieval fails due to wrong credentials.
0.37.1a6¶
March 26, 2024
- Switched to using
http.client.Client
inauth.py
for authentication and token management - Dropped unneeded resiliency code
- Dropped tenacity, requests-oauthlib and types-oauthlib as unneeded dependencies
0.37.1a5¶
March 21, 2024
- Run test pipeline on Python versions 3.9 to 3.12
- Removed upper bound for Python 3.12
- Dropped support for Python 3.8
0.37.1a4¶
March 21, 2024
- New http stack client to provide resilient token and requests compliant authentication.
0.37.1a3¶
March 20, 2024
- Detection of token retriever based on supplied settings.
0.37.1a2¶
March 19, 2024
- Detection of credentials settings based on supplied credentials.
0.37.1a1¶
March 19, 2024
- Dropped all the live tests.
0.37.0¶
March 15, 2024
- Fixed inadvertent title and tags removals during asset metadata updates.
- Dropped unneeded
auth::env
property and the corresponding tests. - Generalized new authentication stack to cover account authentication case.
- Added new components within the HTTP layer to facilitate future enhancements in authentication and request processes.
- Adjusted most of the code in accordance with pylint checks.
0.37.0a14¶
March 15, 2024
- Fixed inadvertent titles and tags removals during asset metadata updates.
0.37.0a13¶
March 15, 2024
- Dropped unneeded
auth::env
property and the corresponding tests.
0.37.0a12¶
March 14, 2024
- Adjusted
initialization.py
,test_initialization.py
,main.py
andtest_main.py
in accordance with Pylint checks.
0.37.0a11¶
March 14, 2024
- Adjusted
asset.py
,asset_searcher.py
,test_asset.py
andfixtures_asset.py
in accordance with Pylint checks. - Adjusted
test_http_adapter.py
in accordance with Pylint checks. - Dropped
test_e2e_catalog.py
since it is covered by SDK tests. - Fixed a flaky test in
test_session.py
0.37.0a10¶
March 13, 2024
- Adjusted
webhooks.py
,test_webhooks.py
andfixtures_webhook.py
in accordance with Pylint checks. - Dropped
test_e2e_30sec.py
since it covers functionality dropped earlier.
0.37.0a9¶
March 13, 2024
- Adjusted
macros.py
,utils.py
, andtest_utils.py
in accordance with Pylint checks.
0.37.0a8¶
March 13, 2024
- Adjusted
estimation.py
,test_estimation.py
andfixtures_estimation.py
in accordance with Pylint checks.
0.37.0a7¶
March 13, 2024
- Adjusted
order.py
,test_order.py
andfixtures_order.py
in accordance with Pylint checks.
0.37.0a6¶
March 13, 2024
- Adjusted
host.py
,tools.py
,test_tools.py
,storage.py
,test_storage.py
andfixtures_storage.py
in accordance with Pylint checks.
0.37.0a5¶
March 11, 2024
- Adjusted
auth.py
andoauth.py
with their coverage and fixtures in accordance with Pylint checks. - Adjusted
conftest.py
in accordance with Pylint checks.
0.37.0a4¶
March 07, 2024
- Generalized new authentication stack to cover account authentication case.
0.37.0a3¶
March 07, 2024
- Adjusted
tasking.py
,test_tasking.py
, andfixtures_tasking.py
in accordance with Pylint checks.
0.37.0a2¶
March 06, 2024
- Adjusted
catalog.py
andtest_catalog.py
in accordance with Pylint checks. - Conducted minor refactoring in other classes due to changes in function names within the authentication module.
0.37.0a1¶
March 06, 2024
- Added a new component within the HTTP layer to facilitate future enhancements in authentication and request processes: ported a resilient and authenticated cached session.
0.37.0a0¶
March 04, 2024
Added new components within the HTTP layer to facilitate future enhancements in authentication and request processes:
- Ported the HTTP adapter, providing configurable resilience.
- Ported resilient project authentication, managing token expiration.
0.36.0¶
February 20, 2024
- Updated the
place_order()
andestimate_order()
functions of the CatalogBase class to the latest version of the API.
0.35.0¶
January 25, 2024
-
Discontinued support for the following edit and create functions:
-
up42:
validate_manifest()
-
Project:
max_concurrent_jobs
update_project_settings()
create_workflow()
-
Workflow:
max_concurrent_jobs
update_name()
add_workflow_tasks()
get_compatible_blocks()
get_parameters_info()
construct_parameters()
construct_parameters_parallel()
estimate_job()
test_job()
test_jobs_parallel()
run_job()
run_jobs_parallel()
-
Job:
track_status()
cancel_job()
-
-
Marked the following visualization functions as deprecated:
-
up42:
viztools.folium_base_map()
-
Catalog:
plot_coverage()
map_quicklooks()
plot_quicklooks()
-
Job:
map_results()
plot_results()
-
JobCollection:
map_results()
plot_results()
-
JobTask:
map_results()
plot_results()
plot_quicklooks()
They will be discontinued after March 31, 2024.
-
0.34.1¶
December 15, 2023
- Restored the
order.get_assets
function.
0.34.0¶
December 13, 2023
- Updated the
storage.get_orders
function to the latest version of the API. - Set Poetry as the only dependency manager.
- Discontinued support for the
order.get_assets
function.
0.33.1¶
November 23, 2023
Marked the following parameters of storage.get_assets
as deprecated to enforce the use of the PySTAC client search.
geometry
acquired_before
acquired_after
custom_filter
0.33.0¶
November 14, 2023
- Updated authentication by changing it from project-based to account-based.
- Added a new function to the Asset class:
get_stac_asset_url
generates a signed URL that allows to download a STAC asset from storage without authentication.
0.32.0¶
September 7, 2023
A new function added to the Asset class:
download_stac_asset
allows you to download STAC assets from storage.
0.31.0¶
August 9, 2023
- Supported STAC assets in
asset.stac_items
. - Added substatuses to
order.track_status
. - Limited
catalog.search(sort_by)
toacquisition_date
only. - Removed
get_credits_history
from the main class. asset.stac_info
now returns thepystac.Collection
object.- Python 3.7 is no longer supported.
0.30.1¶
July 14, 2023
Fixed the failing construct_order_parameters function and updated tests.
0.30.0¶
July 3, 2023
Added a new tags
argument to the following functions:
construct_order_parameters
, to assign tags to new tasking and catalog orders.get_order
, to filter orders by tags.get_assets
, to filter assets by tags.
0.29.0¶
June 20, 2023
Integrated new functions into the Tasking class:
get_feasibility
— Returns a list of feasibility studies for tasking orders.choose_feasibility
— Allows accepting one of the proposed feasibility study options.get_quotations
— Returns a list of all quotations for tasking orders.decide_quotation
— Allows accepting or rejecting a quotation for a tasking order.
0.28.1¶
April 6, 2023
- Updating test to latest version
0.28.0¶
February 17, 2023
- Added STAC search functionality to storage.get_assets.
Now you can filter assets by new parameters:
geometry
,acquired_after
,acquired_before
,collection_names
,producer_names
,tags
,search
,sources
. - Added storage.pystac_client. Use it to authenticate PySTAC client to access your UP42 storage assets using its library.
- Added asset.stac_info. Use it to access STAC metadata, such as acquisition, sensor, and collection information.
0.27.1¶
January 26, 2023
- Improve error communication of functions using API v2 endpoints.
- add
up42.__version__
attribute to access the package version with Python. - Adapt asset class attributes (
created
tocreatedAt
) to UP42 API.
0.27.0¶
December 12, 2022
- Add
asset.update_metadata()
for adjusting title & tags of an asset. storage.get_assets()
has new parameterscreated_after
,created_before
,workspace_id
to better filter the desired assets. It now queries the assets of all accessible workspaces by default.- Adopt new UP42 API 2.0 endpoints for user storage & assets.
0.26.0¶
November 2, 2022
- Remove Python version upper bound, this will enable immediate but untested installation with any new Python version.
- Changes to
workflow.construct_parameters
: - Deprecates the
assets
parameter (list of asset objects), instead useasset_ids
(list of asset_ids). - Removes limitation of using only assets originating from blocks, now also supports assets from catalog & tasking.
- In addition to required parameters, now adds all optional parameters that have default values.
tasking.construct_order_parameters
now accepts a Point feature (e.g. use with Blacksky).- Fix:
get_data_products
withbasic=False
now correctly returns only tasking OR catalog products. - The up42 object now correctly does not give access to third party imports anymore (restructured init module).
0.25.0¶
October 25, 2022
- Add dedicated tasking class for improved handling of satellite tasking orders.
construct_order_parameters
now also adds the parameters specific to the selected data-product, and suggests possible values based on the data-product schema.
0.24.0¶
October 20, 2022
- Add
catalog.get_data_product_schema()
for details on the order parameters - Switches parameter
sensor
tocollection
incatalog.download_quicklooks
. - Various small improvements e.g. quicklooks automatic band selection, Reduced use of default parameters in constructor methods, error message display, optimized API call handling for parameter validation etc.
- Internal: Separation of Catalog and CatalogBase to prepare addition of Tasking class, reorganize test fixtures.
0.23.1¶
October 5, 2022
- Fixes issue with filename of downloaded assets containing two suffix
.
e.g../output..zip
. Resolves #350
0.23.0¶
September 20, 2022
- Integrates the UP42 data productsm e.g. the selection "Display" and "Reflectance" configuration in the ordering process. The new ordering process requires the selection of a specific data product.
- The
order_parameters
argument forcatalog.estimate_order
andcatalog.place_order
now has a different structure. The previous option to just specify the collection name will soon be deactivated in the UP42 API! - New function
catalog.get_data_products
- New function
catalog.construct_order_parameters
catalog.construct_search_parameters
replacescatalog.construct_parameters
which is deprecated and will be removed in v0.25.0
0.22.2¶
July 21, 2022
- Fix unpacking of order assets if no output topfolder inherent in archive
0.22.1¶
July 19, 2022
- Fix conda release (include requirements-viz file)
0.22.0¶
July 5, 2022
- Adds webhooks functionality to the SDK, see new webhooks docs chapter.
- Introduces optional installation option for the visualization functionalities. The required dependencies are now not installed by default.
- Removes
order.metadata
property, as removed from UP42 API. - Fix: Using a MultiPolygon geometry in construct_parameters will now correctly raise an error as not accepted.
- Documentation overhaul & various improvements
0.21.0¶
May 12, 2022
- Adding
up42.get_balance
andup42.get_credits_history
features for allowing account information retrieval. - Adding
up42.get_block_coverage
features for retrieval of the catalog blocks' coverage as GeoJSON. project.get_jobs
now has sorting criteria, sorting order and limit parameters.- Catalog search now enables search for Pleiades Neo etc. (uses host specific API endpoints)
- Fix:
project.get_jobs
now correctly queries the full number of jobs.
0.20.2¶
April 10, 2022
- Update documentation
- Non functional changes to enable conda release
- Update requirements and removing overlapping subdependencies
0.20.1¶
April 5, 2022
- Update documentation for latest changes on the user console.
- Remove outdated examples.
- Add required files on the dist version for allowing creation of conda meta files.
0.20.0¶
February 15, 2022
- Enables getting credits consumed by a job via
job.get_credits
.
0.19.0¶
January 28, 2022
- Add support for UP42 data collections via
catalog.get_collections
. - Switch
catalog.construct_parameters
to usecollection
instead ofsensor
for the collection selection. - Refactor retry mechanism. Resolves issue of unintended token renewals & further limits retries.
0.18.1¶
December 20, 2021
- Allow installation with Python 3.9
0.18.0¶
November 10, 2021
- Add sorting criteria, sorting order and results limit parameters to
storage.get_orders
andstorage.get_assets
. Now also uses results pagination which avoids timeout issues when querying large asset/order collections. - Significant speed improvement for:
-
.get_jobs
,.get_workflows
,.get_assets
,.get_orders
calls.workflow.create_workflow
when used withexisting=True
.- Printing objects representations, which now does not trigger additional object info API calls.
- Removal: Removes deprecated handling of multiple features as input geometry in
.construct_parameters
Instead, using multiple features or a MultiPolygon will now raise an error. This aligns the Python SDK with the regular UP42 platform behaviour. - Removal: Remove the Python SDK Command Line Interface.
- Fix: JobTask.info and the printout now uses the correct jobtask information.
0.17.0¶
September 10, 2021
- Adds
usage_type
parameter for selection of "DATA" and "ANALYTICS" data in catalog search. - Adds automatic handling of catalog search results pagination when requesting more than 500 results.
- Adds support for datetime objects and all iso-format compatible time strings to
construct_parameters
. - Fix:
get_compatible_blocks
with an empty workflow now returns all data blocks. - Start deprecation for
handle_multiple_features
parameter inconstruct_parameters
to guarantee parity with UP42 platform. In the future, the UP42 SDK will only handle single geometries. - Uses Oauth for access token handling.
0.16.0¶
June 30, 2021
- Limit memory usage for large file downloads (#237)
- Remove deprecated job.get_status() (Replace by job.status) (#224)
- Remove deprecated jobcollection.get_job_info() and jobcollection.get_status() (Replaced by jobcollection.info and jobcollection.status)
- Remove order-id functionality (#228)
- Limit installation to Python <=3.9.4
- Internal code improvements (e.g. project settings, retry)
0.15.2¶
April 7, 2021
- Enables plotting of jobcollection with
.map_results()
. - Fixes
.cancel_job()
functionality.
0.15.1¶
March 12, 2021
- Fixes breaking API change in catalog search.
- Catalog search result now contains a
sceneId
property instead ofscene_id
.
0.15.0¶
January 27, 2021
- Add
Storage
,Order
andAsset
objects. - Add possibility to create orders from
Catalog
withCatalog.place_order
. - Add possibility to use assets in job parameters with
Workflow.construct_paramaters
. - Update job estimation endpoint.
- Multiple documentation fixes.
0.14.0¶
December 7, 2020
- Add
workflow.estimate_job()
function for estimation of credit costs & job duration before running a job. - Add
bands=[3,2,1]
parameter in.plot_results()
and.map_results()
for band & band order selection. .plot_results()
now accepts kwargs of rasterio.plot.show and matplotlib.- Add
up42.initialize_jobcollection()
- Add
get_estimation=False
parameter toworkflow.test_job
. - Add ship-identification example.
- Overhaul "Getting started" examples.
0.13.1¶
November 18, 2020
- Handle request rate limits via retry mechanism.
- Limit
map_quicklooks()
to 100 quicklooks. - Add aircraft detection example & documentation improvements.
0.13.0¶
October 30, 2020
- New consistent use & documentation of the basic functionality:
- All basic functions (e.g.
up42.get_blocks
) are accessible from theup42
import object. Now consistently documented in theup42
object code reference. - The option to use this basic functionality from any lower level object will soon be
removed (e.g.
project.get_blocks
,workflow.get_blocks
). Now triggers a deprecation warning.
- All basic functions (e.g.
- The plotting functionality of each object is now documented directly in that object's code reference.
- Fix: Repair catalog search for sobloo.
- Various improvements to docs & code reference.
- Overhaul & simplify test fixtures.
- Split off viztools module from tools module.
0.12.0¶
October 14, 2020
- Simplify object representation, also simplifies logger messages.
- Add
.info
property to all objects to get the detailed object information, deprecation process for.get_info
. - Add
.status
property to job, jobtask and jobcollection objects. Deprecation process for.get_status
. - Add selection of job mode for
.get_jobs
. - Add description of initialization of each object to code reference.
- Fix: Use correct cutoff time 23:59:59 in default datetimes.
- Fix: Download jobtasks to respective jobtask subfolders instead of the job folder.
- Unpin geopandas version in requirements.
- Move sdk documentation to custom subdomain "sdk.up42.com".
- Simplify mock tests & test fixtures
0.11.0¶
August 13, 2020
- Fix: Remove buffer 0 for fixing invalid geometry.
- Add
.map_quicklooks
method for visualising quicklooks interactively. - Add an example notebook for mapping quicklooks using
.map_quicklooks
method.
0.10.1¶
August 13, 2020
- Hotfix: Fixes usage of multiple features as the input geometry.
0.10.0¶
August 7, 2020
- Add parallel jobs feature. Allows running jobs for multiple geometries, scene_ids or
timeperiods in parallel. Adds
workflow.construct_parameters_parallel
,workflow.test_job_parallel
,workflow.run_job_parallel
and the newJobCollection
object. - Adjusts
workflow.get_jobs
andproject.get_jobs
to return JobCollections. - Adjusts airports-parallel example notebook to use the parallel jobs feature.
- Adjusts flood mapping example notebook to use OSM block.
- Adds option to not unpack results in
job.download_results
. - Now allows passing only scene_ids to
workflow.construct_parameters
. - Improves layout of image results plots for multiple results.
- Added binder links.
- Now truncates log messages > 2k characters.
- Various small improvements & code refactorings.
0.9.3¶
July 15, 2020
- Add support for secondary GeoJSON file to
job.map_results
0.9.2¶
July 4, 2020
- Fix inconsistency with
job.map_results
selecting the JSON instead of the image
0.9.1¶
June 25, 2020
- Fixes typo in catalog search parameters
0.9.0¶
May 7, 2020
- Enable block_name and block_display_name for
workflow.add_workflow_tasks
- Replace requirement to specify provider by sensor for
catalog.download_quicklooks
- Add option to disable logging in
up42.settings
- Add
project.get_jobs
and limitworkflow.get_jobs
to jobs in the workflow. - Fix download of all output files
- Job name selectabable in
workflow.test_job
andworkflow.run_job
(with added suffix _py) - Fix CRS issues in make
job.map_results
, make plotting functionalities more robust
0.8.3¶
April 30, 2020
- Pin geopandas to 0.7.0, package requires new CRS convention
0.8.2¶
April 24, 2020
- Removed
job.create_and_run_job
, now split intojob.test_job
andjob.run_job