Open Sustainable Technology

A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Browse accepted projects | Review proposed projects | Propose new project | Open Issues

pydap

An implementation of the Opendap/DODS protocol, written from scratch in pure Python, that allows researchers to access NASA Earth science data from a variety of programs.
https://github.com/pydap/pydap

dap data dods opendap science

Last synced: about 2 hours ago
JSON representation

Repository metadata

A Python library implementing the Data Access Protocol (DAP, aka OPeNDAP or DODS).

README

        

pydap
=====

[![Build Status](https://travis-ci.org/pydap/pydap.svg)](https://travis-ci.org/pydap/pydap)
[![Python3](https://img.shields.io/badge/python-3-blue.svg)](https://www.python.org/downloads/)
[![PyPI](https://img.shields.io/pypi/v/pydap.svg?maxAge=2592000?style=plastic)](https://pypi.python.org/pypi/pydap/)
[![Join the chat at https://gitter.im/pydap/pydap](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pydap/pydap)

[pydap](https://pydap.github.io/pydap/) is an implementation of the
Opendap/DODS protocol, written from scratch in pure python. You can
use pydap to access scientific data on the internet without having to
download it; instead, you work with special array and iterable objects
that download data on-the-fly as necessary, saving bandwidth and
time. The module also comes with a robust-but-lightweight Opendap
server, implemented as a WSGI application.

Quickstart
----------

You can install the latest version using
[pip](http://pypi.python.org/pypi/pip). After [installing
pip](http://www.pip-installer.org/en/latest/installing.html) you can
install pydap with this command:

```bash
$ pip install pydap
```

This will install pydap together with all the required
dependencies. You can now open any remotely served dataset, and pydap
will download the accessed data on-the-fly as needed:

```python

>>> 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

>>> 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.])]
```

For more information, please check the documentation on [using pydap
as a client](https://pydap.github.io/pydap/client.html). pydap also
comes with a simple server, implemented as a [WSGI]( http://wsgi.org/)
application. To use it, you first need to install the server and
optionally a data handler:

```bash

$ pip install pydap[server,handlers.netcdf]
```

This will install support for
[netCDF](http://www.unidata.ucar.edu/software/netcdf/) files; more
[handlers](https://pydap.github.io/pydap/handlers.html) for
different formats are available, if necessary. Now create a directory
for your server data.

To run the server just issue the command:

```bash

$ pydap --data ./myserver/data/ --port 8001
```

This will start a standalone server running on http://localhost:8001/,
serving netCDF files from ``./myserver/data/``, similar to the test
server at http://test.pydap.org/. Since the server uses the
[WSGI](http://wsgi.org/) standard, it can easily be run behind
Apache. The [server
documentation](https://pydap.github.io/pydap/server.html) has
more information on how to better deploy pydap.

## Documentation

For more information, see [the pydap
documentation](https://pydap.github.io/pydap/).

## Help

If you need any help with pydap, please feel free to send an email to
the [mailing list](http://groups.google.com/group/pydap/)


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 19 days ago

Total Commits: 563
Total Committers: 38
Avg Commits per committer: 14.816
Development Distribution Score (DDS): 0.597

Commits in past year: 13
Committers in past year: 6
Avg Commits per committer in past year: 2.167
Development Distribution Score (DDS) in past year: 0.615

Name Email Commits
Roberto De Almeida r****o@d****t 227
Frederic Laliberte l****c@g****m 185
James Hiebert j****s@h****e 39
Edward Hartnett E****t@n****v 24
James Hiebert h****t@u****a 17
Tom Kralidis t****s@g****m 10
ocefpaf o****f@g****m 9
Ghislain Antony Vaillant g****l 8
Owen Littlejohns o****s@n****v 5
James Gallagher j****r@o****g 3
Juan Luis Cano Rodríguez j****1@g****m 3
Ray Bell r****0@g****m 2
Lewis John McGibbney l****y@g****m 2
Michael Bunsen n****t@g****m 2
Christian Skarby c****y@m****o 2
owenlittlejohns o****s@g****m 2
Daniel Gray d****n@t****m 2
nathanlcarlson 2****n 1
Romain Beucher r****r@a****u 1
Sebastian Krieger s****n@n****m 1
SiggyF f****t@g****m 1
anthonybaxter a****r@g****m 1
Shreyas Cholia s****s@g****m 1
Hugo h****k 1
Jonas Gliß j****s@g****m 1
Nathan Potter n****p@o****g 1
Mike McCann M****e@g****m 1
epifanio e****a@m****m 1
Danny f****k@g****m 1
Tom Kralidis t****s@h****m 1
and 8 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 59
Total pull requests: 42
Average time to close issues: 8 months
Average time to close pull requests: 5 months
Total issue authors: 35
Total pull request authors: 19
Average comments per issue: 2.44
Average comments per pull request: 1.14
Merged pull request: 25
Bot issues: 0
Bot pull requests: 0

Past year issues: 5
Past year pull requests: 8
Past year average time to close issues: N/A
Past year average time to close pull requests: 3 days
Past year issue authors: 5
Past year pull request authors: 5
Past year average comments per issue: 0.8
Past year average comments per pull request: 0.0
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/pydap/pydap

Top Issue Authors

  • captainkirk99 (18)
  • tomkralidis (3)
  • rabernat (2)
  • mathause (2)
  • jondoesntgit (2)
  • jayvdb (2)
  • albertotb (2)
  • wholmgren (1)
  • wallinb (1)
  • veenstrajelmer (1)
  • thisistaimur (1)
  • shreddd (1)
  • raybellwaves (1)
  • amotl (1)
  • QuLogic (1)

Top Pull Request Authors

  • captainkirk99 (16)
  • owenlittlejohns (4)
  • jgallagher59701 (3)
  • pauleckhardt (2)
  • raybellwaves (2)
  • shreddd (2)
  • facutuesca (1)
  • neishm (1)
  • jgliss (1)
  • d70-t (1)
  • cskarby (1)
  • raphaeljolivet (1)
  • rbeucher (1)
  • ndp-opendap (1)
  • tirkarthi (1)

Top Issue Labels

  • tests (6)
  • docs (4)
  • enhancement (3)
  • bug (1)
  • confirmed (1)
  • build (1)

Top Pull Request Labels


Package metadata

pypi.org: pydap

An implementation of the Data Access Protocol.


Dependencies

setup.py pypi
  • Jinja2 *
  • Webob *
  • beautifulsoup4 *
  • docopt *
  • numpy *
  • requests *
  • six *
.github/workflows/python.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/python_macos.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite

Score: 20.204702836736445