Skip to main content
=============================================
Python minimalist SDK to use Isogeo REST API
=============================================

.. image:: https://badge.fury.io/py/isogeo-pysdk.svg
:target: https://badge.fury.io/py/isogeo-pysdk
.. image:: https://img.shields.io/badge/python-2.7-blue.svg
:target: https://badge.fury.io/py/isogeo-pysdk
.. image:: https://img.shields.io/badge/python-3.5-blue.svg
:target: https://badge.fury.io/py/isogeo-pysdk
.. image:: https://travis-ci.org/Guts/isogeo-api-py-minsdk.svg?branch=master
:target: https://travis-ci.org/Guts/isogeo-api-py-minsdk
:alt: Travis build status

Unofficial lib.
API keys are required to use it.

Getting API keys
================

`Send us your request by email <mailto:projects+api@isogeo.com>`_.

Getting Help
============

There is a basic documentation about the `Isogeo API <https://docs.google.com/document/d/11dayY1FH1NETn6mn9Pt2y3n8ywVUD0DoKbCi9ct9ZRo/edit?usp=sharing>`_.

Installing
==========

To use:

.. code-block:: shell

pip install --user isogeo-pysdk

For developers:

.. code-block:: shell

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

Quickstart
==========

.. code-block:: python

from isogeo_pysdk import Isogeo

# authentify the application
isogeo = Isogeo(client_id=app_id,
client_secret=app_secret)

# get available subresources
print(isogeo.SUBRESOURCES)

# get the token
token = isogeo.connect()

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

print("Search __dict__ keys: ", search.keys())
print("Search query parameters: ", search.get('query'))
print("Total count of metadatas shared: ", search.get("total"))
print("Count of resources got by request: {}\n".format(len(search.get("results"))))

Others samples are available in `the source repository <https://github.com/Guts/isogeo-api-py-minsdk/tree/master/isogeo_pysdk/samples>`_.


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

Resources search ( GET /resources/search )
-------------------------------------------

Resources search parameters:

- [X] q (query)
- [X] ob (order by)
- [X] od (order direction)
- [X] _id (filter on specific resources id list)
- [X] _include (subresources management)
- [X] _lang (French or English with complete translation)
- [X] _limit (results length)
- [X] _offset (pagination)
- [X] box (filter on WGS84 boundging box)
- [X] geo (filter on WKT polygon)
- [X] rel (geometric operation to apply on 2 previous filters)
- [X] s share segregation


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 )

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] method to easily download Isogeo hosted data
- [-] handle proxies setting (only for basic auth - not PAC nor NTLM)

Release files for isogeo-pysdk 2.18.0.post490

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for isogeo-pysdk 2.18.0.post490
File Size Uploaded
isogeo-pysdk-2.18.0.post490.tar.gz 30.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for isogeo-pysdk 2.18.0.post490
File Interpreter ABI Platform
isogeo_pysdk-2.18.0.post490-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 56.7 kB

Release files / isogeo-pysdk-2.18.0.post490.tar.gz

Download URL isogeo-pysdk-2.18.0.post490.tar.gz
Size 30.9 kB
Tags Source
SHA-256 checksum
How to use checksums
86a836edce9e0f00ca3002f37b5687fc85b6e477063407bf1f42fde632d627df
BLAKE2b-256 checksum
How to use checksums
4c6abf1e53f531ca8e537b39a1b4b87ce3b191e64bc998261d43c11b5c191480
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / isogeo_pysdk-2.18.0.post490-py2.py3-none-any.whl

Download URL isogeo_pysdk-2.18.0.post490-py2.py3-none-any.whl
Size 25.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5951930e939cec103ea7caca95ed623ef63eedd6902c073baaac9b904ac02e82
BLAKE2b-256 checksum
How to use checksums
0a435a9cdce72c8569af98eb56243a361884f6927c2f3545a27482d794323be9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

3.9.0

2 release files

3.8.6

2 release files

3.8.5

2 release files

3.8.4

2 release files

3.8.2

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.3

2 release files

3.4.2

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.6

2 release files

3.2.5

2 release files

3.2.4

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.21.0

2 release files

2.19.4

2 release files

This release

2.18.0.post490 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page