NASA Home Page Goddard Space Flight Center Home Page
NASA Logo - Goddard Space Flight Center   + Visit NASA.gov
a directory of Earth science data and services Global Change Master Directory Web site
header 2 bullet Links bullet FAQ bullet Contact Us bullet Site Map
Home Data Sets Data Services Learn about GCMD_legacy's portal collaborations. Add new dataset or dataservice records to GCMD_legacy What's New Participate Calendar About GCMD_legacy
 
Record Search Query: ServiceParameters>DATA MANAGEMENT/DATA HANDLING>DATA NETWORKING/DATA TRANSFER TOOLS

Python implementation of the Data Access Protocol (pyDAP)
Entry ID: pyDAP
[ Get Service ]
[ Update this Record ]


Summary
Abstract: Python implementation of the Data Access Protocol

This module is an implementation of the Data Access Protocol written in Python
from scratch. You can use the module as a client to connect to remote datasets
and download data transparently as needed; you can also run a server to share
your scientific data over the network, so it can be easily accessed using
Matlab, Ferret, GrADS or a web browser.

The module comes with a DAP client, allowing Python programs to access any
DAP-served dataset through array-like objects and lists. It also comes with a
DAP server that understands data in a variety of formats and that can be easily
extended. A lot of effort went into this new release, and there are plenty of
changes:

