Skip to content

airtable

AirTableBackend

Bases: BaseSettings, BackendBase

availabilities_column: str instance-attribute

availabilities_table_name: str instance-attribute

availability_subject_column: str instance-attribute

client_id: SecretStr = Field(..., validation_alias='AIRTABLE_BASE_ID') class-attribute instance-attribute

client_secret: SecretStr = Field(..., validation_alias='AIRTABLE_API_KEY') class-attribute instance-attribute

exclusions_subject_columns: Annotated[Iterable[str], 2] instance-attribute

exclusions_table_name: str instance-attribute

model_config = SettingsConfigDict(case_sensitive=False, env_prefix='SWPAT_') class-attribute instance-attribute

subject_features: list[str] instance-attribute

subjects_table_name: str instance-attribute

get_availabilities(formula: str | None = None) -> pd.DataFrame

get_exclusions(formula: str | None = None) -> pd.DataFrame

get_subjects(formula: str | None = None) -> pd.DataFrame

AirtableRecord

Bases: BaseModel

created_timestamp: PastDatetime = Field(alias='createdTime') class-attribute instance-attribute

record_fields: dict = Field(alias='fields') class-attribute instance-attribute

record_id: str = Field(alias='id') class-attribute instance-attribute

AirtableResponse

Bases: BaseModel

records: list[AirtableRecord] instance-attribute

iter_records() -> Iterator[dict]

to_pandas() -> pd.DataFrame