diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-21 09:31:32 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-21 09:31:32 +0000 |
commit | 76998b2ca64773b657702fb77785904dee99981d (patch) | |
tree | 6a15994c83ade9ba913be7aa014658f8744e1635 | |
parent | 49f836a2bf4357d7a1c23afa0bdceaba9bb81f57 (diff) |
automatic import of python-twilioopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-twilio.spec | 441 | ||||
-rw-r--r-- | sources | 2 |
3 files changed, 300 insertions, 144 deletions
@@ -1,2 +1,3 @@ /twilio-7.16.5.tar.gz /twilio-8.0.0.tar.gz +/twilio-8.1.0.tar.gz diff --git a/python-twilio.spec b/python-twilio.spec index dc76bcf..34d290e 100644 --- a/python-twilio.spec +++ b/python-twilio.spec @@ -1,17 +1,16 @@ %global _empty_manifest_terminate_build 0 Name: python-twilio -Version: 8.0.0 +Version: 8.1.0 Release: 1 Summary: Twilio API client and TwiML generator License: MIT License URL: https://github.com/twilio/twilio-python/ -Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bb/2d/f89b714e176b470173bda0e1d90d9ffff4d4838281b35c08fad15728ea9b/twilio-8.0.0.tar.gz +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7d/96/21192c1e035869a53a909bf6f7b78d0664c9680cfe5be2bb8e965c7e664c/twilio-8.1.0.tar.gz BuildArch: noarch Requires: python3-pytz Requires: python3-requests Requires: python3-PyJWT -Requires: python3-asyncio Requires: python3-aiohttp Requires: python3-aiohttp-retry @@ -33,68 +32,101 @@ The Python library documentation can be found [here][libdocs]. `twilio-python` uses a modified version of [Semantic Versioning](https://semver.org) for all changes. [See this document](VERSIONS.md) for details. -### Migrating from 5.x - -Please consult the [official migration guide](https://www.twilio.com/docs/libraries/python/migration-guide) for information on upgrading your application using twilio-python 5.x to 6.x - ### Supported Python Versions This library supports the following Python implementations: -* Python 3.7 -* Python 3.8 -* Python 3.9 -* Python 3.10 -* Python 3.11 +- Python 3.7 +- Python 3.8 +- Python 3.9 +- Python 3.10 +- Python 3.11 ## Installation Install from PyPi using [pip](https://pip.pypa.io/en/latest/), a package manager for Python. - pip install twilio +```shell +pip3 install twilio +``` If pip install fails on Windows, check the path length of the directory. If it is greater 260 characters then enable [Long Paths](https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation) or choose other shorter location. Don't have pip installed? Try installing it, by running this from the command line: - $ curl https://bootstrap.pypa.io/get-pip.py | python +```shell +curl https://bootstrap.pypa.io/get-pip.py | python +``` Or, you can [download the source code -(ZIP)](https://github.com/twilio/twilio-python/zipball/main "twilio-python -source code") for `twilio-python`, and then run: +(ZIP)](https://github.com/twilio/twilio-python/zipball/main 'twilio-python +source code') for `twilio-python`, and then run: + +```shell +python3 setup.py install +``` + +> **Info** +> If the command line gives you an error message that says Permission Denied, try running the above commands with `sudo` (e.g., `sudo pip3 install twilio`). + +### Test your installation + +Try sending yourself an SMS message. Save the following code sample to your computer with a text editor. Be sure to update the `account_sid`, `auth_token`, and `from_` phone number with values from your [Twilio account](https://console.twilio.com). The `to` phone number will be your own mobile phone. + +```python +from twilio.rest import Client + +# Your Account SID and Auth Token from console.twilio.com +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" + +client = Client(account_sid, auth_token) + +message = client.messages.create( + to="+15558675309", + from_="+15017250604", + body="Hello from Python!") - python setup.py install +print(message.sid) +``` + +Save the file as `send_sms.py`. In the terminal, `cd` to the directory containing the file you just saved then run: + +```shell +python3 send_sms.py +``` -You may need to run the above commands with `sudo`. +After a brief delay, you will receive the text message on your phone. -## Getting Started +> **Warning** +> It's okay to hardcode your credentials when testing locally, but you should use environment variables to keep them secret before committing any code or deploying to production. Check out [How to Set Environment Variables](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html) for more information. -Getting started with the Twilio API couldn't be easier. Create a -`Client` and you're ready to go. +## Use the helper library ### API Credentials -The `Twilio` client needs your Twilio credentials. You can either pass these -directly to the constructor (see the code below) or via environment variables. +The `Twilio` client needs your Twilio credentials. You can either pass these directly to the constructor (see the code below) or via environment variables. Authenticating with Account SID and Auth Token: + ```python from twilio.rest import Client -account_sid = "ACXXXXXXXXXXXXXXXXX" -auth_token = "YYYYYYYYYYYYYYYYYY" +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" client = Client(account_sid, auth_token) ``` Authenticating with API Key and API Secret: + ```python from twilio.rest import Client api_key = "XXXXXXXXXXXXXXXXX" api_secret = "YYYYYYYYYYYYYYYYYY" -account_sid = "ACXXXXXXXXXXXXXXXXX" +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" client = Client(api_key, api_secret, account_sid) ``` @@ -106,7 +138,6 @@ We suggest storing your credentials as environment variables. Why? You'll never have to worry about committing your credentials and accidentally posting them somewhere public. - ```python from twilio.rest import Client client = Client() @@ -121,7 +152,8 @@ from twilio.rest import Client client = Client(region='au1', edge='sydney') ``` -A `Client` constructor without these parameters will also look for `TWILIO_REGION` and `TWILIO_EDGE` variables inside the current environment. + +A `Client` constructor without these parameters will also look for `TWILIO_REGION` and `TWILIO_EDGE` variables inside the current environment. Alternatively, you may specify the edge and/or region after constructing the Twilio client: @@ -140,9 +172,9 @@ This will result in the `hostname` transforming from `api.twilio.com` to `api.sy ```python from twilio.rest import Client -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) call = client.calls.create(to="9991231234", from_="9991231234", @@ -150,17 +182,36 @@ call = client.calls.create(to="9991231234", print(call.sid) ``` -### Send an SMS +### Get data about an existing call ```python from twilio.rest import Client -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) -message = client.messages.create(to="+12316851234", from_="+15555555555", - body="Hello there!") +call = client.calls.get("CA42ed11f93dc08b952027ffbc406d0868") +print(call.to) +``` + +### Iterate through records + +The library automatically handles paging for you. Collections, such as `calls` and `messages`, have `list` and `stream` methods that page under the hood. With both `list` and `stream`, you can specify the number of records you want to receive (`limit`) and the maximum size you want each page fetch to be (`page_size`). The library will then handle the task for you. + +`list` eagerly fetches all records and returns them as a list, whereas `stream` returns an iterator and lazily retrieves pages of records as you iterate over the collection. You can also page manually using the `page` method. + +#### Use the `list` method + +```python +from twilio.rest import Client + +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) + +for sms in client.messages.list(): + print(sms.to) ``` ### Asynchronous API Requests @@ -172,10 +223,10 @@ from twilio.http.async_http_client import AsyncTwilioHttpClient from twilio.rest import Client async def main(): - username = "ACXXXXXXXXXXXXXXXXX" - password = "YYYYYYYYYYYYYYYYYY" + account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + auth_token = "your_auth_token" http_client = AsyncTwilioHttpClient() - client = Client(username, password, http_client=http_client) + client = Client(account_sid, auth_token, http_client=http_client) message = await client.messages.create_async(to="+12316851234", from_="+15555555555", body="Hello there!") @@ -190,7 +241,7 @@ Log the API request and response data to the console: ```python import logging -client = Client(username, password) +client = Client(account_sid, auth_token) logging.basicConfig() client.http_client.logger.setLevel(logging.INFO) ``` @@ -200,20 +251,22 @@ Log the API request and response data to a file: ```python import logging -client = Client(username, password) +client = Client(account_sid, auth_token) logging.basicConfig(filename='./log.txt') client.http_client.logger.setLevel(logging.INFO) ``` ### Handling Exceptions +Version 8.x of `twilio-python` exports an exception class to help you handle exceptions that are specific to Twilio methods. To use it, import `TwilioRestException` and catch exceptions as follows: + ```python from twilio.rest import Client from twilio.base.exceptions import TwilioRestException -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) try: message = client.messages.create(to="+12316851234", from_="+15555555555", @@ -222,8 +275,6 @@ except TwilioRestException as e: print(e) ``` -For more descriptive exception types, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/python/usage-guide#exceptions). - ### Generating TwiML To control phone calls, your application needs to output [TwiML][twiml]. @@ -243,9 +294,9 @@ print(str(r)) <Response><Say>Welcome to twilio!</Say></Response> ``` -### Using a Custom HTTP Client +### Other advanced examples -To use a custom HTTP client with this helper library, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/python/custom-http-clients-python). +- [Learn how to create your own custom HTTP client](./advanced-examples/custom-http-client.md) ### Docker Image @@ -286,68 +337,101 @@ The Python library documentation can be found [here][libdocs]. `twilio-python` uses a modified version of [Semantic Versioning](https://semver.org) for all changes. [See this document](VERSIONS.md) for details. -### Migrating from 5.x - -Please consult the [official migration guide](https://www.twilio.com/docs/libraries/python/migration-guide) for information on upgrading your application using twilio-python 5.x to 6.x - ### Supported Python Versions This library supports the following Python implementations: -* Python 3.7 -* Python 3.8 -* Python 3.9 -* Python 3.10 -* Python 3.11 +- Python 3.7 +- Python 3.8 +- Python 3.9 +- Python 3.10 +- Python 3.11 ## Installation Install from PyPi using [pip](https://pip.pypa.io/en/latest/), a package manager for Python. - pip install twilio +```shell +pip3 install twilio +``` If pip install fails on Windows, check the path length of the directory. If it is greater 260 characters then enable [Long Paths](https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation) or choose other shorter location. Don't have pip installed? Try installing it, by running this from the command line: - $ curl https://bootstrap.pypa.io/get-pip.py | python +```shell +curl https://bootstrap.pypa.io/get-pip.py | python +``` Or, you can [download the source code -(ZIP)](https://github.com/twilio/twilio-python/zipball/main "twilio-python -source code") for `twilio-python`, and then run: +(ZIP)](https://github.com/twilio/twilio-python/zipball/main 'twilio-python +source code') for `twilio-python`, and then run: - python setup.py install +```shell +python3 setup.py install +``` -You may need to run the above commands with `sudo`. +> **Info** +> If the command line gives you an error message that says Permission Denied, try running the above commands with `sudo` (e.g., `sudo pip3 install twilio`). -## Getting Started +### Test your installation -Getting started with the Twilio API couldn't be easier. Create a -`Client` and you're ready to go. +Try sending yourself an SMS message. Save the following code sample to your computer with a text editor. Be sure to update the `account_sid`, `auth_token`, and `from_` phone number with values from your [Twilio account](https://console.twilio.com). The `to` phone number will be your own mobile phone. + +```python +from twilio.rest import Client + +# Your Account SID and Auth Token from console.twilio.com +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" + +client = Client(account_sid, auth_token) + +message = client.messages.create( + to="+15558675309", + from_="+15017250604", + body="Hello from Python!") + +print(message.sid) +``` + +Save the file as `send_sms.py`. In the terminal, `cd` to the directory containing the file you just saved then run: + +```shell +python3 send_sms.py +``` + +After a brief delay, you will receive the text message on your phone. + +> **Warning** +> It's okay to hardcode your credentials when testing locally, but you should use environment variables to keep them secret before committing any code or deploying to production. Check out [How to Set Environment Variables](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html) for more information. + +## Use the helper library ### API Credentials -The `Twilio` client needs your Twilio credentials. You can either pass these -directly to the constructor (see the code below) or via environment variables. +The `Twilio` client needs your Twilio credentials. You can either pass these directly to the constructor (see the code below) or via environment variables. Authenticating with Account SID and Auth Token: + ```python from twilio.rest import Client -account_sid = "ACXXXXXXXXXXXXXXXXX" -auth_token = "YYYYYYYYYYYYYYYYYY" +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" client = Client(account_sid, auth_token) ``` Authenticating with API Key and API Secret: + ```python from twilio.rest import Client api_key = "XXXXXXXXXXXXXXXXX" api_secret = "YYYYYYYYYYYYYYYYYY" -account_sid = "ACXXXXXXXXXXXXXXXXX" +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" client = Client(api_key, api_secret, account_sid) ``` @@ -359,7 +443,6 @@ We suggest storing your credentials as environment variables. Why? You'll never have to worry about committing your credentials and accidentally posting them somewhere public. - ```python from twilio.rest import Client client = Client() @@ -374,7 +457,8 @@ from twilio.rest import Client client = Client(region='au1', edge='sydney') ``` -A `Client` constructor without these parameters will also look for `TWILIO_REGION` and `TWILIO_EDGE` variables inside the current environment. + +A `Client` constructor without these parameters will also look for `TWILIO_REGION` and `TWILIO_EDGE` variables inside the current environment. Alternatively, you may specify the edge and/or region after constructing the Twilio client: @@ -393,9 +477,9 @@ This will result in the `hostname` transforming from `api.twilio.com` to `api.sy ```python from twilio.rest import Client -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) call = client.calls.create(to="9991231234", from_="9991231234", @@ -403,17 +487,36 @@ call = client.calls.create(to="9991231234", print(call.sid) ``` -### Send an SMS +### Get data about an existing call + +```python +from twilio.rest import Client + +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) + +call = client.calls.get("CA42ed11f93dc08b952027ffbc406d0868") +print(call.to) +``` + +### Iterate through records + +The library automatically handles paging for you. Collections, such as `calls` and `messages`, have `list` and `stream` methods that page under the hood. With both `list` and `stream`, you can specify the number of records you want to receive (`limit`) and the maximum size you want each page fetch to be (`page_size`). The library will then handle the task for you. + +`list` eagerly fetches all records and returns them as a list, whereas `stream` returns an iterator and lazily retrieves pages of records as you iterate over the collection. You can also page manually using the `page` method. + +#### Use the `list` method ```python from twilio.rest import Client -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) -message = client.messages.create(to="+12316851234", from_="+15555555555", - body="Hello there!") +for sms in client.messages.list(): + print(sms.to) ``` ### Asynchronous API Requests @@ -425,10 +528,10 @@ from twilio.http.async_http_client import AsyncTwilioHttpClient from twilio.rest import Client async def main(): - username = "ACXXXXXXXXXXXXXXXXX" - password = "YYYYYYYYYYYYYYYYYY" + account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + auth_token = "your_auth_token" http_client = AsyncTwilioHttpClient() - client = Client(username, password, http_client=http_client) + client = Client(account_sid, auth_token, http_client=http_client) message = await client.messages.create_async(to="+12316851234", from_="+15555555555", body="Hello there!") @@ -443,7 +546,7 @@ Log the API request and response data to the console: ```python import logging -client = Client(username, password) +client = Client(account_sid, auth_token) logging.basicConfig() client.http_client.logger.setLevel(logging.INFO) ``` @@ -453,20 +556,22 @@ Log the API request and response data to a file: ```python import logging -client = Client(username, password) +client = Client(account_sid, auth_token) logging.basicConfig(filename='./log.txt') client.http_client.logger.setLevel(logging.INFO) ``` ### Handling Exceptions +Version 8.x of `twilio-python` exports an exception class to help you handle exceptions that are specific to Twilio methods. To use it, import `TwilioRestException` and catch exceptions as follows: + ```python from twilio.rest import Client from twilio.base.exceptions import TwilioRestException -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) try: message = client.messages.create(to="+12316851234", from_="+15555555555", @@ -475,8 +580,6 @@ except TwilioRestException as e: print(e) ``` -For more descriptive exception types, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/python/usage-guide#exceptions). - ### Generating TwiML To control phone calls, your application needs to output [TwiML][twiml]. @@ -496,9 +599,9 @@ print(str(r)) <Response><Say>Welcome to twilio!</Say></Response> ``` -### Using a Custom HTTP Client +### Other advanced examples -To use a custom HTTP client with this helper library, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/python/custom-http-clients-python). +- [Learn how to create your own custom HTTP client](./advanced-examples/custom-http-client.md) ### Docker Image @@ -536,68 +639,101 @@ The Python library documentation can be found [here][libdocs]. `twilio-python` uses a modified version of [Semantic Versioning](https://semver.org) for all changes. [See this document](VERSIONS.md) for details. -### Migrating from 5.x - -Please consult the [official migration guide](https://www.twilio.com/docs/libraries/python/migration-guide) for information on upgrading your application using twilio-python 5.x to 6.x - ### Supported Python Versions This library supports the following Python implementations: -* Python 3.7 -* Python 3.8 -* Python 3.9 -* Python 3.10 -* Python 3.11 +- Python 3.7 +- Python 3.8 +- Python 3.9 +- Python 3.10 +- Python 3.11 ## Installation Install from PyPi using [pip](https://pip.pypa.io/en/latest/), a package manager for Python. - pip install twilio +```shell +pip3 install twilio +``` If pip install fails on Windows, check the path length of the directory. If it is greater 260 characters then enable [Long Paths](https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation) or choose other shorter location. Don't have pip installed? Try installing it, by running this from the command line: - $ curl https://bootstrap.pypa.io/get-pip.py | python +```shell +curl https://bootstrap.pypa.io/get-pip.py | python +``` Or, you can [download the source code -(ZIP)](https://github.com/twilio/twilio-python/zipball/main "twilio-python -source code") for `twilio-python`, and then run: +(ZIP)](https://github.com/twilio/twilio-python/zipball/main 'twilio-python +source code') for `twilio-python`, and then run: + +```shell +python3 setup.py install +``` + +> **Info** +> If the command line gives you an error message that says Permission Denied, try running the above commands with `sudo` (e.g., `sudo pip3 install twilio`). - python setup.py install +### Test your installation -You may need to run the above commands with `sudo`. +Try sending yourself an SMS message. Save the following code sample to your computer with a text editor. Be sure to update the `account_sid`, `auth_token`, and `from_` phone number with values from your [Twilio account](https://console.twilio.com). The `to` phone number will be your own mobile phone. -## Getting Started +```python +from twilio.rest import Client -Getting started with the Twilio API couldn't be easier. Create a -`Client` and you're ready to go. +# Your Account SID and Auth Token from console.twilio.com +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" + +client = Client(account_sid, auth_token) + +message = client.messages.create( + to="+15558675309", + from_="+15017250604", + body="Hello from Python!") + +print(message.sid) +``` + +Save the file as `send_sms.py`. In the terminal, `cd` to the directory containing the file you just saved then run: + +```shell +python3 send_sms.py +``` + +After a brief delay, you will receive the text message on your phone. + +> **Warning** +> It's okay to hardcode your credentials when testing locally, but you should use environment variables to keep them secret before committing any code or deploying to production. Check out [How to Set Environment Variables](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html) for more information. + +## Use the helper library ### API Credentials -The `Twilio` client needs your Twilio credentials. You can either pass these -directly to the constructor (see the code below) or via environment variables. +The `Twilio` client needs your Twilio credentials. You can either pass these directly to the constructor (see the code below) or via environment variables. Authenticating with Account SID and Auth Token: + ```python from twilio.rest import Client -account_sid = "ACXXXXXXXXXXXXXXXXX" -auth_token = "YYYYYYYYYYYYYYYYYY" +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" client = Client(account_sid, auth_token) ``` Authenticating with API Key and API Secret: + ```python from twilio.rest import Client api_key = "XXXXXXXXXXXXXXXXX" api_secret = "YYYYYYYYYYYYYYYYYY" -account_sid = "ACXXXXXXXXXXXXXXXXX" +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" client = Client(api_key, api_secret, account_sid) ``` @@ -609,7 +745,6 @@ We suggest storing your credentials as environment variables. Why? You'll never have to worry about committing your credentials and accidentally posting them somewhere public. - ```python from twilio.rest import Client client = Client() @@ -624,7 +759,8 @@ from twilio.rest import Client client = Client(region='au1', edge='sydney') ``` -A `Client` constructor without these parameters will also look for `TWILIO_REGION` and `TWILIO_EDGE` variables inside the current environment. + +A `Client` constructor without these parameters will also look for `TWILIO_REGION` and `TWILIO_EDGE` variables inside the current environment. Alternatively, you may specify the edge and/or region after constructing the Twilio client: @@ -643,9 +779,9 @@ This will result in the `hostname` transforming from `api.twilio.com` to `api.sy ```python from twilio.rest import Client -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) call = client.calls.create(to="9991231234", from_="9991231234", @@ -653,17 +789,36 @@ call = client.calls.create(to="9991231234", print(call.sid) ``` -### Send an SMS +### Get data about an existing call ```python from twilio.rest import Client -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) -message = client.messages.create(to="+12316851234", from_="+15555555555", - body="Hello there!") +call = client.calls.get("CA42ed11f93dc08b952027ffbc406d0868") +print(call.to) +``` + +### Iterate through records + +The library automatically handles paging for you. Collections, such as `calls` and `messages`, have `list` and `stream` methods that page under the hood. With both `list` and `stream`, you can specify the number of records you want to receive (`limit`) and the maximum size you want each page fetch to be (`page_size`). The library will then handle the task for you. + +`list` eagerly fetches all records and returns them as a list, whereas `stream` returns an iterator and lazily retrieves pages of records as you iterate over the collection. You can also page manually using the `page` method. + +#### Use the `list` method + +```python +from twilio.rest import Client + +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) + +for sms in client.messages.list(): + print(sms.to) ``` ### Asynchronous API Requests @@ -675,10 +830,10 @@ from twilio.http.async_http_client import AsyncTwilioHttpClient from twilio.rest import Client async def main(): - username = "ACXXXXXXXXXXXXXXXXX" - password = "YYYYYYYYYYYYYYYYYY" + account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + auth_token = "your_auth_token" http_client = AsyncTwilioHttpClient() - client = Client(username, password, http_client=http_client) + client = Client(account_sid, auth_token, http_client=http_client) message = await client.messages.create_async(to="+12316851234", from_="+15555555555", body="Hello there!") @@ -693,7 +848,7 @@ Log the API request and response data to the console: ```python import logging -client = Client(username, password) +client = Client(account_sid, auth_token) logging.basicConfig() client.http_client.logger.setLevel(logging.INFO) ``` @@ -703,20 +858,22 @@ Log the API request and response data to a file: ```python import logging -client = Client(username, password) +client = Client(account_sid, auth_token) logging.basicConfig(filename='./log.txt') client.http_client.logger.setLevel(logging.INFO) ``` ### Handling Exceptions +Version 8.x of `twilio-python` exports an exception class to help you handle exceptions that are specific to Twilio methods. To use it, import `TwilioRestException` and catch exceptions as follows: + ```python from twilio.rest import Client from twilio.base.exceptions import TwilioRestException -username = "ACXXXXXXXXXXXXXXXXX" -password = "YYYYYYYYYYYYYYYYYY" -client = Client(username, password) +account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +auth_token = "your_auth_token" +client = Client(account_sid, auth_token) try: message = client.messages.create(to="+12316851234", from_="+15555555555", @@ -725,8 +882,6 @@ except TwilioRestException as e: print(e) ``` -For more descriptive exception types, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/python/usage-guide#exceptions). - ### Generating TwiML To control phone calls, your application needs to output [TwiML][twiml]. @@ -746,9 +901,9 @@ print(str(r)) <Response><Say>Welcome to twilio!</Say></Response> ``` -### Using a Custom HTTP Client +### Other advanced examples -To use a custom HTTP client with this helper library, please see the [Twilio documentation](https://www.twilio.com/docs/libraries/python/custom-http-clients-python). +- [Learn how to create your own custom HTTP client](./advanced-examples/custom-http-client.md) ### Docker Image @@ -766,7 +921,7 @@ If you've instead found a bug in the library or would like new features added, g %prep -%autosetup -n twilio-8.0.0 +%autosetup -n twilio-8.1.0 %build %py3_build @@ -806,5 +961,5 @@ mv %{buildroot}/doclist.lst . %{_docdir}/* %changelog -* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 8.0.0-1 +* Fri Apr 21 2023 Python_Bot <Python_Bot@openeuler.org> - 8.1.0-1 - Package Spec generated @@ -1 +1 @@ -c59d5e39b400de8fbcd38f471a9b97d9 twilio-8.0.0.tar.gz +82cc223de80f7a7891d0ceef947f9f4c twilio-8.1.0.tar.gz |