Python client for Quickbase data access with optional schema caching and pandas helpers
Project description
QuickBase-Data-Client
QuickBase-Data-Client is a focused Python client for Quickbase data access.
It is built for record queries, upserts, reports, formulas, file attachments, optional schema-assisted lookup, and pandas-based workflows. It is not a full Quickbase administration SDK, and it does not try to wrap every Quickbase endpoint.
Supported Surface
- Sync client:
QuickBaseClient - Compatibility sync path:
QuickBaseAPI - Async client:
AsyncQuickBaseClient - Compatibility/explicit async path:
AsyncQuickBaseAPI - App/table helpers:
App,Table,AsyncApp,AsyncTable - Explicit identifiers:
Identifier - Optional schema lookup:
SchemaCache - Request tuning:
RequestConfig - File uploads/downloads:
FilePayload
Current maintained capabilities:
- ID-first record query and upsert workflows
- report execution and sync formula execution
- high-level query/report pagination helpers in the sync client
- file upload, download, and delete operations in the sync client
- async core data operations: query, upsert, report, and file upload
- DataFrame conversion and DataFrame-to-upsert workflows
- configurable retries, timeouts, and request/file size limits
- package-level exceptions instead of status-wrapper error signaling
Installation
pip install quickbase-data-client
The published package name is quickbase-data-client. The import path is quickbase_data_client.
Python 3.10+ is required. pandas and numpy are direct dependencies in the current package shape.
Quickstart
Use IDs directly unless you specifically need schema-assisted name resolution.
from quickbase_data_client import Auth, QuickBaseClient
auth = Auth("example.quickbase.com", "qb-user-token")
client = QuickBaseClient(auth)
orders = client.table(id="bq123456")
query_response = orders.query_records(
"{3.GT.0}",
select=[3, 6, 7],
)
upsert_response = orders.upsert_records(
[
{"6": {"value": "INV-1001"}, "7": {"value": 125.0}},
{"6": {"value": "INV-1002"}, "7": {"value": 210.5}},
]
)
print(query_response.status_code)
print(len(query_response.data))
print(upsert_response.metadata)
QuickBaseResponse wrappers expose status_code, status_text, metadata, fields, data, raw, and parsed. Query/report responses can also be converted to pandas with .dataframe(...).
Docs
- Installation
- Quickstart
- ID-Only Usage
- Schema Cache Usage
- DataFrame Workflows
- File Handling
- Exceptions
- Retries and Configuration
- Async Support
- Migration Notes
Notes On Scope
This package is intentionally narrow.
- It supports Quickbase data operations, not structural app/table administration.
- IDs are the primary contract.
SchemaCacheis optional and explicit.- Async support is intentionally smaller than the sync surface.
Compatibility Notes
QuickBaseClientis the preferred sync client name.QuickBaseAPIstill works as the compatibility path.AsyncQuickBaseClientis the preferred async client name.AsyncQuickBaseAPIstill works as the compatibility/explicit async path.App.table(...)andAsyncApp.table(...)are preferred.App.Table(...)andAsyncApp.Table(...)still work, but they are deprecated.QuickBaseHandlershould be imported fromquickbase_data_client.tools.quickbase_log_handler.- Package-root compatibility exports for
QuickBaseRequestandResponseFactoryare deprecated.
Schema Data Safety
Generated schema caches can contain tenant-specific metadata. Treat them as local runtime artifacts, not source files.
- The default SQLite cache path is
models/QuickBase_Schema.sqlite3. - Do not publish
models/contents. - Do not copy tenant schema payloads into docs or examples.
Phase 11 adds an explicit source-distribution guard so local models/ cache files are not bundled by accident.
License
Apache License 2.0. See LICENSE.
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_data_client-0.1.1.tar.gz.
File metadata
- Download URL: quickbase_data_client-0.1.1.tar.gz
- Upload date:
- Size: 58.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1a9f13ee8a2ef5d4583fb85a4a5910cbae1966aa4d2071cf1c4185740676230
|
|
| MD5 |
74589379c2a734b842920d9f80730ae3
|
|
| BLAKE2b-256 |
49afaf74398d11c3b6c5073768cde56f395e73bb2b516ea066c09a0315e1be24
|
File details
Details for the file quickbase_data_client-0.1.1-py3-none-any.whl.
File metadata
- Download URL: quickbase_data_client-0.1.1-py3-none-any.whl
- Upload date:
- Size: 60.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f11ed425445c9f3194fd7cb4085fa71c51348b69e208c0c12fa29a75707bb84f
|
|
| MD5 |
6ceb9d132fe4f3df4a0ada470f7da1b7
|
|
| BLAKE2b-256 |
02c48e2007190698a7fca002e42202187fe29f7913ccafcb64cf8157b89a4a84
|