A Jupyter server extension providing a TiTiler server, proxy, and a Python API to add Xarray datasets to the TiTiler server.
Project description
Jupyter Xarray Tiler
[!IMPORTANT] This repository is experimental and in the prototype stage. Expect bugs. Expect a possible pivot and/or name change in the future :smile:
Your feedback and contributions are welcome! Please open an issue, DM Matt Fisher, or post in the
#geojupyterchannel on the Jupyter Zulip!
A Jupyter server extension which provides an API to launch a server to dynamically tile Xarray DataArrays for interactive visualization.
Who is this for?
Intended to be consumed by interactive map libraries for Jupyter, not end-users, e.g.:
- Leafmap
- ipyleaflet
- ipyopenlayers
- More?
What problem does this solve?
For authors of interactive map libraries for Jupyter, providing a dynamic HTTP tile server presents a unique problem: they don't know where Jupyter is running. It could be, for example, running on:
- users' local machines
- a shared JupyterLab instance on an intranet
- an authenticated JupyterHub in a public cloud
The first case is the simplest; when the tile server is running on localhost, the map
viewer running in JavaScript in the user's browser can connect to it.
In the other cases, the map viewer needs a public URL to connect to. The URL of the current JupyterHub instance may not be known. Additionally, a map server running in a Jupyter kernel isn't exposed to the public internet in many cases (for example, when it's running in a Kubernetes pod as part of a JupyterHub). This extension provides dynamic proxying to map servers running in the kernel.
Usage
As a Jupyter interactive map library author, you may implement a method like:
from jupyter_xarray_tiler.titiler import add_data_array
class MyMapLibrary:
# ...
def add_xarray_layer(self, da: xr.DataArray):
# Add the layer to the tile server.
# The server will be started the first time this is called.
# A URL that passes through the Jupyter server proxy will be returned:
url = add_data_array(da)
# Add the layer to your map!
self._add_tile_layer(url)
Install
Recommended:
uv add jupyter-xarray-tiler
Or:
[!WARNING] Installation with pixi/conda/mamba/micromamba is not yet supported. Please use another installation method!
pixi add jupyter-xarray-tiler
For other methods of installation, including pip, conda, mamba, and micromamba, see the installation instructions in the documentation.
From source
uv add git+https://github.com/geojupyter/jupyter-xarray-tiler.git#egg=jupyter-xarray-tiler
For development instructions, please view the development install instructions in our documentation's Contributor Guide!
Contributing
Please see the Contributor Guide in our documentation!
:rocket: Powered by...
Other backends (e.g. xpublish-tiles (earthmover)) may be supported in the future!
:sparkles: Inspired by...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jupyter_xarray_tiler-0.2.0.tar.gz.
File metadata
- Download URL: jupyter_xarray_tiler-0.2.0.tar.gz
- Upload date:
- Size: 254.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30d62c2bdf5ddbc91bcdfae16ff617c6338f92ce6e5b4fc134f605be625764d9
|
|
| MD5 |
0a60924bb7192465abe5bc9e20be9aa3
|
|
| BLAKE2b-256 |
981490c271c0248dcc04500be989b01ef91c65aa51bc40ab33791a0088ef3f95
|
Provenance
The following attestation bundles were made for jupyter_xarray_tiler-0.2.0.tar.gz:
Publisher:
publish.yml on geojupyter/jupyter-xarray-tiler
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyter_xarray_tiler-0.2.0.tar.gz -
Subject digest:
30d62c2bdf5ddbc91bcdfae16ff617c6338f92ce6e5b4fc134f605be625764d9 - Sigstore transparency entry: 938686475
- Sigstore integration time:
-
Permalink:
geojupyter/jupyter-xarray-tiler@f0b046461fe2610312fbdf88408e4fc966d4946e -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/geojupyter
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0b046461fe2610312fbdf88408e4fc966d4946e -
Trigger Event:
release
-
Statement type:
File details
Details for the file jupyter_xarray_tiler-0.2.0-py3-none-any.whl.
File metadata
- Download URL: jupyter_xarray_tiler-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
688bdeaccac383fcacd24a07e2054ae8f161132c9e3918a36f281d14f39b055c
|
|
| MD5 |
6fa2d5122cc07d6757b6131e40674fe8
|
|
| BLAKE2b-256 |
c83dad1d91bef8b6892c6673228eec29f2279d6be57a5f97f266e3e076f3d852
|
Provenance
The following attestation bundles were made for jupyter_xarray_tiler-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on geojupyter/jupyter-xarray-tiler
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyter_xarray_tiler-0.2.0-py3-none-any.whl -
Subject digest:
688bdeaccac383fcacd24a07e2054ae8f161132c9e3918a36f281d14f39b055c - Sigstore transparency entry: 938686487
- Sigstore integration time:
-
Permalink:
geojupyter/jupyter-xarray-tiler@f0b046461fe2610312fbdf88408e4fc966d4946e -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/geojupyter
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0b046461fe2610312fbdf88408e4fc966d4946e -
Trigger Event:
release
-
Statement type: