Skip to main content

Airtable connector for the Aracnid integration framework

Project description

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

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

aracnid_airtable-1.2.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aracnid_airtable-1.2.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file aracnid_airtable-1.2.0.tar.gz.

File metadata

  • Download URL: aracnid_airtable-1.2.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for aracnid_airtable-1.2.0.tar.gz
Algorithm Hash digest
SHA256 e4c7e88228a5eb8084e1125b77ad14e08089e6217fdbbdd9b6801d6d14b15c06
MD5 c0adbf43cb3e5415f4f37b58e8efc8cf
BLAKE2b-256 a0b69f0fa1d3d3c99195edc26cdb22fc51fa2b375b4d72608a9a2202ec5a0d98

See more details on using hashes here.

Provenance

The following attestation bundles were made for aracnid_airtable-1.2.0.tar.gz:

Publisher: publish.yml on aracnid/aracnid-airtable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aracnid_airtable-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aracnid_airtable-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c922ea3a0d9fb635072e27351d9e870a3b3c95d6d73c152542adda7780a4b53
MD5 c5443105cd623467ca77957fd7022b8e
BLAKE2b-256 cfd4ad1d1f1d32785e3a05e833da2858d7c3d6e74ca4afa0a7651ac9925f456e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aracnid_airtable-1.2.0-py3-none-any.whl:

Publisher: publish.yml on aracnid/aracnid-airtable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page