aracnid-airtable
A Python Airtable connector implementation for the aracnid-base contract.
Overview
aracnid-airtable provides an AirtableConnector implementation that follows the shared connector interface used across aracnid-* connector modules. It wraps Airtable CRUD operations with consistent validation, normalization, and error handling semantics.
Installation
Using Poetry:
poetry add aracnid-airtable
Using pip:
pip install aracnid-airtable
Requirements
- Python 3.12+
- Airtable API key with access to the target base/table
Configuration
Set your Airtable API key in the environment:
export AIRTABLE_API_KEY=your_api_key
Quick Start
from aracnid_airtable.connector import AirtableConnector
connector = AirtableConnector(
base_id="appXXXXXXXXXXXXXX",
table_name="MyTable",
)
created = connector.create_one({"name": "example", "status": "active"})
record_id = created["id"]
one = connector.read_one(record_id)
many = connector.read_many({"status": "active"})
updated = connector.update_one(record_id, {"status": "inactive"})
replaced = connector.replace_one(record_id, {"name": "replacement"})
deleted = connector.delete_one(record_id, hard=True)
API Notes
read_one(record_id)returnsNonewhen the record is not found.delete_one(record_id, hard=False)raisesRuntimeErrorbecause soft delete is not supported by this connector.delete_one(record_id, hard=True)performs a hard delete and returns:Trueif deletedFalseif the record does not exist
Testing
Run default tests (excluding external-service integration tests):
pytest -m "not integration" -q
Run integration tests (real Airtable):
pytest -m integration -q
Integration test environment variables
AIRTABLE_API_KEYAIRTABLE_BASE_IDAIRTABLE_TABLE_NAME
If these are not set, integration tests will skip.
Development
Run all tests:
pytest -q
Run linting/type checks (if configured in your environment):
ruff check .
pyright
License
This project is licensed under the MIT License - see the LICENSE file for details
Metadata
Release files for aracnid-airtable 1.6.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aracnid_airtable-1.6.3.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aracnid_airtable-1.6.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.5 kB
Release files / aracnid_airtable-1.6.3.tar.gz
| Download URL | aracnid_airtable-1.6.3.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2024fc0e0bee43fab2dbabf981ccd9ac7b8f6154ff991f060df104e55b380d8b
|
|
BLAKE2b-256 checksum How to use checksums |
c2a40e00ed22b12d9522ed2b0ee6816c79bd4ae90bf1164d28cff4cb9e7c55b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency logRelease files / aracnid_airtable-1.6.3-py3-none-any.whl
| Download URL | aracnid_airtable-1.6.3-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
229561d0a671f51ff6f569692cc272ed9e746182d0e34364938fa472876ce9aa
|
|
BLAKE2b-256 checksum How to use checksums |
8804ae2fdd57fbdebe82eb6c96eefcbd4fcb0f0ac8dafe84a50059f03a0d5039
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency log