Skip to main content

Xarray plugin for TiTiler.

Project description

titiler.xarray

Adds support for Xarray Dataset (NetCDF/Zarr) in Titiler.

Installation

python -m pip install -U pip

# From Pypi
python -m pip install "titiler.xarray[full]"

# Or from sources
git clone https://github.com/developmentseed/titiler.git
cd titiler && python -m pip install -e src/titiler/core -e "src/titiler/xarray"

Installation options

Default installation for titiler.xarray DOES NOT include fsspec or any storage's specific dependencies (e.g s3fs) nor engine dependencies (zarr, h5netcdf). This is to ease the customization and deployment of user's applications. If you want to use the default's dataset reader you will need to at least use the [minimal] dependencies (e.g python -m pip install "titiler.xarray[minimal]").

Here is the list of available options:

  • fs: h5netcdf, fsspec, s3fs, aiohttp, gcsfs

Dependencies

Titiler.xarray follows SPEC 0, similar to xarray.

How To

from fastapi import FastAPI

from titiler.xarray.extensions import VariablesExtension
from titiler.xarray.factory import TilerFactory

app = FastAPI(
    openapi_url="/api",
    docs_url="/api.html",
    description="""Xarray based tiles server for MultiDimensional dataset (Zarr/NetCDF).

---

**Documentation**: <a href="https://developmentseed.org/titiler/" target="_blank">https://developmentseed.org/titiler/</a>

**Source Code**: <a href="https://github.com/developmentseed/titiler" target="_blank">https://github.com/developmentseed/titiler</a>

---
    """,
)

md = TilerFactory(
    router_prefix="/md",
    extensions=[
        VariablesExtension(),
    ],
)
app.include_router(md.router, prefix="/md", tags=["Multi Dimensional"])

Package structure

titiler/
 └── xarray/
    ├── tests/                   - Tests suite
    └── titiler/xarray/          - `xarray` namespace package
        ├── dependencies.py      - titiler-xarray dependencies
        ├── extensions.py        - titiler-xarray extensions
        ├── main.py              - main fastapi application
        ├── io.py                - titiler-xarray Readers
        └── factory.py           - endpoints factory

Custom Dataset Opener

A default Dataset IO is provided within titiler.xarray.io.Reader class with only support for Zarr dataset (via xarray+zarr-python).

For other dataset (e.g NetCDF), you can use titiler.xarray.io.FsReader which use the optional dependencies (fsspec, netcdf5).

python -m pip install "titiler.xarray[fs]"

Example of application with fsspec reader:

from fastapi import FastAPI
from titiler.xarray.extensions import VariablesExtension
from titiler.xarray.factory import TilerFactory
from titiler.xarray.io import FsReader

# Create FastAPI application
app = FastAPI(openapi_url="/api", docs_url="/api.html")

# Create custom endpoints with the FsReader
md = TilerFactory(
    reader=FsReader,
    router_prefix="/md",
    extensions=[
        # we also want to use the simple opener for the Extension
        VariablesExtension(dataset_opener=xarray.open_dataset),
    ],
)

app.include_router(md.router, prefix="/md", tags=["Multi Dimensional"])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

titiler_xarray-2.0.0.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

titiler_xarray-2.0.0-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file titiler_xarray-2.0.0.tar.gz.

File metadata

  • Download URL: titiler_xarray-2.0.0.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for titiler_xarray-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b1576a9dab8f4edc072f7b1ac8e23c49535e309c5e6ce9a83b9d4ec63623172d
MD5 7116267f21b137e65b2ff727cc635797
BLAKE2b-256 4768b90bfbde132436730b9119da87f2c5c34d3910f3ee581e484583ecf2403f

See more details on using hashes here.

File details

Details for the file titiler_xarray-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: titiler_xarray-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for titiler_xarray-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97f2fa498f2cdc5d53789c0bb4937b819e983dbdc9b7a27db6131a432ab698de
MD5 1cee5d91b0904021704758301aeabade
BLAKE2b-256 3b024a1e0d93d43e065d0a2e0b204d788419f185d2b664216d7dbfcfe101c1b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page