Skip to main content

geolens (Python SDK)

Auto-generated Python SDK for the GeoLens API.

Apache-2.0 licensed. Typed attrs-based dataclasses + httpx async-ready client + Bearer-token + API-key auth helpers.

See docs.getgeolens.com for installation, regeneration, and version-pin policy.

Quickstart

from geolens import GeolensClient

client = GeolensClient(base_url="https://geolens.example.com/api", bearer_token="...")
# The deployed API is served under /api, so include that suffix in base_url.
# See docs.getgeolens.com for endpoint usage examples.

Requests never time out unless you set one. Extra keyword arguments go to the generated client, so GeolensClient(base_url, bearer_token="...", timeout=httpx.Timeout(30.0)) bounds every call.

Errors

A documented error status (401, 403, 404, 422, 429 and so on) does not raise. sync() and asyncio() return a ProblemDetail with status, title and detail, and sync_detailed() returns it as .parsed next to the raw status_code:

from geolens.api.datasets import get_single_dataset_datasets_dataset_id_get as get_dataset
from geolens.models.problem_detail import ProblemDetail

result = get_dataset.sync(dataset_id, client=client.client)
if isinstance(result, ProblemDetail):
    print(result.status, result.title, result.detail)

Transport failures such as httpx.ConnectError do raise. A status the API doesn't document raises geolens.errors.UnexpectedStatus only when the client is built with raise_on_unexpected_status=True.

Downloading a COG

With a remote source behind a raster dataset, the COG download answers 302 with the file's URL. With S3 it may do the same when the server has presigned downloads enabled, and streams the file otherwise. cog_download fetches that URL without sending your GeoLens credentials to the storage host, and returns the file on every storage backend. A further redirect from the storage host is followed only on that same host. The file is streamed into a temporary file that moves to disk past a few MiB, so a large COG isn't held in memory:

import shutil

from geolens import cog_download

cog = cog_download.sync(dataset_id, client=client.client)  # or: await cog_download.asyncio(...)
with cog.payload as source, open("dataset.cog.tif", "wb") as target:
    shutil.copyfileobj(source, target)

Metadata

Release files for geolens 1.25.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geolens 1.25.1
File Size Uploaded
geolens-1.25.1.tar.gz 365.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for geolens 1.25.1
File Interpreter ABI Platform
geolens-1.25.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / geolens-1.25.1.tar.gz

Download URL geolens-1.25.1.tar.gz
Size 365.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a1aca955f7b60f1429fa88855bbaa85b5b16d8fc6acd6474eb4312d074482c4b
BLAKE2b-256 checksum
How to use checksums
6e92339b96493847f009b75922d8aaa29f8cfe70321a022154397b9f5fc0b397
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / geolens-1.25.1-py3-none-any.whl

Download URL geolens-1.25.1-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9157bc8d3ccb29a066569c6d27696e2007289cb3cbdeb407d369111c7fc64946
BLAKE2b-256 checksum
How to use checksums
e24f429ef7dff7af437d88a34e8434f8ecbf43b06779f49e388edebb9ebb5c0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.25.1 This release

2 release files

1.25.0

2 release files

1.24.0

2 release files

1.23.1

2 release files

1.21.0

2 release files

1.20.0

2 release files

1.19.1

2 release files

1.17.0

2 release files

1.16.1

2 release files

1.16.0

2 release files

1.15.1

2 release files

1.15.0

2 release files

1.14.2

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.1

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.13

2 release files

1.4.11

2 release files

1.4.10

2 release files

1.4.9

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.0

2 release files

1.0.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page