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


Release history Release notifications | RSS feed

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

up42_py-0.8.1b5-py3-none-any.whl (56.4 kB view details)

Uploaded Python 3

File details

Details for the file up42-py-0.8.1b5.tar.gz.

File metadata

  • Download URL: up42-py-0.8.1b5.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for up42-py-0.8.1b5.tar.gz
Algorithm Hash digest
SHA256 aa4eec1afab499548b7d0f63f3cce77e05400734d7a1cb17b15fb9a5d012d712
MD5 d0ca33afc631103a4ce488c9893af050
BLAKE2b-256 62d265767883de5952d51dd94f993b9b6a87edebdb57b869fa915efeec680ae9

See more details on using hashes here.

File details

Details for the file up42_py-0.8.1b5-py3-none-any.whl.

File metadata

  • Download URL: up42_py-0.8.1b5-py3-none-any.whl
  • Upload date:
  • Size: 56.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for up42_py-0.8.1b5-py3-none-any.whl
Algorithm Hash digest
SHA256 f19be199aac3d7468fd93a6a57582fa707a1f5e841854616435a1a1fb5988f40
MD5 aff97af6522d37d97453bf86c1939c73
BLAKE2b-256 8aeb5e55a2901cb3077d983b515de699968a73994730a4ca413be9e880723455

See more details on using hashes here.

Supported by

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