温室 API 的 Python 包装器
项目描述
grnhse-api
温室API的 Python 包装器。
目前,仅支持Harvest API。
安装
$ pip install grnhse-api
基本用法
from grnhse import Harvest
api_key = 'ABCDE12345'
hvst = Harvest(api_key)
# <Harvest API v1>
depts = hvst.departments
depts
# <Departments Endpoint>
depts.get()
# [{'id': 1234,
# 'name': 'Administration',
# 'parent_id': None,
# 'child_ids': [],
# 'external_id': None},
# {'id': 2345,
# 'name': 'Operations',
# 'parent_id': None,
# 'child_ids': [],
# 'external_id': None},
# {'id': 3456,
# 'name': 'Engineering',
# 'parent_id': None,
# 'child_ids': [],
# 'external_id': None},
# ...]
depts.get(1234)
# {'id': 1234,
# 'name': 'Administration',
# 'parent_id': None,
# 'child_ids': [],
# 'external_id': None}
admin = depts(1234)
admin
# <Departments Endpoint (id=1234)>
admin.get()
# {'id': 1234,
# 'name': 'Administration',
# 'parent_id': None,
# 'child_ids': [],
# 'external_id': None}
hvst.departments(1234).get()
# {'id': 1234,
# 'name': 'Administration',
# 'parent_id': None,
# 'child_ids': [],
# 'external_id': None}
分页
from grnhse import Harvest
api_key = 'ABCDE12345'
hvst = Harvest(api_key)
apps = hvst.applications
apps
# <Applications Endpoint>
all_apps = apps.get()
len(all_apps)
# 100
apps.records_remaining
# True
while apps.records_remaining:
all_apps.extend(apps.get_next())
len(all_apps)
# 437
# Using list comprehension
all_apps = [app for page in apps for app in page]
len(all_apps)
# 437
变更日志
0.1.1 (2020-12-10)
- 更新:
requests
包固定到较新的版本 - 更新:添加
custom_fields
端点 - 修正:
None
用空字符串替换SessionAuthMixin
0.1.0 (2018-11-10)
- 初始发行