Python client for the Airtable API.
pip install pyairtable
Read the full documentation on pyairtable.readthedocs.io.
If you're still using airtable-python-wrapper and want to upgrade, read the migration guide.
Everyone who has an idea or suggestion is welcome to contribute! As maintainers, we expect our community of users and contributors to adhere to the guidelines and expectations set forth in the Contributor Covenant. Be kind and empathetic, respect differing opinions, and stay focused on what is best for the community.
If it's your first time working on this library, clone the repo, set up pre-commit hooks, and make sure you can run tests (and they pass). If that doesn't work out of the box, please check your local development environment before filing an issue.
% make setup
% tox
We encourage anyone to submit an issue to let us know about bugs, as long as you've followed these steps:
- Confirm you're on the latest version of the library and you can run the test suite locally.
- Check open issues to see if someone else has already reported it.
- Provide as much context as possible, i.e. expected vs. actual behavior, steps to reproduce, and runtime environment.
- If possible, reproduce the problem in a small example that you can share in the issue summary.
We ask that you never report security vulnerabilities to the GitHub issue tracker. Sensitive issues of this nature must be sent directly to the maintainers via email.
Anyone who uses this library is welcome to submit a pull request for a bug fix or a new feature. We do ask that all pull requests adhere to the following guidelines:
- Public functions/methods have docstrings and type annotations.
- New functionality is accompanied by clear, descriptive unit tests.
- You can run
make test && make docs
successfully.
If you have an enterprise API key that can run end-to-end tests, please also run env AIRTABLE_API_KEY=... make test-e2e
.
If you want to discuss an idea you're working on but haven't yet finished all of the above, please open a draft pull request. That will be a clear signal that you're not asking to merge your code (yet) and are just looking for discussion or feedback.
Thanks in advance for sharing your ideas!