# pyquickbase > An unofficial, typed Python SDK for the Quickbase API, with sync and async clients. pyquickbase is unofficial. It isn't affiliated with or endorsed by Quickbase, Inc. This describes version 1.0.0rc13. ## Docs - [All the docs in one file](https://matthew-williams-solutions.github.io/pyquickbase/llms-full.txt): Every page below as one Markdown document, including the API reference - [API reference: Quickbase](https://matthew-williams-solutions.github.io/pyquickbase/reference/quickbase.txt): Create and close a client, and call any endpoint, as Markdown, with parameters, return values, errors, and tested examples - [API reference: App](https://matthew-williams-solutions.github.io/pyquickbase/reference/app.txt): An app's details, its tables, and schema changes with a plan, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Table](https://matthew-williams-solutions.github.io/pyquickbase/reference/table.txt): Read and write records and files, and change a table's fields, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Report](https://matthew-williams-solutions.github.io/pyquickbase/reference/report.txt): Run reports built in the Quickbase interface, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Queries](https://matthew-williams-solutions.github.io/pyquickbase/reference/queries.txt): Build conditions with `F`, or from plain data, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Records and results](https://matthew-williams-solutions.github.io/pyquickbase/reference/records.txt): What reads and writes return, files, previews, and summaries, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Metadata](https://matthew-williams-solutions.github.io/pyquickbase/reference/metadata.txt): What describes apps, tables, fields, relationships, and reports, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Schema changes](https://matthew-williams-solutions.github.io/pyquickbase/reference/schema-changes.txt): The changes, and the plans that check them, as Markdown, with parameters, return values, errors, and tested examples - [API reference: SchemaOperation](https://matthew-williams-solutions.github.io/pyquickbase/reference/schema-operation.txt): One schema operation offered to a model, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Policies](https://matthew-williams-solutions.github.io/pyquickbase/reference/policies.txt): Write a policy, bind it, and ask what it allows, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Rules](https://matthew-williams-solutions.github.io/pyquickbase/reference/rules.txt): Allow, deny, and limit tables, fields, and rows, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Operation](https://matthew-williams-solutions.github.io/pyquickbase/reference/operation.txt): One table operation offered to a model, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Tools for models](https://matthew-williams-solutions.github.io/pyquickbase/reference/tools.txt): Results and errors as plain data for a tool call, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Errors](https://matthew-williams-solutions.github.io/pyquickbase/reference/errors.txt): Everything the SDK raises, and what each one holds, as Markdown, with parameters, return values, errors, and tested examples - [API reference: Retries](https://matthew-williams-solutions.github.io/pyquickbase/reference/retries.txt): How a client retries rate limits and failed connections, as Markdown, with parameters, return values, errors, and tested examples - [Home](https://matthew-williams-solutions.github.io/pyquickbase/): What the SDK is, why to use it, and how to install it ## Guides - [Getting started](https://matthew-williams-solutions.github.io/pyquickbase/getting-started/): Install it, read some records, and write one - [Reading records](https://matthew-williams-solutions.github.io/pyquickbase/guides/reading/): Tables, fields, queries with `F`, paging, record values, reports, DataFrames, and what each refusal raises - [Writing records](https://matthew-williams-solutions.github.io/pyquickbase/guides/writing/): Inserts, updates, upserts, deletes, DataFrames, previews, rows that fail, and what each refusal leaves behind - [File attachments](https://matthew-williams-solutions.github.io/pyquickbase/guides/files/): Uploading, downloading, and deleting file attachments - [CSV and Excel files](https://matthew-williams-solutions.github.io/pyquickbase/guides/spreadsheets/): Exporting records to CSV and Excel, and importing a file's rows with each value checked - [Formulas](https://matthew-williams-solutions.github.io/pyquickbase/guides/formulas/): Running formulas and creating formula fields, and why not to run formula text you don't control - [Changing the schema](https://matthew-williams-solutions.github.io/pyquickbase/guides/schema/): Creating and changing tables, fields, relationships, lookups, and summaries, where fields are used, and what each refusal leaves behind - [Working with apps](https://matthew-williams-solutions.github.io/pyquickbase/guides/apps/): Creating, copying, and deleting apps, and the webhooks and automations that run in one - [Handling errors](https://matthew-williams-solutions.github.io/pyquickbase/guides/errors/): Every exception, and which ones mean a request wasn't sent - [Configuring clients](https://matthew-williams-solutions.github.io/pyquickbase/guides/clients/): Sync or async, tokens, retries, proxies, and other settings ## AI agents - [Using pyquickbase from an AI agent](https://matthew-williams-solutions.github.io/pyquickbase/agents/): Limiting what an agent can do, and why the token is the real boundary - [Untrusted input](https://matthew-williams-solutions.github.io/pyquickbase/agents/untrusted-input/): Values and filters that come from a model - [Giving a model operations](https://matthew-williams-solutions.github.io/pyquickbase/agents/operations/): Giving a model typed operations on tables, reports, and schemas - [Results and errors](https://matthew-williams-solutions.github.io/pyquickbase/agents/results/): Returning results and errors to a model, links, and counts - [Previews and schema changes](https://matthew-williams-solutions.github.io/pyquickbase/agents/changes/): Previews before writes, and schema changes from an agent ## Policies - [Policies](https://matthew-williams-solutions.github.io/pyquickbase/policies/): What a policy is, how it decides, and read-only clients - [Your first policy](https://matthew-williams-solutions.github.io/pyquickbase/policies/tutorial/): Building a policy for an agent step by step - [Writing rules](https://matthew-williams-solutions.github.io/pyquickbase/policies/rules/): Allowing and refusing reads and writes by table and field - [Classes and new fields](https://matthew-williams-solutions.github.io/pyquickbase/policies/classes/): Groups of fields, formulas that read them, and new fields - [Limiting rows](https://matthew-williams-solutions.github.io/pyquickbase/policies/rows/): Keeping a client to some records - [Schema changes](https://matthew-williams-solutions.github.io/pyquickbase/policies/schema/): Allowing schema changes table by table - [Rules of your own](https://matthew-williams-solutions.github.io/pyquickbase/policies/custom-rules/): Refusing requests with logic of your own - [Debugging refusals](https://matthew-williams-solutions.github.io/pyquickbase/policies/debugging/): Reading refusals, and asking a policy what it allows - [Recipes](https://matthew-williams-solutions.github.io/pyquickbase/policies/recipes/): Complete policies for common jobs - [What a policy doesn't do](https://matthew-williams-solutions.github.io/pyquickbase/policies/limits/): What a policy can't protect against ## Reference - [Overview](https://matthew-williams-solutions.github.io/pyquickbase/reference/): An overview of the API reference, with where to find every public name - [Field types](https://matthew-williams-solutions.github.io/pyquickbase/field-types/): Every field type, what to write, what it reads as, and field settings ## Project - [Stability and versioning](https://matthew-williams-solutions.github.io/pyquickbase/stability/): What 1.x promises, and what it doesn't - [Quickbase API notes](https://matthew-williams-solutions.github.io/pyquickbase/api-notes/): How Quickbase's REST API behaves, as confirmed against a live app - [Changelog](https://matthew-williams-solutions.github.io/pyquickbase/changelog/): What changed in each release