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)
| File | Size | Uploaded | |
|---|---|---|---|
| geolens-1.25.1.tar.gz | 365.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|