通过REST API发布Xarray数据集。
项目描述
Xpublish
将Xarray数据集发布到网络上
快速示例
服务器端:通过REST API发布Xarray数据集
ds.rest.serve(host="0.0.0.0", port=9000)
客户端:连接到已发布的数据集
发布的数据集可以通过各种客户端应用程序访问,例如,在Python中使用Zarr和fsspec。
import xarray as xr
import zarr
from fsspec.implementations.http import HTTPFileSystem
fs = HTTPFileSystem()
http_map = fs.get_mapper("http://0.0.0.0:9000/zarr/")
# open as a zarr group
zg = zarr.open_consolidated(http_map, mode="r")
# or open as another Xarray Dataset
ds = xr.open_zarr(http_map, consolidated=True)
或者要探索其他访问方法,请在浏览器中打开 http://0.0.0.0:9000/docs。
为什么?
Xpublish 允许您通过 Web 应用程序提供/共享/发布 Xarray 数据集。
通过可插拔的 REST API 端点,Xarray 数据集中的数据和/或元数据可以以各种形式公开。在服务器端启用 Dask 可以实现大型数据集的高效按需交付。
Xpublish 的 插件生态系统 具有以下功能
- 按需发布或派生数据产品
- 将 xarray 对象转换为流服务(例如 OPeNDAP)
如何实现?
在底层,Xpublish 使用一个 Web 应用程序(FastAPI),该应用程序公开了一个类似 REST 的 API,具有内置和/或用户定义的端点。
例如,Xpublish 默认提供最小化兼容 Zarr 的类似 REST API,具有以下端点
zarr/.zmetadata
:返回以 JSON 字符串格式化的 Zarr 格式元数据键。zarr/var/0.0.0
:返回一个变量数据块作为二进制字符串。
可以通过安装或编写插件添加更多端点。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。
源分发
xpublish-0.3.3.tar.gz (23.6 kB 查看散列)
构建分发
xpublish-0.3.3-py3-none-any.whl (30.3 kB 查看散列)