Ferrtable: Ferris the Crab's Favorite Airtable Client
Ferrtable provides async Rust bindings for a subset of the
Airtable web API.
Notably, it allows records to be read from and written to arbitrary Rust types
that implement the Clone, serde::Deserialize, and serde::Serialize traits.
This crate follows in the footsteps of the airtable-api crate from Oxide Computer Company, which appears to have been archived and unmaintained since 2022. By comparison, Ferrtable aims to provide a more flexible and expressive client interface as well as greater control over paginated responses with the help of async streams.
Status: Work in Progress
Only a limited set of operations (e.g., creating and listing records) are currently supported. The goal is to implement coverage for at least the full set of non-enterprise API endpoints, but my initial emphasis is on getting a relatively small subset built and tested well.
Usage
use Error;
use *;
// Ferrtable allows us to use any record types that implement Clone,
// Deserialize, and Serialize.
async
Crate Release Process
Maintainers: Eventually the release process should be automated, but until CI runners are available for the repo, follow this checklist.
- Lint:
- Run integration tests:
- Run unit tests:
# At the time of this writing, nextest doesn't actually have anything to run,
# but it may in the future as tests are added outside of doc comments.
- Bump
versioninCargo.toml. - Update main package version in
ferrtable-testlockfile:
- Commit and push changes.
- Publish: