Skip to main content

Abstraction class to use Isogeo REST API

Project description

PyPI version Travis build status Python 2.7.x compatiblity Python 3.5.x compatiblity Python 3.6.x compatiblity

Isogeo API Python SDK

A Python package to use Isogeo REST API.

Getting API keys

API keys are required to use it. Send us your request by email.

Getting Help

There is a basic documentation about the Isogeo API.

Installing

To use:

pip install --user isogeo-pysdk

For developers:

git clone git@github.com:Guts/isogeo-api-py-minsdk.git
cd isogeo-api-py-minsdk
python setup.py install

Quickstart

from isogeo_pysdk import Isogeo

# authenticate your client application
isogeo = Isogeo(client_id=app_id,
                client_secret=app_secret)

# get the token
token = isogeo.connect()

# search within catalogs shared to the application
search = isogeo.search(token)

# print some statements
print(isogeo.SUBRESOURCES)  # available sub resources
print("Search __dict__ keys: ", search.keys())  # search response basic structure
print("Search query parameters: ", search.get('query'))  # search response query passed
print("Total count of metadatas shared: ", search.get("total"))  # total of available resources
print("Count of resources got by request: {}\n".format(len(search.get("results"))))  # total of resources returned by search request

Others samples are available in the source repository.

Isogeo API coverage

Authentication

  • [X] group application (oAuth2 Credentials Grant)

  • [ ] user confidential application (oAuth2 Authorization Code Grant)

  • [ ] user public application (oAuth2 Implicit Grant)

  • [X] token auto refresh

Resource details ( GET /resources/{rid} )

Resource detailed parameters:

  • [X] id (metadata UUID)

  • [X] _include (subresources management)

Others:

  • [X] download resource in XML ISO-1939 version

  • [ ] resource with contacts subresource included ( GET /resources/{rid}/contacts )

  • [ ] resource with events subresource included ( GET /resources/{rid}/events )

  • [ ] resource with keywords subresource included ( GET /resources/{rid}/keywords )

  • [ ] resource with operations subresource included ( GET /resources/{rid}/operationds - only for services)

Keyword details ( GET /keyword/{kid} )

  • [X] kid (keyword UUID)

  • [X] _include (subresources management)

  • [X] searches for keywords in a specific workgroup ( GET /groups/{gid}/keywords/search )

These requests are not publicly available.

Thesaurus ( GET /thesauri )

  • [X] list of available thesauri

  • [X] specific thesaurus ( GET /thesauri/tid )

  • [X] searches for keywords in a specific thesaurus ( GET /thesauri/{tid}/keywords/search )

Shares ( GET /shares )

  • [X] list accessible shares

  • [X] specific share ( GET /shares/sid )

Licenses ( GET /licenses )

  • [X] list licenses of a workgroup

  • [X] details on a specific license ( GET /license/lid )

These requests are not publicly available.

Miscellaneous & bonus

  • [X] check API version

  • [X] check database version

  • [X] pick between different Isogeo API platform (PROD, QA, [INT])

  • [X] set protocol requests to HTTPS (default) or HTTP (only for GET requests not for authentication)

  • [X] get every API label automatically translated (not only INSPIRE themes)

  • [X] additional search parameter to automatically get full results without have to iterate with _limit and _offset

  • [X] option (ALL) to quickly get every subresources through _include parameter

  • [X] option (augment) to dynamically add shares ids to a search results tags (#6)

  • [X] method to easily download Isogeo hosted data

  • [X] method to easily get application properties from shares request

  • [X] UUID checker and converter (hex <-> urn) to handle specific Isogeo UUID

  • [X] automatic check on values passed into query parameter to the API

  • [-] handle proxies setting (only for basic auth - not PAC nor NTLM)

Tests

Tests are performed for each published commit by Travis

To run tests:

pip install --upgrade -r tests/requirements_test.txt
python setup.py install
python -m unittest discover

Build

To package and upload:

.\build_upload.ps1

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

isogeo-pysdk-2.19.4.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

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

isogeo_pysdk-2.19.4-py2.py3-none-any.whl (37.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file isogeo-pysdk-2.19.4.tar.gz.

File metadata

  • Download URL: isogeo-pysdk-2.19.4.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for isogeo-pysdk-2.19.4.tar.gz
Algorithm Hash digest
SHA256 50a444abdfb462db5fa16a56ea6a829aaac8ffb369c6b105186dd5d6266dd066
MD5 87f268fc83c4ee9da930fdb2fe3154e5
BLAKE2b-256 157f486a777c660239d018a8afc32518c1b9cc211aa06b7449d7fe1bfb6b84ce

See more details on using hashes here.

File details

Details for the file isogeo_pysdk-2.19.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for isogeo_pysdk-2.19.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 02aa0d44b0ad3e1a0892a1775a0215c997ed8fff9a580600f089fb828d461a32
MD5 09b91af60094976f4e5769d6b2bc34cc
BLAKE2b-256 0814677a82e286890469f8b40ecf16fe45f5ad27289524df6115fe7bcb2fa9ca

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