Python wrapper for KnackHQ API
pip install knackhq
Create a KnackApp
instance to begin interacting with KnackHQ. Supply an app ID, an API key, and an optional API endpoint URL to the client:
import knackhq
app = knackhq.KnackApp('<app_id>', '<api_key>')
Alternatively, set these values in your environment with:
KNACKHQ_APP_ID
KNACKHQ_API_KEY
KNACKHQ_ENDPOINT
(optional)
app = knackhq.KnackApp()
You may wish to send a raw request response from the KnackHQ API:
app.request('GET', 'objects/object_1/records') # or,
app.request('GET', 'objects', 'object_1', 'records')
Use dictionary syntax to get objects by name or key:
obj = app['object_1'] # or,
obj = app['MyObject']
Access object metadata using dictionary syntax:
obj['name']
obj['key']
obj['fields']
Use the get_records()
method to iterate over records in an object:
for record in obj.get_records():
print(record)
Supply arguments to get_records()
to filter records. Options include:
record_id
page
rows_per_page
sort_field
sort_order
filters
Use filters
to refine your search:
filters = [
{
field: 'field_1',
operator: 'is',
value: 'test'
}, {
field: 'field_2',
operator: 'is not blank'
}
]
for record in obj.get_records(filters=filters):
print(record)
If you know the ID of the record, use get_record()
to return a single record:
record = obj.get_record('1234567890ABCDEF')
TODO