Skip to main content

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) returns None when the record is not found.
  • delete_one(record_id, hard=False) raises RuntimeError because soft delete is not supported by this connector.
  • delete_one(record_id, hard=True) performs a hard delete and returns:
    • True if deleted
    • False if 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_KEY
  • AIRTABLE_BASE_ID
  • AIRTABLE_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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aracnid-airtable 1.6.1
File Size Uploaded
aracnid_airtable-1.6.1.tar.gz 9.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aracnid-airtable 1.6.1
File Interpreter ABI Platform
aracnid_airtable-1.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.3 kB

Release files / aracnid_airtable-1.6.1.tar.gz

Download URL aracnid_airtable-1.6.1.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
363a1b0ae3ab8fff82a24cd6f2bc3cc190dabd8b12c30d8b01b170dc8abdd6f8
BLAKE2b-256 checksum
How to use checksums
00c242bf8325535791e183791c78e549a67c520e0276fbda6e24abfe50eb9a96
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 Jul 30, 2026.

Transparency log

Release files / aracnid_airtable-1.6.1-py3-none-any.whl

Download URL aracnid_airtable-1.6.1-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c4e8b2d8fba7f0d319a16132831f820990026b6573f64f5f8b5b9e444bfec38
BLAKE2b-256 checksum
How to use checksums
0f1056046e0feb5a15a710ad6238646f850338ede7dafb6693957f7e4dc55035
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 Jul 30, 2026.

Transparency log

Release history Release notifications | RSS feed

1.6.3

2 release files

This release

1.6.1 This release

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page