Skip to main content

Python SDK for UP42

Project description


(BETA) Python interface 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)

Package Overview

  • The UP42 Python SDK uses six object classes, representing the hierarchical structure of the UP42 platform:
    • Project > Workflow > Job > JobTask,
    • Catalog and
    • Tools.
  • Each object (besides Catalog and Tools) provides the full functionality at that specific level and can spawn elements of one level below, e.g.
    • project = up42.initialize_project()
    • workflow = Project().create_workflow()
    • job = workflow.create_and_run_job()
  • Usually a user starts by creating a project object and then spawns objects of a lower level.
  • It is also possible to directly access a lower-level object, e.g. a job that was already run on UP42 can be used to initialize the corresponding object via up42.initialize_job(job_id='123456789').

30-seconds Example

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("config.json")
project = up42.initialize_project()

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

# Define the aoi and input parameters of the workflow to run it.
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})

job = workflow.create_and_run_job(input_parameters=input_parameters)
job.track_status()

job.download_results()
job.map_results()

Installation & Getting Started

The package requires Python > 3.6.

  1. Install via pip:
pip install up42-py
  1. Create a new project on UP42.

  2. Create a config.json file and fill in the project credentials.

{
  "project_id": "...",
  "project_api_key": "..."
}
  1. Test it in Python! This will authenticate with the UP42 Server and get the project information.
import up42

up42.authenticate(cfg_file="config.json")
project = up42.initialize_project()
print(project)

Success! Continue with the Getting Started chapter in the documentation!


For a developer installation (in case you want to contribute to up42-py) see the developer readme.


Support

For any kind of issues or help 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.8.1b5.tar.gz (43.6 kB view hashes)

Uploaded Source

Built Distribution

up42_py-0.8.1b5-py3-none-any.whl (56.4 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