* The server is implemented as a Python Web Server Gateway Interface (WSGI)
_application_ (http://www.python.org/peps/pep-0333.html). A WSGI application
can run on any WSGI _server_. Currently, there are WSGI servers for mod_python,
FastCGI, AJP, SCGI, CGI, Twisted, IIS, so it is possible to run the pyDAP
server unmodified on any of these different environments.

WSGI _middleware_ can also be used between the server and application; pyDAP
implements WSGI middleware for logging events, memory and disk caching and for
automatically generating a THREDDS catalog file. Additional WSGI middleware of
interest include Gzip compression and error handling, available in third-party
Python modules.


http://pydap.org/

Related URL
Link: GET SERVICE > GET SOFTWARE PACKAGE
Description: Software can be downloaded from here.

Link: GET RELATED SERVICE METADATA (SERF)
Description: Ferret Live Access Server (LAS), a Web-based Data Visualization and Analysis
Tool

The server provides access to a large (over 20 gigabytes) research-oriented
data base of multi-dimensional, gridded, environmental data collected within
NOAA and elsewhere. The data base is maintained by the Thermal Modeling and
Analysis Project (TMAP) at PMEL.

Link: GET RELATED SERVICE METADATA (SERF)
Description: Grid Analysis and Display System SERFs
Service Citation
Originators: Roberto De Almeida
Title: Python implementation of the Data Access Protocol (pyDAP)
Provider: Roberto De Almeida
Edition: 2.1
URL: http://pydap.org/
Science Keywords
AGRICULTURE >AGRICULTURAL AQUATIC SCIENCES   [Definition]
AGRICULTURE >AGRICULTURAL CHEMICALS   [Definition]
AGRICULTURE >AGRICULTURAL ENGINEERING   [Definition]
AGRICULTURE >AGRICULTURAL PLANT SCIENCE   [Definition]
AGRICULTURE >ANIMAL COMMODITIES   [Definition]
AGRICULTURE >ANIMAL SCIENCE   [Definition]
AGRICULTURE >FEED PRODUCTS   [Definition]
AGRICULTURE >FOOD SCIENCE   [Definition]
AGRICULTURE >FOREST SCIENCE   [Definition]
AGRICULTURE >PLANT COMMODITIES   [Definition]
AGRICULTURE >SOILS   [Definition]
ATMOSPHERE >AEROSOLS   [Definition]
ATMOSPHERE >AIR QUALITY   [Definition]
ATMOSPHERE >ALTITUDE   [Definition]
ATMOSPHERE >ATMOSPHERIC CHEMISTRY   [Definition]
ATMOSPHERE >ATMOSPHERIC ELECTRICITY   [Definition]
ATMOSPHERE >ATMOSPHERIC PHENOMENA   [Definition]
ATMOSPHERE >ATMOSPHERIC TEMPERATURE   [Definition]
ATMOSPHERE >ATMOSPHERIC WATER VAPOR   [Definition]
ATMOSPHERE >ATMOSPHERIC WINDS   [Definition]
ATMOSPHERE >CLOUDS   [Definition]
ATMOSPHERE >PRECIPITATION   [Definition]
ATMOSPHERE >ATMOSPHERIC RADIATION   [Definition]
BIOSPHERE >ECOLOGICAL DYNAMICS   [Definition]
BIOSPHERE >TERRESTRIAL ECOSYSTEMS >WETLANDS   [Definition]
BIOSPHERE >TERRESTRIAL ECOSYSTEMS   [Definition]
BIOSPHERE >VEGETATION   [Definition]
CRYOSPHERE >SEA ICE   [Definition]
CRYOSPHERE >SNOW/ICE   [Definition]
HUMAN DIMENSIONS >SOCIAL BEHAVIOR   [Definition]
HUMAN DIMENSIONS >BOUNDARIES   [Definition]
HUMAN DIMENSIONS >ECONOMIC RESOURCES   [Definition]
HUMAN DIMENSIONS >ENVIRONMENTAL IMPACTS   [Definition]
HUMAN DIMENSIONS >PUBLIC HEALTH   [Definition]
HUMAN DIMENSIONS >INFRASTRUCTURE   [Definition]
HUMAN DIMENSIONS >ENVIRONMENTAL GOVERNANCE/MANAGEMENT >LAND MANAGEMENT >LAND USE/LAND COVER CLASSIFICATION   [Definition]
HUMAN DIMENSIONS >NATURAL HAZARDS   [Definition]
HUMAN DIMENSIONS >POPULATION   [Definition]
TERRESTRIAL HYDROSPHERE >GROUND WATER   [Definition]
TERRESTRIAL HYDROSPHERE >SNOW/ICE   [Definition]
TERRESTRIAL HYDROSPHERE >SURFACE WATER   [Definition]
TERRESTRIAL HYDROSPHERE >WATER QUALITY/WATER CHEMISTRY   [Definition]
LAND SURFACE >EROSION/SEDIMENTATION   [Definition]
LAND SURFACE >GEOMORPHIC LANDFORMS/PROCESSES   [Definition]
LAND SURFACE >SURFACE THERMAL PROPERTIES   [Definition]
LAND SURFACE >LAND USE/LAND COVER   [Definition]
LAND SURFACE >LANDSCAPE   [Definition]
LAND SURFACE >SOILS   [Definition]
LAND SURFACE >SURFACE RADIATIVE PROPERTIES   [Definition]
LAND SURFACE >TOPOGRAPHY   [Definition]
OCEANS >BATHYMETRY/SEAFLOOR TOPOGRAPHY   [Definition]
OCEANS >COASTAL PROCESSES   [Definition]
OCEANS >MARINE ENVIRONMENT MONITORING   [Definition]
OCEANS >MARINE GEOPHYSICS   [Definition]
OCEANS >MARINE SEDIMENTS   [Definition]
OCEANS >OCEAN ACOUSTICS   [Definition]
OCEANS >OCEAN CHEMISTRY   [Definition]
OCEANS >OCEAN CIRCULATION   [Definition]
OCEANS >OCEAN HEAT BUDGET   [Definition]
OCEANS >OCEAN OPTICS   [Definition]
OCEANS >OCEAN PRESSURE   [Definition]
OCEANS >OCEAN TEMPERATURE   [Definition]
OCEANS >OCEAN WAVES   [Definition]
OCEANS >OCEAN WINDS   [Definition]
OCEANS >SALINITY/DENSITY   [Definition]
OCEANS >SEA ICE   [Definition]
OCEANS >TIDES   [Definition]
OCEANS >WATER QUALITY   [Definition]
PALEOCLIMATE >ICE CORE RECORDS   [Definition]
PALEOCLIMATE >LAND RECORDS   [Definition]
PALEOCLIMATE >OCEAN/LAKE RECORDS   [Definition]
SPECTRAL/ENGINEERING >INFRARED WAVELENGTHS   [Definition]
SPECTRAL/ENGINEERING >MICROWAVE   [Definition]
SPECTRAL/ENGINEERING >PLATFORM CHARACTERISTICS   [Definition]
SPECTRAL/ENGINEERING >RADAR   [Definition]
SPECTRAL/ENGINEERING >SENSOR CHARACTERISTICS   [Definition]
SPECTRAL/ENGINEERING >ULTRAVIOLET WAVELENGTHS   [Definition]
SPECTRAL/ENGINEERING >VISIBLE WAVELENGTHS   [Definition]
SUN-EARTH INTERACTIONS >SOLAR ACTIVITY   [Definition]
SOLID EARTH >GEOCHEMISTRY   [Definition]
SOLID EARTH >GRAVITY/GRAVITATIONAL FIELD   [Definition]
SOLID EARTH >GEOMAGNETISM   [Definition]
SOLID EARTH >GEOMORPHIC LANDFORMS/PROCESSES   [Definition]
SOLID EARTH >GEOTHERMAL DYNAMICS   [Definition]
SOLID EARTH >EARTH GASES/LIQUIDS   [Definition]
SOLID EARTH >ROCKS/MINERALS/CRYSTALS   [Definition]
SOLID EARTH >TECTONICS >EARTHQUAKES   [Definition]
SOLID EARTH >TECTONICS   [Definition]
SOLID EARTH >TECTONICS >VOLCANIC ACTIVITY   [Definition]
OCEANS >SEA SURFACE TOPOGRAPHY   [Definition]
OCEANS >MARINE VOLCANISM   [Definition]
ATMOSPHERE >ATMOSPHERIC PRESSURE   [Definition]
SPECTRAL/ENGINEERING >GAMMA RAY   [Definition]
SPECTRAL/ENGINEERING >RADIO WAVE   [Definition]
CRYOSPHERE >FROZEN GROUND   [Definition]
LAND SURFACE >FROZEN GROUND   [Definition]
OCEANS >AQUATIC SCIENCES   [Definition]
CLIMATE INDICATORS >ATMOSPHERIC/OCEAN INDICATORS >HUMIDITY INDICES   [Definition]
CLIMATE INDICATORS >ATMOSPHERIC/OCEAN INDICATORS >TELECONNECTIONS   [Definition]
SPECTRAL/ENGINEERING >X-RAY   [Definition]
CRYOSPHERE >GLACIERS/ICE SHEETS   [Definition]
TERRESTRIAL HYDROSPHERE >GLACIERS/ICE SHEETS   [Definition]
HUMAN DIMENSIONS >HABITAT CONVERSION/FRAGMENTATION   [Definition]
PALEOCLIMATE >PALEOCLIMATE RECONSTRUCTIONS   [Definition]
SUN-EARTH INTERACTIONS >IONOSPHERE/MAGNETOSPHERE DYNAMICS   [Definition]
SUN-EARTH INTERACTIONS >SOLAR ENERGETIC PARTICLE FLUX   [Definition]
SUN-EARTH INTERACTIONS >SOLAR ENERGETIC PARTICLE PROPERTIES
BIOLOGICAL CLASSIFICATION >PLANTS   [Definition]
BIOSPHERE >AQUATIC ECOSYSTEMS   [Definition]
BIOSPHERE >AQUATIC ECOSYSTEMS >WETLANDS
ATMOSPHERE >ATMOSPHERIC CHEMISTRY >CARBON AND HYDROCARBON COMPOUNDS   [Definition]
ATMOSPHERE >ATMOSPHERIC CHEMISTRY >HALOCARBONS AND HALOGENS   [Definition]
ATMOSPHERE >ATMOSPHERIC CHEMISTRY >HYDROGEN COMPOUNDS   [Definition]
ATMOSPHERE >ATMOSPHERIC CHEMISTRY >NITROGEN COMPOUNDS   [Definition]
ATMOSPHERE >ATMOSPHERIC CHEMISTRY >OXYGEN COMPOUNDS   [Definition]
ATMOSPHERE >ATMOSPHERIC CHEMISTRY >SULFUR COMPOUNDS   [Definition]
ISO Topic Category
FARMING
BIOTA
BOUNDARIES
CLIMATOLOGY/METEOROLOGY/ATMOSPHERE
ECONOMY
ELEVATION
ENVIRONMENT
GEOSCIENTIFIC INFORMATION
HEALTH
IMAGERY/BASE MAPS/EARTH COVER
INLAND WATERS
OCEANS
PLANNING CADASTRE
SOCIETY
TRANSPORTATION
UTILITIES/COMMUNICATIONS
STRUCTURE
Access Constraints
The server has support for Python Paste (http://pythonpaste.org), so all the
WSGI configuration mentioned above (server, middleware, etc.) can be handled
using a single INI-like configuration file. pyDAP also comes with a simple
script to run a standalone server for testing purposes:

dap-server.py [-p port] [-d pidfile] [-l logfile] [-v debug-level]
[/path/to/data]

* The pyDAP server is able to serve data stored as netCDF, Matlab or Comma
Separated Values (CVS) files. It is also able to serve data stored in RDBMS
using the Python DB-API 2.0 specification; this includes PostgreSQL, MySQL,
Oracle, IBM DB2, Informix, Interbase, Ingres/OpenIngres, JDBC, mxODBC, SQLite
and SAP DB.

The module defines an API that allows new data formats to be supported through
plugins. Plugins can be easily created, and are located by the server through
an automatic discovery mechanism. urrently working on plugins for Grib 1/2
and HDF 4/5 files, and an aggregation plugin. There also a "meta" plugin that
enables any supported file to be served in compressed (gzip/bzip2) format.

* The server is able to handle datasets of arbitrary size. The whole process of
reading the data, encoding to ASCII/XDR and sending through HTTP is done in
small blocks, avoiding memory consumption. Also, the server is able to handle
dynamic datasets generated from Python code.

* The module implements an experimental JavaScript Object Notation (JSON)
(http://json.org) response and parser.

The biggest advantage of using JSON is that it's parsed by Javascript more
easily than XML; since a JSON response is valid Javascript, it can be simply
eval()ed. Another great advantage of JSON is that it's *also* valid Python code
(!), so it can be easily parsed and generated.

The module already has support for a DDX response/parser, to be implemented
when the final specification is released.

Concerning recent discussions about the DAS, the DAS parser in the module
understands both nested and flat attributes. The DAS response generated by the
server follows the DAP 2 specification and mimics the DDS structure.

* pyDAP is distributed/packaged using setuptools instead of the default
distutils module. Provided you have Python installed, it is possible to install
pyDAP with three simple steps:

wget http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install dap

And optionally, for a standalone DAP server:

sudo easy_install dap[server]

This will also install the required dependencies. You'll still need to install
Numeric, Numarray or Scipy Core manually, and a few additional modules
dependending on the data being served. Updating to new versions is also easy
with setuptools:

sudo easy_install -U dap
Use Constraints
The MIT License

Copyright (c)

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Service Provider
Cheese Shop, Python

Service Provider Personnel
Name: ROBERTO DE ALMEIDA
Email: rob at pydap.org
Distribution Media
Distribution_Media: Electronic/download
Distribution_Format: gzip
Fees: none
Personnel
ROBERTO DE ALMEIDA
Role: TECHNICAL CONTACT
Email: rob at pydap.org

TYLER B. STEVENS
Role: SERF AUTHOR
Phone: (301) 614-6898
Fax: 301-614-5268
Email: Tyler.B.Stevens at nasa.gov
Contact Address:
NASA Goddard Space Flight Center
Global Change Master Directory
City: Greenbelt
Province or State: MD
Postal Code: 20771
Country: USA
Creation and Review Dates
SERF Creation Date: 2006-01-26
SERF Last Revision Date: 2013-05-10
[ Update this Record ]
USA dot gov - The U.S. Government's Official Web Portal NASA
Webmaster:  Monica Lyles
Responsible NASA Official:  Dr. Stephen Wharton
Last Updated:  July 2015