tilearray
tilearray turns remote tile services into Dask-backed xarray arrays — one create_array call for WCS, WMS, WMTS, or XYZ. Shared fetch and decode keep mosaics polite to servers and analysis-ready on a laptop or a larger machine.
Alpha. The API may change. Today WCS, WMS, WMTS, and XYZ share one
create_arrayentry point.
Docs: matthewjwhittle.github.io/tilearray — install, how it works, quick start, usage guides, example sources, troubleshooting, and API.
Install
Python 3.9+. Prefer uv:
uv add tilearray
or:
pip install tilearray
From a clone: uv sync --dev. Contributors: make docs (HTML), make docs-artifacts (regenerate figures).
Quick start
Prefer compute_with_policy over plain .compute() so Dask workers match the fetch ceiling (attrs are read automatically).
XYZ — OpenStreetMap
from tilearray import XYZConfig, compute_with_policy, create_array
from tilearray.types import CRS
config = XYZConfig.for_openstreetmap(zoom=16)
da = create_array(
config,
bbox=(-0.005, 51.495, 0.005, 51.505), # small window near central London
crs=CRS.EPSG_4326,
)
arr = compute_with_policy(da)
# Palette PNGs decode as single-band; this window is about (1024, 512)
print(arr.shape, da.attrs["service_type"])
Include © OpenStreetMap contributors when displaying map imagery.
WCS — Environment Agency Lidar
from tilearray import WCSConfig, compute_with_policy, create_array
from tilearray.types import CRS, Format
config = WCSConfig.for_ea_dsp(
"https://environment.data.gov.uk/spatialdata/"
"lidar-composite-digital-terrain-model-dtm-1m/wcs",
coverage_id="13787b9a-26a4-4775-8523-806d13af58fc__Lidar_Composite_Elevation_DTM_1m",
crs=CRS.EPSG_27700,
output_format=Format.GEOTIFF,
chunk_size=(800, 800),
grid_shape=(1, 1),
)
bbox = (431900.0, 382700.0, 432700.0, 383500.0) # British National Grid
da = create_array(config, bbox, CRS.EPSG_27700)
elevation = compute_with_policy(da)
print(elevation.shape, float(elevation.mean()))
The EA Lidar preset caps sustained concurrency at 10 (AIMD ceiling). More hosts, WMS/WMTS recipes, and polite-use notes live in the docs.
Development
Clone, uv sync --dev, then make test / make lint. Full setup, docs builds, and project conventions: CONTRIBUTING.md.
License
Apache License 2.0 — see LICENSE.
Metadata
Release files for tilearray 0.1.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 | Provenance | Actions |
|---|---|---|---|---|
| tilearray-0.1.1.tar.gz | 1.0 MB | Without provenance | Details for tilearray-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tilearray-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for tilearray-0.1.1-py3-none-any.whl |
Total release size: 1.1 MB
Release files / tilearray-0.1.1.tar.gz
| Download URL | tilearray-0.1.1.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41a7f1b468adb2edd86e9afe19798409ea5bed62e41a8e5dc135ded5d4d4e688
|
|
BLAKE2b-256 checksum How to use checksums |
7e9554c2768e1573a80b1a831b2dbe2329a92c9edb784b50804e14f52cc58229
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","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 / tilearray-0.1.1-py3-none-any.whl
| Download URL | tilearray-0.1.1-py3-none-any.whl |
|---|---|
| Size | 58.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fefded5a4046e96adbdba973460f35cdefde605cd1266070b954d65aa56edee
|
|
BLAKE2b-256 checksum How to use checksums |
420b97c2c758a7598c616d1d5034a0f1ed189e4b590b926a7395560b17f94e4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","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}
|
Security for tilearray 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.