Utility for caching api responses from the airtable-python-wrapper
Project description
Airtable Caching
Utility for caching api responses from the airtable-python-wrapper and provides an ORM style interface for querying cached records.
Dummy api key and base keys provided below for testing. Please do not modify anything using this key, or I will have to take this option away.
Installation
pip install airtable-caching
Step 1 - Import classes
from airtable_caching import Base, Table
Step 2 - cache a table
base = Base(base_id="appjMwyFviPaM9I0L", api_key="keyqhxncgPbSySJQN")
base.cache_table("Table 1")
Step 3 - Access cached data
table = Table(base_id="appjMwyFviPaM9I0L", table_name="Table 1")
# get single record by it's airtable record ID
table.get('rec4trz5QrB6aWJBw')
# get all records in the table
table.query().all()
# get all records and resolve linked fields
table.query(resolve_fields={"Table 2": "Link to Table 2"}).all()
# get the first record in table
table.query().first()
# get the last record in table
table.query().last()
# filtering records in the query
table.query().filter_by({"Name": "Data entry 1 from Table 1 from Base 1"}).all()
# ordering records in the query
table.query().order_by("Number").all()
# ordering records in the query (descending)
table.query().order_by("Number", desc=True).all()
Defining a custom cache folder location
By default this stores all cached data as .json files in airtable_caching/json. You can optionally pass a custom folder location to the Base and Table classes.
import os
custom_json_folder = os.path.join(os.path.dirname(__file__), "custom_json")
base = Base(
base_id="appjMwyFviPaM9I0L",
api_key="keyqhxncgPbSySJQN",
json_folder=custom_json_folder,
)
table = Table(
base_id="appjMwyFviPaM9I0L",
table_name="Table 1",
json_folder=self.custom_json_folder,
)
Changelog
0.0.4
Updated
- README and docstrings
0.0.3
Changed
- (BREAKING) Base and Table classes no longer use base name, now they use base id (see docs)
- added option for supplying custom cache location
Added
- Documentation
- Tests
0.0.1 - 0.0.2
- Initial release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
airtable-caching-0.0.5.tar.gz
(4.5 kB
view hashes)
Built Distribution
Close
Hashes for airtable_caching-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e42edf6fd94195060ed81e5407528d65a4c3460e32b011fcd8c76057a9396a3 |
|
MD5 | 6c510e9e778d27ecba49083d974a1c98 |
|
BLAKE2b-256 | 1e929490589c34c689543b5a555528d06f31595121e88a590705ecdc3d4ce34b |