azure-communication-sms
Microsoft Azure Communication SMS Client Library for Python
What it is and what it does
This package is a Python client library for Azure Communication Services SMS functionality. It wraps the Azure REST API to let you send SMS messages from your application, either to individual recipients or in bulk to multiple phone numbers. The library handles authentication via connection strings or Azure Active Directory, manages the HTTP communication with Azure's backend, and returns structured responses indicating success or failure for each message.
You initialize a client with your Azure credentials, then call the send method with source and destination phone numbers, message text, and optional parameters like delivery reporting and custom tags. The library depends on azure-core for common Azure SDK patterns, msrest for HTTP handling, and typing-extensions for type hints. It's designed for applications that need to integrate SMS notifications, alerts, or two-factor authentication into their workflow.
Use it for:
- Send SMS-based two-factor authentication codes during user login or account verification.
- Deliver bulk notification messages to multiple customers about order status, appointments, or service alerts.
- Trigger transactional SMS alerts for system events, outages, or critical monitoring thresholds.
- Send SMS reminders for appointments, reservations, or scheduled events to end users.
- Enable SMS-based customer support workflows where users can receive responses via text message.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Sends SMS messages through Azure Communication Services, supporting both single and bulk recipient messaging with optional delivery reporting and custom tagging.
Yes, if you are already using Azure Communication Services and need SMS capability in Python. The package is actively maintained, has no known vulnerabilities, supports current Python versions, and integrates cleanly into the Azure SDK ecosystem. Install only if you have an Azure subscription and a provisioned Communication Services resource; it is not useful as a standalone SMS library.
Install
azure-communication-sms on PyPI
pip
pip install azure-communication-smsuv
uv add azure-communication-smspoetry
poetry add azure-communication-smsInstalling azure-communication-sms
Before you install
Low install friction with a pure-Python wheel distribution. Maintained actively as part of the Azure SDK ecosystem with recent commits and stable production status.
License in practice
MIT License permits commercial and private use with minimal restrictions, making it suitable for most projects without licensing concerns.
Quickstart
pip install azure-communication-sms
from azure.communication.sms import SmsClient
connection_str = "endpoint=ENDPOINT;accessKey=KEY"
sms_client = SmsClient.from_connection_string(connection_str)
sms_responses = sms_client.send(from_="<from-phone-number>", to="<to-phone-number>", message="Hello")
Requires Python 3.8 or later and a deployed Azure Communication Services resource with a configured phone number.
Verify before relying
- Whether delivery reporting incurs additional Azure charges beyond base SMS costs.
- Rate limits or throttling behavior for bulk SMS operations.
- Retry and timeout behavior for failed send attempts.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — azure-core, msrest, typing-extensions |
| Maintenance | actively maintained — 680 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 402,357/month — #6,920 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: azure_communication_sms-1.1.0-py3-none-any.whl
Keywords: azure, azure sdk
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
azure-communication-phonenumbersManages Azure Communication Services phone…
permissive · top 15,000 on PyPI
smpplibSMPP protocol client library for sending and…
copyleft · top 15,000 on PyPI
smsapi-clientA Python client library for sending SMS…
permissive · top 15,000 on PyPI
clx-sdk-xmsPython SDK for the CLX Communications REST API…
permissive · top 15,000 on PyPI
twilioPython client library for the Twilio API that…
permissive · top 5,000 on PyPI
vonage-smsSends SMS messages via Vonage's API and handles…
permissive · top 15,000 on PyPI
africastalkingProvides Python access to Africa's Talking APIs…
permissive · top 15,000 on PyPI
azure-communication-chatPython SDK for Azure Communication Services…
permissive · top 15,000 on PyPI
azure-communication-identityCreates and manages user identities and access…
permissive · top 15,000 on PyPI
telesignTeleSign SDK provides Python bindings to send…
permissive · top 15,000 on PyPI