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.0

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.0
File Size Uploaded
geolens-1.25.0.tar.gz 365.9 kB Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / geolens-1.25.0.tar.gz

Download URL geolens-1.25.0.tar.gz
Size 365.9 kB
Tags Source
SHA-256 checksum
How to use checksums
44f7c7d684e3478bd45bdfd9080754a3a37b06b638bfd6f9af726347d3214e13
BLAKE2b-256 checksum
How to use checksums
c9f8972f684dea2b24d3762c08077e41732c0190878369aff57a84c5888f33a6
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.0-py3-none-any.whl

Download URL geolens-1.25.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e54e48955607bd0802b3768c97472db0f898a820c1b3af535a36113791e1554c
BLAKE2b-256 checksum
How to use checksums
7e11f3d30779ca3c842c36ed92f3c61224484b880f305a2d0eb563ed3e467f3b
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

1.25.1

2 release files

This release

1.25.0 This release

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