用于连接Lizard-API的Python连接器。
项目描述
lizard-connector
- 警告:
Lizard API版本2将于2021年1月31日停用,请切换到默认API版本3
这可以通过在创建Client实例时不指定版本参数,或者创建指定版本3的Client实例来实现
简介
Python连接到Lizard api (例如 https://demo.lizard.net/api/v3) 的连接器。
包含:- 客户端(实验性/alpha)- 端点(轻松访问Lizard API端点)- 连接器(http处理)- 解析器,用于解析从端点查询中获得的json - 查询函数,用于特殊案例,如地理查询和时间相关查询,其他查询可以作为字典输入 - 异步数据处理的回调。
当安装了pandas和numpy时,客户端在ScientifResult对象中返回
示例用法
示例jupyter笔记本可以在Example_EN.ipynb中找到,或在荷兰语中:Voorbeeld_NL.ipynb。
在Python中使用Endpoint类使用一个端点 https://demo.lizard.net/api/v3
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)
与PyQT的使用(用于Qgis插件)
你可以这样创建一个QThread工作线程
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)
致谢
lizard-connector的变更日志
0.7.3 (2020-12-17)
从文档中删除了对v2 API的提及。
0.7.2 (2020-12-17)
在v2 API中使用时添加了FutureWarnings(默认为V3)
将REAMDE.md重命名为README.rst
0.7.1 (2018-04-17)
尚未进行任何更改。
0.7 (2018-04-17)
添加了客户端。
添加了解析器(科学,json)。
添加了回调。
将Endpoint的< cite>download…方法重命名为< cite>get…。
0.6 (2018-02-07)
添加了显式的py2/3导入,以减轻与future库的问题。
0.5 (2017-10-16)
与python 2.7兼容。
重构分页。
添加了带有回调的异步下载。
在Endpoint初始化中删除了max_result。
0.4 (2016-06-05)
修复了在分页结果上迭代时的错误。
当all_pages设置为False时,所有涉及get的方法都返回对象作为迭代器。
0.3 (2016-05-06)
不允许http基本url,当baseurl不安全(即不以https开头)时抛出异常。
修复了导致get运行两次的错误。
0.2 (2016-05-04)
添加了数据类型类。
将Endpoint的get和post重命名为download和upload。
0.1 (2016-03-29)
基本设置
添加了测试
使用nensskel 1.37.dev0创建了初始项目结构。