Skip to main content

Set up a local development environment for Temporal and Python

Temporal Python SDK


Follow these instructions to configure a development environment for building Temporal Applications with Python.

Install Python

Make sure you have Python installed. These tutorials use Python 3.10.

Check your version of Python with the following command:

python -V

You'll see the version printed to the screen:

Python 3.10.9

Install the Temporal Python SDK

You should install the Temporal Python SDK in your project using a virtual environment.

Create a directory for your Temporal project:

mkdir temporal-project

Switch to the new directory:

cd temporal-project

Create a Python virtual environment with venv:

python -m venv env

Activate the environment:


Then install the Temporal SDK:

python -m pip install temporalio

You'll see an output similar to the following:

Successfully installed temporalio-x.y

Next, you'll configure a local Temporal cluster for development.

Set up a local Temporal development cluster

The fastest way to get a development cluster running on your local machine is to use Temporal CLI.

Temporal CLI is a tool for interacting with a Temporal Cluster from the command-line interface, but it includes a self-contained distribution of the Temporal Server and Web UI as well.

Install Temporal CLI on your local machine using the following instructions for your platform.

You can install the latest stable version with Homebrew using the following command:

brew install temporal

You can also install Temporal CLI using the installation script. Review the script and then download and install Temporal CLI with the following command:

curl -sSf | sh

To manually install Temporal CLI, download the version for your architecture:

Once you've downloaded the file, extract the downloaded archive and add the temporal binary to your PATH by copying it to a directory like /usr/local/bin.

Once you've installed Temporal CLI and added it to your PATH, open a new Terminal window and run the following command:

temporal server start-dev

This command automatically starts the Web UI, creates the default Namespace, and uses an in-memory database.

  • The Temporal Server will be available on localhost:7233.
  • The Temporal Web UI will be available at http://localhost:8233.
Change the Web UI port

The Temporal Web UI may be on a different port in some examples or tutorials. To change the port for the Web UI, use the --ui-port option when starting the server::

temporal server start-dev --ui-port 8080

The Temporal Web UI will now be available at http://localhost:8080.

Leave the cluster running as you work through tutorials and other projects. You can stop the cluster at any time by pressing CTRL+C.

Once you have everything installed, you're ready to build Temporal Applications with Python on your local machine.