Skip to main content

High level package providing Pythonic access to WMO WOUDC data services

Project description

Build Status Downloads this month on PyPI Latest release

pywoudc

High level package providing Pythonic access to WOUDC data services.

Overview

The World Ozone and Ultraviolet Radiation Data Centre (WOUDC) is one of six World Data Centres which are part of the Global Atmosphere Watch programme of the World Meteorological Organization.

The WOUDC archive is made available via OGC APIs. These APIs are publically available and can be used with any environment and / or software supporting the OGC API standards. pywoudc provides a high level library using Python idioms (API, data structures) which provides Python implementations a simple, straightforward bridge without requiring intimate knowledge of the OGC standards.

Installation

Requirements

Dependencies

Dependencies are listed in requirements.txt. Dependencies are automatically installed during pywoudc installation.

Installing pywoudc

# setup virtualenv
python3 -m venv --system-site-packages pywoudc
cd pywoudc
source bin/activate

# clone codebase and install
git clone https://github.com/woudc/pywoudc.git
cd pywoudc
pip3 install .

Running

From the command line:

pywoudc --version

# get all stations
pywoudc stations

# get station report
pywoudc station <woudc_id>

# get instruments
pywoudc instruments

# get instrument report
pywoudc instrument <instrument_id>

Using the API

from pywoudc import WoudcClient
client = WoudcClient()

# get a GeoJSON dict of all contributors
client.get_metadata('contributors')

# get a GeoJSON dict of all stations
client.get_metadata('stations')

# get a GeoJSON dict of all instruments
client.get_metadata('instruments')

Development

virtualenv pywoudc
cd pywoudc
source bin/activate
git clone https://github.com/woudc/pywoudc.git
cd pywoudc
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt

Running tests

# via setuptools
python3 setup.py test
# manually
python3 tests/run_tests.py

Releasing

# create release (x.y.z is the release version)
vi pywoudc/__init__.py  # update __version__
vi debian/changelog  # add changelog entry
git commit -am 'update release version x.y.z'
git push origin master
git tag -a x.y.z -m 'tagging release version x.y.z'
git push --tags

# upload to PyPI
rm -fr build dist *.egg-info
python3 setup.py sdist bdist_wheel --universal
twine upload dist/*

# publish release on GitHub (https://github.com/woudc/pywoudc/releases/new)

# bump version back to dev
vi pywoudc/__init__.py  # update __version__
git commit -am 'back to dev'
git push origin master

Code Conventions

pywoudc code conventions are as per PEP8

Issues

Issues are managed at https://github.com/woudc/pywoudc/issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pywoudc-0.3.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pywoudc-0.3.1-py2.py3-none-any.whl (13.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pywoudc-0.3.1.tar.gz.

File metadata

  • Download URL: pywoudc-0.3.1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for pywoudc-0.3.1.tar.gz
Algorithm Hash digest
SHA256 5e2dbdac1f55d0413a4b21c3a7833c589c3b98049d3fcbfc10b2f642d575a594
MD5 c3ba1e33f8187bf01674db5d70c3f4a1
BLAKE2b-256 7008f274a076d316bf5902dacc94410ffb5192093e58c558d4744e111647a85f

See more details on using hashes here.

File details

Details for the file pywoudc-0.3.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pywoudc-0.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for pywoudc-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6c96914858a8650eded1f8b45c8646aa57f5eb97ff4379a3eddfaac89fe3fc99
MD5 48cbdeab188f1a4eba6136f726abdb71
BLAKE2b-256 380531ee328233d4f21d68323b37ee873b3e0f1551f6939af5179f3d3c2a4546

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page