IX
ixai/grnhse-api
Python wrapper for the Greenhouse APIs
grnhse-api
A python wrapper for the Greenhouse APIs.
For now, only the Harvest API is supported.
Installation
$ pip install grnhse-api
Basic Usage
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}Pagination
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)
# 437On this page
Languages
Python98.3%Makefile1.7%
MIT License
Created March 22, 2019
Updated March 22, 2019