skillfed

pydap

A pure python implementation of the Data Access Protocol.

pydap v3.5.10 635.8K downloads/30d#5,634 on PyPI
Permissive license The MIT License Copyright (c) 2003-2010 Roberto De Almeida Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the… (full text in the JSON record) Active released

What it is and what it does

pydap is a pure-Python implementation of the OPeNDAP (Data Access Protocol) standard, originally developed in the 2000s and maintained by the OPeNDAP community. It operates in two modes: as a client to fetch remote scientific data from OPeNDAP servers, and as a lightweight WSGI-based server to publish local datasets. The client uses lazy evaluation and remote metadata (DMR for DAP4) to let you inspect and access only the data you need, avoiding full downloads of large remote arrays.

The package is built on a foundation of common scientific Python libraries (numpy, scipy, requests) and web tools (webob, Jinja2, beautifulsoup4, lxml). It is widely used as a backend engine for xarray and is recognized as a stable, long-lived project in the scientific Python ecosystem. The server mode supports pluggable data handlers (e.g., netCDF4) and can be deployed standalone or behind Apache, making it suitable for publishing scientific datasets over HTTP.

Use it for:

  • Access large remote climate or oceanographic datasets from public OPeNDAP servers without downloading entire files locally.
  • Query specific variables and dimensions from remote scientific data sources, fetching only what you need on demand.
  • Set up a lightweight OPeNDAP server to publish local netCDF or other scientific data files over HTTP for remote access.
  • Integrate remote data access into xarray workflows, leveraging pydap as the backend protocol handler.
  • Build data pipelines that combine lazy-loaded remote arrays with local numpy and scipy operations.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pydap is a pure-Python OPeNDAP client and server that lets you access remote scientific datasets on-the-fly without downloading them in full, using lazy evaluation to fetch only the data you request.

Yes. pydap is a mature, actively maintained project (Production/Stable, last release 49 days ago) with no known vulnerabilities, low install friction, and a permissive MIT license. It fills a specific and well-defined role in scientific Python: OPeNDAP protocol support for remote data access. Install it if you need to work with OPeNDAP servers or publish scientific data over HTTP; skip it if you don't use OPeNDAP or remote lazy-loaded data.

Install

pydap on PyPI

pip

pip install pydap

uv

uv add pydap

poetry

poetry add pydap

Installing pydap

Before you install

Low friction install with a pure-wheel distribution. Active maintenance (last release 49 days ago) and marked Production/Stable. Requires Python 3.12 or later. Eight runtime dependencies (numpy, requests, scipy, webob, beautifulsoup4, lxml, Jinja2, requests-cache) are all common and well-maintained.

License in practice

MIT license (permissive). You can use, modify, and distribute pydap freely in commercial and private projects with minimal restrictions—only attribution and inclusion of the license text are required.

Quickstart

pip install pydap

from pydap.client import open_url
pyds = open_url('http://test.opendap.org:8080/opendap/catalog/ghrsst/20210102090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc', protocol='dap4')
print(pyds['sst_anomaly'].shape)

Requires Python 3.12 or later. Remote OPeNDAP server must be accessible over HTTP.

Verify before relying

  • Whether pydap's lazy evaluation performance scales well with very large remote datasets or high-frequency access patterns.
  • Current state of xarray integration and whether it remains a primary backend for that project.
  • Compatibility and performance with modern OPeNDAP server implementations beyond the test server examples.

Package facts

License The MIT License Copyright (c) 2003-2010 Roberto De Almeida Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 8 — numpy, requests, requests-cache, scipy, webob, beautifulsoup4, lxml, Jinja2
Maintenance actively maintained — 49 days since the last release
First released
Downloads 635,787/month — #5,634 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pydap-3.5.10-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Internet :: WWW/HTTP :: WSGITopic :: Scientific/Engineering

Tags

opendap client pythonremote scientific data accesslazy loading array dataopendap server wsginetcdf remote accessdap4 protocol pythonscientific data streaming
scientific-dataremote-accessopendap

More Scientific/Engineering packages