Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now
Build the future of communications.
Start building for free

Python posts

  • By Miguel Grinberg
    How to Verify Phone Numbers in a Django Application with Twilio Verify How to Verify Phone Numbers in a Django Application with Twilio Verify

    When building a user registration and authentication system for your web application, you run the risk of not properly detecting fake or duplicate accounts. A very effective way to reduce this risk is to require users to verify their accounts right after they register.

    In this tutorial I’m going to show you how to extend the Django authentication system to include an SMS verification step in the user registration flow, using the Twilio Verify service. Among other things, you will learn how to:

    • Customize the user database model
    • Ask for additional information in the user registration page
    • Send and check SMS verification codes with the Twilio Verify service
    • Prevent access to parts of the application to users that haven’t verified their accounts

    Project demonstration

    Ready to begin? Let’s go!

    Prerequisites

    To follow this tutorial you need the following items:

    • Python 3.6 or newer. If your operating system does not provide a Python …
    Read More
  • By Miguel Grinberg
    Pythonで環境変数を活用する environment-variables-python

    この記事はMiguel Grinbergが執筆したこちらの記事(英語)を日本語訳したものです。

    Pythonアプリケーションを構成する際は、環境変数を使用すると非常に便利です。構成を変更する場合に、ソースコードを編集する必要がなくなります。一般的な構成アイテムのうち、環境変数を使用してアプリケーションに渡すことが多いものとしては、サードパーティのAPIキーやネットワークポート、データベースサーバー、アプリケーションの正常な動作に必要なカスタムオプションなどがあります。

    この記事では、Pythonで環境変数を使用するためのテクニックやツールを紹介します。

    Pythonから環境変数にアクセスする方法

    os.environ辞書を使用する

    Pythonでは、os.environ辞書がすべての環境変数を保持しています。アプリケーション内から変数を取得する最も簡単な方法は、標準的な辞書型の構文を使用することです。以下の例は、USERという名前の環境変数にアクセスする方法を示しています。

    >>> import os
    >>> user = os.environ['USER']
    >>> user
    'miguel'
    

    この方法を使用し、存在しない環境変数をインポートしようとすると、KeyError例外が発生します。

    >>> database_url = os.environ['DATABASE_URL']
    Traceback (most recent call l …
    Read More
  • By Ashutosh Hathidara
    Automatically Send Birthday Wishes with Python Flask and WhatsApp Automatically Send Birthday Wishes with Python Flask and WhatsApp

    Do you forget to send birthday wishes to your friends and loved ones? I do, and it usually results in being scolded by my fiancée! I’ve often wished for a software program that could send birthday wishes on my behalf.

    In this tutorial, we will create this exact end-to-end system. We will use Twilio's What’sApp API for sending the messages, the Flask web framework for the web server, and we will run messaging jobs periodically using APScheduler. We’ll also deploy the Flask application to AWS so it can be deployed resiliently and at scale.

    The complete code for this tutorial is available in this Github repository.

    Prerequisites

    • A Twilio account. (Sign up with this link and receive an additional $10 credit.)
    • The WhatsApp application installed on your mobile phone
    • An activated WhatsApp Sandbox (be sure to follow the setup instructions).
    • Your Account SID and Auth Token, found …
    Read More
  • By Diane Phan
    Utiliser la reconnaissance d'images avec l'API Twilio WhatsApp Comment utiliser la reconnaissance d'images avec l'API Twilio WhatsApp

    Le concept de reconnaissance des images peut sembler être un défi, mais avec l'aide de API de reconnaissance d'images de Clarifai, le code peut prédire le contenu d'une image donnée et déterminer les concepts pour décrire l'image, ainsi que la valeur de prédiction de la précision de la classification de l'image.

    Dans cet article, nous allons vous expliquer comment développer un programme Python fonctionnel pour identifier le contenu multimédia à l'aide de l'API Twilio WhatsApp API, API Clarifai, et Flask.

    Configuration requise pour le tutoriel

    Pour créer ce projet, vous devez disposer des éléments suivants :

    • Python 3.6 ou version ultérieure. Si votre système d'exploitation ne fournit pas d'interpréteur Python, vous pouvez vous rendre sur python.org pour télécharger un programme d'installation.
    • ngrok est un utilitaire pratique pour connecter la version de développement de notre application Python exécutée sur votre système à une URL publique …
    Read More
  • By Sam Agnew
    Fichiers et Asynchrone dans Python avec iofiles et asyncio Fichiers et Asynchrone dans Python avec iofiles et asyncio

    Le code asynchrone est devenu un pilier du développement Python. Comme asyncio fait partie de la librairie standard et que de nombreux packages tiers fournissent des fonctionnalités compatibles avec lui, ce paradigme n'est pas prêt de disparaître.

    Si vous écrivez du code asynchrone, il est important de vous assurer que toutes les parties de votre code fonctionnent ensemble afin que l'un des aspects du code ne ralentisse pas tout le reste. Les E/S de fichiers peuvent être un blocage courant sur ce front. Voyons comment utiliser la librairie aiofiles pour travailler de manière asynchrone avec des fichiers.

    En commençant par les bases, il s'agit de tout le code dont vous avez besoin pour lire le contenu d'un fichier de manière asynchrone (dans une fonction async) :

    async with aiofiles.open('filename', mode='r') as f:
        contents = await f.read()
    print(contents)
    

    Voyons cela plus en détail.

    Qu'est-ce qu'un code non bloquant ?

    Vous pouvez …

    Read More
  • By Diane Phan
    Python、Flask、Twilio Verifyを使用してメールアドレスを認証する方法 How-to-Verify-an-Email-Address-Using-Python-Flask-and-Twilio-Verify-JP

    このBlogはDeveloper Voices Teamに所属するDiane Phanこちらで執筆した記事を日本語化したものです。

    Python、Flask、Twilio Verifyを使用してメールアドレスを認証する方法

    大半のWebアプリケーションでは、サインアッププロセス中に、ユーザーのメールアドレスを受け付けます。不正アカウントの作成を防ぐには、指定されたメールアドレスでユーザーがメールを受信できることを確認するという方法が常に有効です。

    Twilio Verifyは、SMS、音声通話、メールを介して数値コードを送信する、というユーザー確認に使いやすいサービスです。このチュートリアルでは、メール認証フローをFlask、Twilio Verify、SendGridを使って実現する方法について説明します。

    Flask - Verify - SendGrid

    チュートリアルの要件

    • Python 3.6以降 - オペレーティングシステムにPythonインタープリターがない場合は、python.orgからインストーラーをダウンロードしてください
    • Twilioアカウント - 初めてTwilioを利用する場合は、こちらをクリックして無料アカウントを作成してください。このリンクを用いてアカウントを作成すると有料アカウントへのアップグレード時に使える10ドルのクレジットを進呈します。トライアルアカウントの制限についてはこちらを確認してください
    • SendGridアカウント。こちらをクリックして無料アカウントを作成してください。このアカウントでは1日最大100通のメールを送信できます

    SendGridの設定

    メ …

    Read More
  • By Samantha Snedeker
    How to Build a Slackbot in Socket Mode with Python header - How to Build a Slackbot in Socket Mode with Python

    For security purposes, large organizations that utilize Slack often operate from behind a corporate firewall. This makes building a Slackbot a bit more complicated. If your workspace is unprotected, then you might not need to create a bot in Socket Mode. Instead, check out a tutorial on how to build your first Slackbot with Python.

    In this tutorial, you will learn how to create a Slackbot that can function from behind a corporate firewall to run internally. We will write the code for the bot in Python and utilize the Slack API.

    Prerequisites

    • A Slack account. If you don’t already have one, you can create one here.
    • Python 3.6 or newer. If you do not have python installed on your computer, you can download it here.

    Build A Simple Slackbot

    Once you have the materials above, you can get started with building your simple Slackbot. We will …

    Read More
  • By Miguel Grinberg
    Make a Phone Call with a Duration Limit Using Python and Twilio Programmable Voice Make a Phone Call with a Duration Limit Using Python and Twilio Programmable Voice

    Twilio Programmable Voice allows you to make programmatic voice calls directly from your application. This service was recently expanded to support a call duration limit, which can be a useful way to avoid unexpected expenses from calls that remain connected for a long time.

    In this tutorial, you’ll learn how to use Programmable Voice with Python to make a voice call with a predefined maximum duration.

    Prerequisites

    Setting up your environment

    In this section, you …

    Read More
  • By Miguel Grinberg
    Twilio Verifyを使用したFastAPIのメールアドレス認証 Email-Address-Verification-in-FastAPI-using-Twilio-Verify-jp

    このBlogはTwilio Principal Software Engineer for Technical ContentのMiguel Grinbergこちらで公開した記事を日本語化したものです。

    大半のWebアプリケーションでは、サインアッププロセス中に、ユーザーのメールアドレスを受け付けます。不正アカウントの作成を防ぐには、指定されたメールアドレスでユーザーがメールを受信できることを確認するという方法が常に有効です。

    Twilio Verifyは、SMS、音声通話、メールを介して数値コードを送信しユーザー確認を行えるサービスです。このチュートリアルでは、メールを使用した検証フローをFastAPIアプリケーションに実装する方法について説明します。

    fast api email verification example

    チュートリアルの要件

    • Python 3.6以降 - オペレーティングシステムにPythonインタープリターがない場合は、python.orgからインストーラーをダウンロードしてください
    • Twilioアカウント - 初めてTwilioを利用する場合は、こちらをクリックして無料アカウントを作成してください。このリンクを用いてアカウントを作成すると有料アカウントへのアップグレード時に使える10ドルのクレジットを進呈します。トライアルアカウントの制限についてはこちらを確認してください
    • SendGridアカウント。こちらをクリックして無料アカウントを作成してください。このアカウントでは1日最大100通のメールを送信できます

    SendGridの設定

    メール認証ソリューションを設定するには、Twilioアカウ …

    Read More
  • By Sam Agnew
    Asynchronous HTTP Requests in Python with HTTPX and asyncio Copy of Generic Blog Header 2(2).png

    Asynchronous code has increasingly become a mainstay of Python development. With asyncio becoming part of the standard library and many third party packages providing features compatible with it, this paradigm is not going away anytime soon.

    Let's walk through how to use the HTTPX library to take advantage of this for making asynchronous HTTP requests, which is one of the most common use cases for non-blocking code.

    What is non-blocking code?

    You may hear terms like "asynchronous", "non-blocking" or "concurrent" and be a little confused as to what they all mean. According to this much more detailed tutorial, two of the primary properties are:

    • Asynchronous routines are able to “pause” while waiting on their ultimate result to let other routines run in the meantime.
    • Asynchronous code, through the mechanism above, facilitates concurrent execution. To put it differently, asynchronous code gives the look and feel of concurrency.

    So asynchronous …

    Read More
  • Newer
    Older
    Sign up and start building
    Not ready yet? Talk to an expert.