Unofficial Python SDK for the Tally.so API
Project description
PyTally SDK
Unofficial Python SDK for the Tally.so API.
Overview
PyTally SDK is a lightweight, fully typed Python client for the Tally.so API. It provides a clean, Pythonic interface for authenticating, querying, and managing Tally resources -- without worrying about HTTP requests or pagination.
Implemented Resources
- Users
- Organizations
- Forms
- Workspaces
- Webhooks
- MCP
Installation
pip
pip install pytally-sdk
uv (recommended)
uv add pytally-sdk
Requirements:
Python ≥ 3.11
httpx (auto-installed)
Quick Start
from tally import Tally
client = Tally(api_key="tly_your_api_key_here")
user = client.users.me()
print(f"Hello, {user.full_name} ({user.email})")
With Context Manager
from tally import Tally
with Tally(api_key="tly_your_api_key_here") as client:
for form in client.forms:
print(f"{form.name} ({form.id})")
Webhooks — Example Usage
List Webhooks
from tally import Tally
client = Tally(api_key="tly_your_api_key_here")
# Get all webhooks
for webhook in client.webhooks:
print(f"{webhook.url} → enabled={webhook.is_enabled}")
Create a Webhook
from tally import Tally
client = Tally(api_key="tly_your_api_key_here")
webhook = client.webhooks.create(
url="https://your-app.com/webhooks/tally",
event_types=["FORM_RESPONSE"],
)
print(f"Webhook created: {webhook.id}")
For complete API usage, visit the 📘 Webhooks Reference.
Error Handling
from tally import Tally, UnauthorizedError, NotFoundError
client = Tally(api_key="tly_invalid")
try:
client.users.me()
except UnauthorizedError:
print("Invalid API key.")
except NotFoundError:
print("Resource not found.")
Documentation
👉 Full documentation and API reference available at: https://pytally-sdk.fa.dev.br
Development
Wanna help improve the SDK?
git clone https://github.com/felipeadeildo/pytally.git
cd pytally
uv sync
uv run mkdocs serve # preview docs locally
pre-commit install # install pre-commit hooks
🔗 Links
⚖️ License
Licensed under the Apache License 2.0.
Disclaimer This is an unofficial SDK and is not affiliated with or endorsed by Tally. “Tally” and the Tally logo are trademarks of Tally B.V.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytally_sdk-0.1.9.tar.gz.
File metadata
- Download URL: pytally_sdk-0.1.9.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f286874640672a70dcca55c5487d436b16a8e511d3566aa9094ebeef22b179da
|
|
| MD5 |
8025021081c6dc7db32acbc504456e0a
|
|
| BLAKE2b-256 |
8f4e573522a43c1ee30ae2ecea5d8ed0b60948aa0d095c4e7567755fd4ca2a3c
|
File details
Details for the file pytally_sdk-0.1.9-py3-none-any.whl.
File metadata
- Download URL: pytally_sdk-0.1.9-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d3738595d9f93fb5cdc91d7d3bc3e671c89f99f0b851dce60b936a4f15e9f06
|
|
| MD5 |
136d34cb012b6c1691ebd42f5f2d20a7
|
|
| BLAKE2b-256 |
5d75c31a66d6b58062e918d70a437778058870501ee0757150bf7a28e0f02027
|