Metadata-Version: 2.1
Name: lizard-connector
Version: 0.7.3
Summary: A connector to connect to the Lizard-API with Python.
Home-page: http://demo.lizard.net
Author: Roel van den Berg
Author-email: roel.vandenberg@nelen-schuurmans.nl
License: GPL
Description: lizard-connector
        ================
        
        :warning: **Lizard API version 2 will deprecate on January 31th 2021, please switch to the default API version 3**
        
        This can be done by either omitting the version parameter when creating a Client instance, or creating a Client instance with version 3 specified:
        
        ..
            from lizard_connector import Client
            cli = Client(version=3)
        
        
        Introduction
        ------------
        
        Connector to Lizard api (e.g. https://demo.lizard.net/api/v3) for python.
        
        Includes:
        - 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:
        `Voorbeeld_NL.ipynb`.
        
        Use one endpoints https://demo.lizard.net/api/v3 in Python with the Endpoint
        class::
        
            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 = datetime.datetime.now()
        
            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)
                    self.output.emit(data)
        
        
        Credits
        =======
        
        - roel.vandenberg@nelen-schuurmans.nl started this library
        
        
        Changelog of lizard-connector
        ===================================================
        
        
        0.7.3 (2020-12-17)
        ------------------
        
        - Removed mentions of v2 API from docs.
        
        
        0.7.2 (2020-12-17)
        ------------------
        
        - Added FutureWarnings when using the v2 API (default is V3)
        
        - Renamed REAMDE.md to README.rst
        
        
        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.
        
Keywords: lizard,rest,interface,api
Platform: UNKNOWN
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Provides-Extra: test
