# pywiscat
[![Build Status](https://github.com/wmo-im/pywiscat/workflows/build%20%E2%9A%99%EF%B8%8F/badge.svg)](https://github.com/wmo-im/pywiscat/actions)
## Pythonic API to WMO WIS Catalogue
pywiscat provides a Pythonic API atop the WMO WIS2 Catalogue in support
of reporting and analysis of the WIS2 Catalogue and its associated discovery metadata.
## Installation
### pip
Install latest stable version from [PyPI](https://pypi.org/project/pywiscat).
```bash
pip3 install pywiscat
```
### From source
Install latest development version.
```bash
python3 -m venv pywiscat
cd pywiscat
. bin/activate
git clone https://github.com/wmo-im/pywiscat.git
cd pywiscat
pip3 install -r requirements.txt
python3 setup.py build
python3 setup.py install
```
## Running
The canonical URL for the GDC is https://wis2-gdc.weather.gc.ca.
To use a different catalogue, set the `PYWISCAT_GDC_URL` environmnent variable before running pywiscat.
From command line:
```bash
# fetch version
pywiscat --version
## WIS2 workflows
# search the WIS2 Global Discovery Catalogue (GDC)
pywiscat search
# search the WIS2 Global Discovery Catalogue (GDC) with a full text query
pywiscat search --query radar
# search the WIS2 Global Discovery Catalogue (GDC) for only recommended data
pywiscat search --data-policy recommended
# search the WIS2 Global Discovery Catalogue (GDC) with a bounding box query
pywiscat search --bbox -142,42,-52,84
# get more information about a WIS2 GDC record
pywiscat get urn:x-wmo:md:can:eccc-msc:c7c9d726-c48a-49e3-98ab-78a1ab87cda8
```
## Using the API
```python
## WIS2 workflows
from pywiscat.wis2.catalogue import search, get
# search catalogue
results = search(q='radar', bbox=[-142, 42, -52, 84]))
# get a single catalogue record
results = get('urn:x-wmo:md:can:eccc-msc:c7c9d726-c48a-49e3-98ab-78a1ab87cda8')
```
## Development
```bash
python3 -m venv pywiscat
cd pywiscat
source bin/activate
git clone https://github.com/wmo-im/pywiscat.git
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
python3 setup.py install
```
### Running tests
```bash
# via setuptools
python3 setup.py test
# manually
python3 tests/run_tests.py
```
## Releasing
```bash
# create release (x.y.z is the release version)
vi pywiscat/__init__.py # update __version__
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/wmo-im/pywiscat/releases/new)
# bump version back to dev
vi pywiscat/__init__.py # update __version__
git commit -am 'back to dev'
git push origin master
```
## Code Conventions
[PEP8](https://www.python.org/dev/peps/pep-0008)
## Issues
Issues are managed at https://github.com/wmo-im/pywiscat/issues
## Contact
* [Tom Kralidis](https://github.com/tomkralidis)
* [Ján Osuský](https://github.com/josusky)
Raw data
{
"_id": null,
"home_page": "https://github.com/wmo-im/pywiscat",
"name": "pywiscat",
"maintainer": "Tom Kralidis",
"docs_url": null,
"requires_python": null,
"maintainer_email": "tomkralidis@gmail.com",
"keywords": "wmo wis",
"author": "Tom Kralidis",
"author_email": "tomkralidis@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/fc/5d/4f17af6afd9333efe801c1977525f06b555f2b7b0e2b40e1851580e22439/pywiscat-0.2.2.tar.gz",
"platform": "all",
"description": "# pywiscat\n\n[![Build Status](https://github.com/wmo-im/pywiscat/workflows/build%20%E2%9A%99%EF%B8%8F/badge.svg)](https://github.com/wmo-im/pywiscat/actions)\n\n## Pythonic API to WMO WIS Catalogue\n\npywiscat provides a Pythonic API atop the WMO WIS2 Catalogue in support\nof reporting and analysis of the WIS2 Catalogue and its associated discovery metadata.\n\n## Installation\n\n### pip\n\nInstall latest stable version from [PyPI](https://pypi.org/project/pywiscat).\n\n```bash\npip3 install pywiscat\n```\n\n### From source\n\nInstall latest development version.\n\n```bash\npython3 -m venv pywiscat\ncd pywiscat\n. bin/activate\ngit clone https://github.com/wmo-im/pywiscat.git\ncd pywiscat\npip3 install -r requirements.txt\npython3 setup.py build\npython3 setup.py install\n```\n\n## Running\n\nThe canonical URL for the GDC is https://wis2-gdc.weather.gc.ca.\n\nTo use a different catalogue, set the `PYWISCAT_GDC_URL` environmnent variable before running pywiscat.\n\nFrom command line:\n\n```bash\n# fetch version\npywiscat --version\n\n## WIS2 workflows\n\n# search the WIS2 Global Discovery Catalogue (GDC)\npywiscat search\n\n# search the WIS2 Global Discovery Catalogue (GDC) with a full text query\npywiscat search --query radar\n\n# search the WIS2 Global Discovery Catalogue (GDC) for only recommended data\npywiscat search --data-policy recommended\n\n# search the WIS2 Global Discovery Catalogue (GDC) with a bounding box query\npywiscat search --bbox -142,42,-52,84\n\n# get more information about a WIS2 GDC record\npywiscat get urn:x-wmo:md:can:eccc-msc:c7c9d726-c48a-49e3-98ab-78a1ab87cda8\n```\n\n## Using the API\n```python\n\n## WIS2 workflows\n\nfrom pywiscat.wis2.catalogue import search, get\n\n# search catalogue\nresults = search(q='radar', bbox=[-142, 42, -52, 84]))\n\n# get a single catalogue record\nresults = get('urn:x-wmo:md:can:eccc-msc:c7c9d726-c48a-49e3-98ab-78a1ab87cda8')\n```\n\n\n## Development\n\n```bash\npython3 -m venv pywiscat\ncd pywiscat\nsource bin/activate\ngit clone https://github.com/wmo-im/pywiscat.git\npip3 install -r requirements.txt\npip3 install -r requirements-dev.txt\npython3 setup.py install\n```\n\n### Running tests\n\n```bash\n# via setuptools\npython3 setup.py test\n# manually\npython3 tests/run_tests.py\n```\n\n## Releasing\n\n```bash\n# create release (x.y.z is the release version)\nvi pywiscat/__init__.py # update __version__\ngit commit -am 'update release version x.y.z'\ngit push origin master\ngit tag -a x.y.z -m 'tagging release version x.y.z'\ngit push --tags\n\n# upload to PyPI\nrm -fr build dist *.egg-info\npython3 setup.py sdist bdist_wheel --universal\ntwine upload dist/*\n\n# publish release on GitHub (https://github.com/wmo-im/pywiscat/releases/new)\n\n# bump version back to dev\nvi pywiscat/__init__.py # update __version__\ngit commit -am 'back to dev'\ngit push origin master\n```\n\n## Code Conventions\n\n[PEP8](https://www.python.org/dev/peps/pep-0008)\n\n## Issues\n\nIssues are managed at https://github.com/wmo-im/pywiscat/issues\n\n## Contact\n\n* [Tom Kralidis](https://github.com/tomkralidis)\n* [J\u00e1n Osusk\u00fd](https://github.com/josusky)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "WMO WIS Catalogue analysis tool",
"version": "0.2.2",
"project_urls": {
"Homepage": "https://github.com/wmo-im/pywiscat"
},
"split_keywords": [
"wmo",
"wis"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0ba6a7ef294bc8853e9fa0bc783c587eed3dad944e91ea56618f4977f58a1a9d",
"md5": "9e9a8608e368add4a8adcf7dce2175af",
"sha256": "3cad1b7910c3f0756dad369e62fe7ea3f5e69889eb479dfef17002ff204c5558"
},
"downloads": -1,
"filename": "pywiscat-0.2.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "9e9a8608e368add4a8adcf7dce2175af",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10487,
"upload_time": "2024-10-09T05:22:27",
"upload_time_iso_8601": "2024-10-09T05:22:27.105622Z",
"url": "https://files.pythonhosted.org/packages/0b/a6/a7ef294bc8853e9fa0bc783c587eed3dad944e91ea56618f4977f58a1a9d/pywiscat-0.2.2-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fc5d4f17af6afd9333efe801c1977525f06b555f2b7b0e2b40e1851580e22439",
"md5": "daf053071e8a6defe398aca19dc976f4",
"sha256": "542315e552796a689922d922f0c1ddd7e80718fd219cf8458870378f91ac171d"
},
"downloads": -1,
"filename": "pywiscat-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "daf053071e8a6defe398aca19dc976f4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9530,
"upload_time": "2024-10-09T05:22:28",
"upload_time_iso_8601": "2024-10-09T05:22:28.728795Z",
"url": "https://files.pythonhosted.org/packages/fc/5d/4f17af6afd9333efe801c1977525f06b555f2b7b0e2b40e1851580e22439/pywiscat-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-09 05:22:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wmo-im",
"github_project": "pywiscat",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "click",
"specs": []
},
{
"name": "emoji-country-flag",
"specs": []
},
{
"name": "iso3166",
"specs": []
},
{
"name": "prettytable",
"specs": []
},
{
"name": "requests",
"specs": []
}
],
"lcname": "pywiscat"
}