Skip to main content

Python SDK for UP42

Project description

Python SDK for UP42, the geospatial marketplace and developer platform.

Documentation   •   UP42.com   •   Support

Highlights

  • Python package for easy access to UP42's geospatial datasets & processing workflows
  • For geospatial analysis & product builders!
  • Interactive maps & visualization, ideal with Jupyter notebooks
  • Command Line Interface (CLI)
  • Developer tools for UP42 custom blocks (coming soon)

Installation & Documentation

See the documentation for getting started guides, examples and the code reference.

The package requires Python > 3.6.

pip install up42-py

Overview

  • The UP42 Python SDK uses six object classes, representing the hierarchical structure of UP42:
    • Project > Workflow > Job > JobTask
    • Catalog
    • Tools
  • Each object can spawn elements of one level below, e.g.
    • project = up42.initialize_project()
    • workflow = Project().create_workflow()
    • job = workflow.run_job()

30-second Example

eo-learn-workflow0illustration

After authentication with the UP42 project, a new workflow is created and filled with tasks (Sentinel-2 data, Image Sharpening). The area of interest and workflow parameters are defined. After running the job, the results are downloaded and visualized.

import up42

up42.authenticate(project_id="123", project_api_key="456")
project = up42.initialize_project()

workflow = project.create_workflow(name="30-seconds-workflow", use_existing=True)
# Add blocks/tasks to the workflow.
print(up42.get_blocks(basic=True))
input_tasks= ['sobloo-s2-l1c-aoiclipped', 'sharpening']
workflow.add_workflow_tasks(input_tasks=input_tasks)

# Define the aoi and input parameters of the workflow to run it.
aoi = workflow.get_example_aoi(as_dataframe=True)
#aoi = workflow.read_vector_file("data/aoi_berlin.geojson", as_dataframe=True)
input_parameters = workflow.construct_parameters(geometry=aoi, 
                                                 geometry_operation="bbox", 
                                                 start_date="2018-01-01",
                                                 end_date="2020-12-31",
                                                 limit=1)
input_parameters["sobloo-s2-l1c-aoiclipped:1"].update({"max_cloud_cover":60})

# Run a test job to query data availability and check the configuration.
test_job = workflow.test_job(input_parameters=input_parameters, track_status=True)
test_results = test_job.get_results_json()
print(test_results)

# Run the actual job.
job = workflow.run_job(input_parameters=input_parameters, track_status=True)

job.download_results()
job.plot_results()

Support

For any kind of issues or suggestions please contact us via Email support@up42.com or open a github issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

up42-py-0.9.1.tar.gz (46.2 kB view hashes)

Uploaded Source

Built Distribution

up42_py-0.9.1-py3-none-any.whl (40.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page