[![Build Status](https://github.com/geopython/geolinks/workflows/build%20%E2%9A%99%EF%B8%8F/badge.svg)](https://github.com/geopython/geolinks/actions)
# geolinks
Utilities to deal with geospatial links. Working implementation
of the Cat-Interop work at https://github.com/OSGeo/Cat-Interop
## Installation
geolinks is best installed and used within a Python virtualenv.
### Requirements
* Python 3 and above
* Python [virtualenv](https://virtualenv.pypa.io/) package
### Dependencies
Dependencies are listed in [requirements.txt](requirements.txt). Dependencies
are automatically installed during geolinks's installation.
### Installing the Package
from source:
```bash
python3 -m venv my-env
cd my-env
. bin/activate
git clone https://github.com/geopython/geolinks.git
cd geolinks
python3 setup.py build
python3 setup.py install
```
via pip:
```bash
pip3 install geolinks
```
## Running
```bash
geolinks link sniff 'http://host/wms?service=WMS'
```
## Using the API from Python
```python
>>> from geolinks import sniff_link
>>> sniff_link('http://host/wms?service=WMS')
'OGC:WMS'
>>> sniff_link('http://host/wms?service=WPS')
'OGC:WPS'
>>> sniff_link('http://host/wms?service=CSW')
'OGC:CSW'
>>> sniff_link('http://host/data/roads.kmz')
'OGC:KML'
>>> sniff_link('http://host/data/roads.kml')
'OGC:KML'
```
### Running Tests
```bash
# via setuptools
python3 setup.py test
# manually
cd tests
python3 run_tests.py
```
## Development
### Setting up a Development Environment
Same as installing a package. Use a virtualenv. Also install developer
requirements:
```bash
pip3 install -r requirements-dev.txt
```
## Releasing
```bash
vi geolinks/__init__.py
git commit -m 'update release version' geolinks/__init__.py
vi debian/changelog # add changelog entry and summary of updates
# push changes
git push origin master
git tag -a x.y.z -m 'tagging release x.y.z'
# push tag
git push --tags
rm -fr build dist *.egg-info
python3 setup.py sdist bdist_wheel --universal
twine upload dist/*
```
### Code Conventions
* [PEP8](https://www.python.org/dev/peps/pep-0008)
### Bugs and Issues
All bugs, enhancements and issues are managed on [GitHub](https://github.com/geopython/geolinks/issues).
## Contact
* [Tom Kralidis](https://github.com/tomkralidis)
Raw data
{
"_id": null,
"home_page": "https://github.com/geopython/geolinks",
"name": "geolinks",
"maintainer": "Tom Kralidis",
"docs_url": null,
"requires_python": "",
"maintainer_email": "tomkralidis@gmail.com",
"keywords": "links geo protocol url href",
"author": "Tom Kralidis",
"author_email": "tomkralidis@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/75/0c/de75f08a42d9d2cc677ab88fd32d422c75552ec4beaf2f0c1dedc634d66c/geolinks-0.2.3.tar.gz",
"platform": "all",
"description": "[![Build Status](https://github.com/geopython/geolinks/workflows/build%20%E2%9A%99%EF%B8%8F/badge.svg)](https://github.com/geopython/geolinks/actions)\n\n# geolinks\n\nUtilities to deal with geospatial links. Working implementation\nof the Cat-Interop work at https://github.com/OSGeo/Cat-Interop\n\n## Installation\n\ngeolinks is best installed and used within a Python virtualenv.\n\n### Requirements\n\n* Python 3 and above\n* Python [virtualenv](https://virtualenv.pypa.io/) package\n\n### Dependencies\n\nDependencies are listed in [requirements.txt](requirements.txt). Dependencies\nare automatically installed during geolinks's installation.\n\n### Installing the Package\n\nfrom source:\n```bash\npython3 -m venv my-env\ncd my-env\n. bin/activate\ngit clone https://github.com/geopython/geolinks.git\ncd geolinks\npython3 setup.py build\npython3 setup.py install\n```\n\nvia pip:\n```bash\npip3 install geolinks\n```\n\n## Running\n\n```bash\ngeolinks link sniff 'http://host/wms?service=WMS'\n```\n\n## Using the API from Python\n\n```python\n>>> from geolinks import sniff_link\n>>> sniff_link('http://host/wms?service=WMS')\n'OGC:WMS'\n>>> sniff_link('http://host/wms?service=WPS')\n'OGC:WPS'\n>>> sniff_link('http://host/wms?service=CSW')\n'OGC:CSW'\n>>> sniff_link('http://host/data/roads.kmz')\n'OGC:KML'\n>>> sniff_link('http://host/data/roads.kml')\n'OGC:KML'\n```\n\n### Running Tests\n\n```bash\n# via setuptools\npython3 setup.py test\n# manually\ncd tests\npython3 run_tests.py\n```\n\n## Development\n\n### Setting up a Development Environment\n\nSame as installing a package. Use a virtualenv. Also install developer\nrequirements:\n\n```bash\npip3 install -r requirements-dev.txt\n```\n\n## Releasing\n\n```bash\nvi geolinks/__init__.py\ngit commit -m 'update release version' geolinks/__init__.py\nvi debian/changelog # add changelog entry and summary of updates\n# push changes\ngit push origin master\ngit tag -a x.y.z -m 'tagging release x.y.z'\n# push tag\ngit push --tags\nrm -fr build dist *.egg-info\npython3 setup.py sdist bdist_wheel --universal\ntwine upload dist/*\n```\n\n### Code Conventions\n\n* [PEP8](https://www.python.org/dev/peps/pep-0008)\n\n### Bugs and Issues\n\nAll bugs, enhancements and issues are managed on [GitHub](https://github.com/geopython/geolinks/issues).\n\n## Contact\n\n* [Tom Kralidis](https://github.com/tomkralidis)\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Utilities to deal with geospatial links",
"version": "0.2.3",
"project_urls": {
"Homepage": "https://github.com/geopython/geolinks"
},
"split_keywords": [
"links",
"geo",
"protocol",
"url",
"href"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c3d29e1f852876ee70afddcc811890f822902f4087e021192209f24ec7291172",
"md5": "5663d0243837b08e80b4d05821b6f8e4",
"sha256": "1cedb20282613ec44805e0af13dda7ce43c20e16a7aca4c7e02cdedfcbbec971"
},
"downloads": -1,
"filename": "geolinks-0.2.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "5663d0243837b08e80b4d05821b6f8e4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 5399,
"upload_time": "2023-09-07T19:13:51",
"upload_time_iso_8601": "2023-09-07T19:13:51.473699Z",
"url": "https://files.pythonhosted.org/packages/c3/d2/9e1f852876ee70afddcc811890f822902f4087e021192209f24ec7291172/geolinks-0.2.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "750cde75f08a42d9d2cc677ab88fd32d422c75552ec4beaf2f0c1dedc634d66c",
"md5": "568aff9611125a737b7ca4a86863f849",
"sha256": "1aacd55d0c0c349cbc8319b2eea70e98dbe34be688c7be14248fbbba0c7cf54e"
},
"downloads": -1,
"filename": "geolinks-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "568aff9611125a737b7ca4a86863f849",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5204,
"upload_time": "2023-09-07T19:13:53",
"upload_time_iso_8601": "2023-09-07T19:13:53.000458Z",
"url": "https://files.pythonhosted.org/packages/75/0c/de75f08a42d9d2cc677ab88fd32d422c75552ec4beaf2f0c1dedc634d66c/geolinks-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-07 19:13:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "geopython",
"github_project": "geolinks",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "geolinks"
}