Skip to main content

A connector to connect to the Lizard-API ( with Python.

Project description



Connector to Lizard api (e.g. for python.

- Client (experimental / alpha)
- Endpoint (Easy access to Lizard api endpoints)
- Connector (http handling)
- parsers to parse the json obtained from Endpoint queries
- queryfunctions for special cases such as geographical queries and time
related queries other queries can be input as a dictionary
- callbacks for async data handling.

When pandas, numpy are installed the Client returns `pandas.DataFrame`s and/or
`numpy.array`s in a `ScientifResult` object.

Example usage

An example jupyter notebook can be found `Example_EN.ipynb` or in Dutch:

Use one endpoints in Python with the Endpoint

from lizard_connector import Client
import lizard_connector.queries
import datetime

# Fill in your username and password (your password will be prompted)
client = lizard_connector.Client(
username = "example.username"

endpoint = 'timeseries'
south_west = [48.0, -6.8]
north_east = [56.2, 18.9]

organisation_id = 'example_organisation_uuid'

start = datetime.datetime(1970, 1, 1)
end =

relevant_queries = [
lizard_connector.queries.in_bbox(south_west, north_east, endpoint),
lizard_connector.queries.organisation(organisation_id, endpoint),
lizard_connector.queries.datetime_limits(start, end)

results = client.timeseries.get(*relevant_queries)

Usage with PyQT (for Qgis plugins)
You can create a QThread worker like so:

from PyQt4.QtCore import QThread
from PyQt4.QtCore import pyqtSignal

class Worker(QThread):
"""This class creates a worker thread for getting the data."""
output = pyqtSignal(object)

def __init__(self, parent=None, endpoint=None, *querydicts, **queries):
"""Initiate the Worker."""
super(Worker, self).__init__(parent)
self._endpoint = endpoint
self._querydicts = querydicts
self._queries = queries

def run(self):
"""Called indirectly by PyQt if you call start().
This method retrieves the data from Lizard and emits it via the
output signal as dictionary.
data = self._endpoint._synchronous_get_async(
*self._querydicts, **self._queries)


- started this library

Changelog of lizard-connector

0.7.1 (2018-04-17)

- Nothing changed yet.

0.7 (2018-04-17)

- Added Client.

- Added parsers (scientific, json).

- Added callbacks.

- Renamed Endpoint `download...` methods to `get...`.

0.6 (2018-02-07)

- Add explicit py2/3 imports to mitigate problems with the ``future`` library.

0.5 (2017-10-16)

- Compatible with python 2.7.

- Refactored pagination.

- Added Async downloads with callback.

- Removes max_result on Endpoint initialisation.

0.4 (2016-06-05)

- Fixed bug in iteration over paginated results.

- When all_pages is set to False all methods involving get return the object as
an iterator.

0.3 (2016-05-06)

- Http base urls are not allowed, throws exception when baseurl is not secure
(i.e. does not start with https).

- Fixed a bug that caused a get to run two times.

0.2 (2016-05-04)

- Added Datatype classes.

- Renamed Endpoint get and post to download and upload.

0.1 (2016-03-29)

- Basic setup

- Added tests

- Initial project structure created with nensskel 1.37.dev0.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for lizard-connector, version 0.7.1
Filename, size File type Python version Upload date Hashes
Filename, size lizard-connector-0.7.1.tar.gz (62.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page