数据访问协议的纯Python实现。
项目描述
pydap
pydap 是一种 Opendap/DODS 协议的实现,完全使用纯 Python 编写。您可以使用 pydap 访问互联网上的科学数据,而无需下载;相反,您将使用特殊的数组和可迭代对象,这些对象在需要时按需下载数据,节省带宽和时间。该模块还包含一个健壮但轻量级的 Opendap 服务器,作为 WSGI 应用实现。
快速入门
pydap 是一个轻量级的 Python 包,您可以使用两种模式之一:客户端和服务器。您可以使用 pip 安装最新版本。在 安装 pip 之后,可以使用以下命令安装 pydap
$ pip install pydap
这将安装 pydap 及其所有依赖项。pydap 还可通过 Anaconda 获得。下面我们在名为 pydap 的新鲜 conda 环境中安装 pydap 及其所需的依赖项,以及一些常见的附加包
$ mamba create -n pydap -c conda-forge python=3.10 pydap numpy jupyterlab ipython netCDF4 scipy matplotlib
现在只需激活 pydap 环境
mamba activate pydap
现在您可以使用 pydap 作为客户端,打开任何远程提供的数据集,pydap 将在需要时按需下载访问的数据
>>> from pydap.client import open_url
>>> dataset = open_url('http://test.opendap.org/dap/data/nc/coads_climatology.nc')
>>> var = dataset['SST']
>>> var.shape
(12, 90, 180)
>>> var.dtype
dtype('>f4')
>>> data = var[0,10:14,10:14] # this will download data from the server
>>> data
<GridType with array 'SST' and maps 'TIME', 'COADSY', 'COADSX'>
>>> print(data.data)
[array([[[ -1.26285708e+00, -9.99999979e+33, -9.99999979e+33,
-9.99999979e+33],
[ -7.69166648e-01, -7.79999971e-01, -6.75454497e-01,
-5.95714271e-01],
[ 1.28333330e-01, -5.00000156e-02, -6.36363626e-02,
-1.41666666e-01],
[ 6.38000011e-01, 8.95384610e-01, 7.21666634e-01,
8.10000002e-01]]], dtype=float32), array([ 366.]), array([-69., -67., -65., -63.]), array([ 41., 43., 45., 47.])]
有关更多信息,请参阅 使用 pydap 作为客户端 的文档。
pydap 还附带了一个简单的服务器,作为 WSGI 应用实现。要使用它,您首先需要安装服务器和可选的数据处理程序
$ pip install "pydap[server,handlers.netcdf]"
这将安装对 netCDF 文件的支持;如有必要,还有更多不同格式的 处理程序。现在为您的服务器数据创建一个目录。
要运行服务器,只需发出以下命令
$ pydap --data ./myserver/data/ --port 8001 --workers 4 --threads 4
这将启动一个在默认的 http://localhost:8001/ 上运行的独立服务器,从 ./myserver/data/
提供netCDF文件,类似于 http://test.pydap.org/ 上的测试服务器。由于服务器使用 WSGI 标准,pydap 默认使用 1 个工作者和 1 个线程,但用户可以像上面那样定义这些(4 个工作者和 4 个线程)。Pydap 还可以轻松地运行在 Apache 后面。有关如何更好地部署 pydap 的更多信息,请参阅 服务器文档。
文档
有关更多信息,请参阅 pydap 文档。
帮助
如果您需要有关 pydap 的任何帮助,请随时向 邮件列表 发送电子邮件
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源代码分发
构建分发
pydap-3.5.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0ee6cb7a4892ef22a15c4e2aa58b2656104c542c74faf16c580c56fdf97647ab |
|
MD5 | d7a0dcd0ccf450f292a8f5d91c7c08e4 |
|
BLAKE2b-256 | a58f77e0556cee5a0ec6462b3e1d5fae943831147018f676d5105fd13a43f819 |
pydap-3.5-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | e157aefdbc26657ef531ecea73907bbf09a503499bfefada2f0ad5f3aaff4021 |
|
MD5 | 8e93d24da79725fa5b0031a5cd0eac85 |
|
BLAKE2b-256 | f38678e74c4d1ce2ad79420edf8dbe50034f6e98c35b83f3a55a9c0a83f25114 |