Skip to content

Releases: hotosm/ScaleODM

0.2.0

25 Mar 00:43

Choose a tag to compare

Helm Chart

Example usage:

helm install scaleodm oci://ghcr.io/hotosm/charts/scaleodm \
  --version 0.2.0 \
  --set database.external.enabled=true \
  --set database.external.secret.name="scaleodm-db-vars" \
  --set database.external.secret.key="SCALEODM_DATABASE_URL" \
  --set s3.external.secret.name="scaleodm-s3-vars" \
  --set argo.enabled=true

Example pyodm Usage

import json
from pyodm import Node
from pyodm.api import Task

node = Node("scaleodm.scaleodm.svc.cluster.local", 31100)

# Create task - use Node.post() to send zipurl directly
result = node.post("/task/new", data={
    "name": "my-project",
    "zipurl": "s3://mybucket/drone-images/",
    "options": json.dumps([
        {"name": "fast-orthophoto", "value": True},
        {"name": "dsm", "value": True},
    ]),
})
uuid = result.json()["uuid"]
print(f"Task created: {uuid}")

# Wrap in a pyodm Task for monitoring - all standard methods work
task = Task(node, uuid)

# Poll status
info = task.info()
print(f"Status: {info.status}")       # TaskStatus enum
print(f"Progress: {info.progress}%")

# Block until complete
task.wait_for_completion()

# Download results (follows redirect to pre-signed S3 URL)
task.download_assets("/tmp/results/")

What Changed

  • Tweaks for a fully NodeODM compatible API.

Full Changelog: 0.1.0...0.2.0

0.1.0

02 Dec 16:09

Choose a tag to compare

Helm Chart

Example usage:

helm install scaleodm oci://ghcr.io/hotosm/charts/scaleodm \
  --version 0.1.0 \
  --set database.external.enabled=true \
  --set database.external.secret.name="scaleodm-db-vars" \
  --set database.external.secret.key="SCALEODM_DATABASE_URL" \
  --set s3.external.secret.name="scaleodm-s3-vars" \
  --set argo.enabled=true

What Changed

  • Standard workflow run via API --> Argo workflow.
  • Untested in production, but works for local tests.

Full Changelog: https://github.com/hotosm/ScaleODM/commits/0.1.0