Python wrapper for quickbase JSON API.
Project description
quickbase-json-api-client
Unofficial QuickBase JSON API wrapper for Python.
Created by Synctivate Developers! Custom software solutions from Fredericksburg, Virginia!
Documentation
https://github.com/robswc/quickbase-json-api-client/wiki
Quickstart
Installation
To install, run:
pip install quickbase-json-api-client
Initialize Client
Use the following code to create and initialize a client object.
from quickbase_json import QBClient
client = QBClient(realm="yourRealm", auth="userToken")
Where yourRealm is the name (subdomain) of your Quickbase Realm and userToken is the user token used to authenticate
with the realm. You can also include an optional agent: str argument, which will change the User-Agent (used in headers) from the default "QJAC" to whatever string is passed. This is heavily recommended, as it makes figuring out the origin of API calls easier.
Query Records
Querying for records is one of the most useful features of the Quickbase JSON API. Querying records with QJAC can be done using the following code
Basic Example
response = client.query_records(table='tableId', select=[3, 6, 12], where='queryString')
data = response.data()
Where tableId is the ID of the table you wish to query from, fids is a list of field IDs you wish to receive and queryString
is a quickbase query string.
Adv. Example
from quickbase_json.helpers import Where
# have static fids for table/records
NEEDED_FIDS = [3, 6, 12]
# build query str where 3 is either 130, 131 or 132
# https://help.quickbase.com/api-guide/componentsquery.html
q_str = Where(3, 'EX', [130, 131, 132]).build(join='OR')
response = client.query_records(table='tableId', select=NEEDED_FIDS, where=q_str)
In this example, we use the Where() helper. This can make building complex QuickBase queries easier.
The Where() helper documentation can be found here.
Response Objects
A QBResponse object is returned when querying records with QJAC. A QBResponse has several methods that make
handling returned data easier. Here are a few of the most useful ones.
Response Methods
- .data()
r = qbc.query_records(...).data()
Returns the data from QuickBase. Equivalent to calling .get('data')
- .denest()
r = qbc.query_records(...).denest()
Denests the data. I.e. changes {'fid': {'value': 'actualValue'}} to {'fid': 'actualValue'}
- orient(orient: str, key: int)
r = qbc.query_records(...).orient('records', key=3)
Orients the data. Currently, the only option is 'records'. This will orient the returned data into a "record like structure", i.e. changes
{'fid': 'actualValue', 'fid': 'actualValue'} to {'key': {etc: etc}}
- convert()
r = qbc.query_records(...).convert('datetime')
Converts the data, based on fields and provided arguments. For example, calling convert('datetime') will convert all data with fields
of the 'date time' type to python datetime objects. Other conversions are 'currency' and 'int'.
- round_ints()
r = qbc.query_records(...).round_ints()
Rounds all float integers into whole number ints. i.e. converts 55.0 to 55.
Additional Features
Information on additional features that go beyond the scope of an introduction README.md, can be found on the GitHub Wiki!
This include things like...
- Easy file uploading/downloading
- Inserting, Updating and Deleting records
- Creating tables
- Authenticating w/Quickbase
- etc.
Issues/Bugs
If you come across any issues or want to file a bug report, please do so here.
Thanks!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quickbase-json-api-client-0.3.0.tar.gz.
File metadata
- Download URL: quickbase-json-api-client-0.3.0.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77f26512c2ec39be0d389b5f4f787de32925f3ea3ca3080395a7c13a4c35b0e8
|
|
| MD5 |
8fe7994f60f68811bff71d9a4a976116
|
|
| BLAKE2b-256 |
74909bc0d4916c82b226da613b778803c408aae31b47c3a082e3b9996952513f
|
File details
Details for the file quickbase_json_api_client-0.3.0-py3-none-any.whl.
File metadata
- Download URL: quickbase_json_api_client-0.3.0-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d553d0d4e4977cea5d55bdd6215a40790421b3448f8eac903c449fd749f34246
|
|
| MD5 |
c41e473879d57c7ef4c52b1f31f3efb0
|
|
| BLAKE2b-256 |
ac95fd8594bd598bf1fe4753dc4218d6c7f253ffc4ea047ab471eccc5753993b
|