NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1960 most downloaded on PyPI
Python Client for the Airtable API
Last release 10 days ago
24 Sep 2026
Ships fairly regularly
a new release about every 2 months
Most releases are documented
notes for 30 of 35 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
50 releases · first in 2021
One column per quarter.
Bumped the minimum supported version of pydantic to 2.11.0 to fix #468 _.
Bumped the minimum supported version of pydantic to 2.11.0 to fix #468.
Added support for the parent_comment_id parameter to Table.add_comment , allowing threaded replies _.
Added support for the parent_comment_id parameter to Table.add_comment, allowing threaded replies.
Fixed a regression, introduced in 3.0.0, that caused the timeout argument to ~pyairtable.Api to be ignored.
~pyairtable.formulas.AND and ~pyairtable.formulas.OR type annotation no longer accept a mix of iterables and formulas, since that would produce an invalid formula at runtime.
Formula functions now accept ORM fields without type errors, e.g. SUM(MyModel.amount, 1).
Fixed the type annotation of Url.add_path.
Added support for listing and revoking enterprise users' personal access tokens via Enterprise.access_tokens and Enterprise.revoke_access_tokens.
Added support for updating the workspace AI allowlist via Enterprise.allow_ai.
Fixed Enterprise.move_groups and Enterprise.move_workspaces raising TypeError when given a generator or other non-list iterable.
Fixed Enterprise.move_groups and Enterprise.move_workspaces raising TypeError when given a generator or other non-list iterable.
~pyairtable.orm.fields.DurationField now declares that API values may be fractional (int | float), matching Airtable's field model.
Removed the non-functional quoted parameter from Table.id_or_name; as a property, it could never receive arguments, and its behavior is unchanged.
Fixed documentation errors in Enterprise.audit_log and ~pyairtable.orm.fields.BarcodeField.
Updated docs to reflect that Base.collaborators and Workspace.collaborators no longer require an enterprise billing plan.
Updated docs to reflect that Base.collaborators and Workspace.collaborators no longer require an enterprise billing plan.
Fixed a crash when parsing multi-codepoint emoji reactions on comments. - PR #461
Added pyairtable.models.schema.FieldType enum.
Added pyairtable.models.schema.FieldType enum. - PR #444
Fixed some long-standing typos in documentation. - PR #449
Added Enterprise.packages, Enterprise.package, Enterprise.create_base, and Enterprise.create_base_from_package. - PR #454
Added support for attachments on pyairtable.models.Comment models, plus new schema fields BaseCollaborators.package_installations and TableSchema.DateDependency.is_forward_only. - PR #456
Added count_comments= parameter to Table.all and Table.first.
Added count_comments= parameter to Table.all and Table.first. - PR #441
Added support for Create Workspace via Enterprise.create_workspace. - PR #442
Added support for Python 3.14 and dropped support for Python 3.9. - PR #443
Added several new fields returned in metadata models.
Added several new fields returned in metadata models. - PR #434
Fix a bug affecting ~pyairtable.orm.Model.from_id when use_field_ids=True.
Fix a bug affecting ~pyairtable.orm.Model.from_id when use_field_ids=True. - PR #431
Added Field.field_schema() to type-annotated ORM fields.
Fixed broken search feature in the library docs.
Fix for #415 _ which caused an endless loop when making a request via POST /listRecords.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
* Fix for #415 _ (see above).
Fix for #415 (see above).
Fix for #404 _ related to enterprise endpoint changes __.
Fix for #404 related to enterprise endpoint changes. - PR #405, PR #406
Fix for environment variables not getting passed to the requests library (#398 _).
Fixed a crash at import time under Python 3.13.
Fixed a crash at import time under Python 3.13. - PR #396
Fixed a bug affecting ORM Meta values which are computed at runtime.
Fixed a bug affecting pyairtable.metadata.get_table_schema.
Fixed a bug affecting pyairtable.metadata.get_table_schema. - PR #349
Fixed a bug affecting how timezones are parsed by ~pyairtable.orm.fields.DatetimeField.
Nothing published for this version
A breaking API change was accidentally introduced. Read more in Migrating from 2.2 to 2.3.
A breaking API change was accidentally introduced. Read more in Migrating from 2.2 to 2.3.
Added support for managing permissions and shares and managing users. - PR #337
Added Enterprise.audit_log to iterate page-by-page through audit log events. - PR #330
Api.base, Api.table, and Base.table will use cached base metadata when called multiple times with validate=True, unless the caller passes a new keyword argument force=True. This allows callers to validate the IDs/names of many bases or tables at once without having to perform expensive network overhead each time. - PR #336
Enterprise methods ~pyairtable.Enterprise.user, ~pyairtable.Enterprise.users, and ~pyairtable.Enterprise.group now return collaborations by default.
Enterprise methods ~pyairtable.Enterprise.user, ~pyairtable.Enterprise.users, and ~pyairtable.Enterprise.group now return collaborations by default. - PR #332
Added more helper functions for formulas: ~pyairtable.formulas.LESS, ~pyairtable.formulas.LESS_EQUAL, ~pyairtable.formulas.GREATER, ~pyairtable.formulas.GREATER_EQUAL, and ~pyairtable.formulas.NOT_EQUAL. - PR #323
~pyairtable.Table.update now accepts return_fields_by_field_id=True
~pyairtable.Table.update now accepts return_fields_by_field_id=True - PR #320
Fixed a bug in how webhook notification signatures are validated
Nothing published for this version
Added classes and methods for managing webhooks.
See Migrating from 1.x to 2.0 for detailed migration notes.
See Migrating from 1.x to 2.0 for detailed migration notes.
Added ~pyairtable.models.Comment class; see Commenting on Records. - PR #282
~pyairtable.Table.batch_upsert now returns the full payload from the Airtable API. - PR #281
ORM module is no longer experimental and has a stable API. - PR #277
Added Model.batch_save and Model.batch_delete. - PR #274
Added Api.whoami method. - PR #273
pyAirtable will automatically retry requests when throttled by Airtable's QPS. - PR #272
ORM Meta attributes can now be defined as callables. - PR #268
Removed ApiAbstract. - PR #267
Implemented strict type annotations on all functions and methods. - PR #263
Return Model instances, not dicts, from Model.all and Model.first. - PR #262
Dropped support for Python 3.7. - PR #261
ORM supports all Airtable field types. - PR #260
Nothing published for this version
Add support for Airtable's upsert operation (see Updating Records).
Add support for Airtable's upsert operation (see Updating Records). - PR #255
Fix return_fields_by_field_id in ~pyairtable.Api.batch_create and ~pyairtable.Api.batch_update. - PR #252
Fix ORM crash when Airtable returned additional fields. - PR #250
Use POST for URLs that are longer than the 16k character limit set by the Airtable API. - PR #247
Added endpoint_url= param to ~pyairtable.Table, ~pyairtable.Base, ~pyairtable.Api. - PR #243
Added ORM ~pyairtable.orm.fields.LookupField. - PR #182
Dropped support for Python 3.6 (reached end of life 2021-12-23) - PR #213
Added pyairtable.retry_strategy.
Added pyairtable.retry_strategy.
Misc fix in sleep for batch requests PR #180
Added new LOWER formula - PR #171 _. See pyairtable.formulas.
Added new LOWER formula - PR #171. See pyairtable.formulas.
Added match(..., match_any=True) to ~pyairtable.formulas.match
Added return_fields_by_field_id in ~pyairtable.Api.get
Nothing published for this version
Fixed missing rate limit in ~pyairtable.Api.batch_update - PR #162 _
Added support for cellFormat - PR #140 _. See updated Parameters.
Added support for cellFormat - PR #140. See updated Parameters.
Nothing published for this version
Nothing published for this version
pyAirtable rewrite for 1.x - see migrations.
pyAirtable rewrite for 1.x - see migrations.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →