跳转到主要内容

数据访问协议的纯Python实现。

项目描述

pydap

Python3 PyPI conda forge Build Status black license pre-commit

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 的任何帮助,请随时向 邮件列表 发送电子邮件

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源代码分发

pydap-3.5.tar.gz (4.4 MB 查看散列值)

上传时间 源代码

构建分发

pydap-3.5-py3-none-any.whl (2.4 MB 查看散列值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面