A python wrapper for the Greenhouse APIs.
For now, only the Harvest API is supported.
$ 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