High level package providing Pythonic access to WMO WOUDC data services
Project description
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
- Python 3 and above
- virtualenv
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pywoudc-0.3.0.tar.gz
.
File metadata
- Download URL: pywoudc-0.3.0.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
bd0c68f838445d53227c0d07c162458ec209aed392b7a578b62036fa71020fb9
|
|
MD5 |
41004084d9de1c7dcf82445376158b76
|
|
BLAKE2b-256 |
b736e0fa9fcbbef04d35e43dbec0d11a4162fae0403797bdb684ff53bd88f62a
|
File details
Details for the file pywoudc-0.3.0-py2.py3-none-any.whl
.
File metadata
- Download URL: pywoudc-0.3.0-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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
638b889d2e7b65b67ec9838000d09a203414056e5f33ab9153e8af1ffadbab59
|
|
MD5 |
baf0e652962b115bba67415aadb39ed3
|
|
BLAKE2b-256 |
aa58973e02ac0527de9d5680aa734d3533a211e694087a3c27f2d57e54ad6cd6
|