handset
The official Python SDK for Handset — the business phone API. Compliant two-way SMS, inbound voice, voicemail with transcripts, phone numbers, and 10DLC compliance for your platform's customers.
pip install handset
Quickstart
from handset import AuthenticatedClient
from handset.api.messaging import send_message
from handset.models import SendMessageBody
client = AuthenticatedClient(
base_url="https://api.handset.dev/v1",
token="hs_test_...", # test mode: simulated carrier, free numbers
)
message = send_message.sync(
client=client,
body=SendMessageBody(
from_="num_01kzv...", # one of your tenant's numbers
to="+14155550134",
body="Your technician is 15 minutes out.",
),
)
print(message.id, message.status) # msg_..., "queued"
Every endpoint lives under handset.api.<area> (messaging, voice,
phone_numbers, tenants, compliance, webhooks, usage) with sync,
sync_detailed, asyncio, and asyncio_detailed variants. All request and
response shapes are typed attrs models under handset.models.
Test mode
Every account ships parallel live and test keys. Test keys (hs_test_...)
run against a simulated carrier — numbers are free and instant, compliance
approves immediately, and magic numbers let you rehearse failures. Start
there.
Docs
- Guides: docs.handset.dev
- API reference: docs.handset.dev/api.html
- TypeScript SDK:
@handset/sdk
Questions: developers@handset.dev
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 handset-0.5.0.tar.gz.
File metadata
- Download URL: handset-0.5.0.tar.gz
- Upload date:
- Size: 40.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7199615fab849fb5fa3b8c6feccd418745a6b785cfc7833cd20891073cd3f1d
|
|
| MD5 |
49cfb32ae531be0197f2c334e6664b7b
|
|
| BLAKE2b-256 |
83c9bb269f30a57d1951a4611de2108792ac5ecd04aef71c18782eb7b4fad268
|
File details
Details for the file handset-0.5.0-py3-none-any.whl.
File metadata
- Download URL: handset-0.5.0-py3-none-any.whl
- Upload date:
- Size: 151.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddd943a742360f0e6e63b72188d3c50c46cf0f5503aa83b53c5bbc82bf827288
|
|
| MD5 |
ca9a1b5f759571e1a27e7f60836c3a2d
|
|
| BLAKE2b-256 |
ef6f64701fa7efcde7be0214425a6bdcda94101e5e2ada219dc0faf6f5d40f5d
|