OpenViSTAI · Agents · Blockchain · Crypto
Menu
Smart Contracts

Pyteal

Pyteal is a Python language binding and library for Algorand Smart Contracts. It provides functional abstractions over TEAL, Algorand’s stack-based contract language, and performs type checking while contract expressions are constructed.

Independent OpenViST project profile, based on linked sources.

Pyteal — OpenViST project profile in Smart Contracts.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Pyteal when Algorand contract development benefits from Python authoring, higher-level abstractions over TEAL, and the project’s documented local testing workflow.

Who it is for

  • Python developers building Algorand smart contracts
  • Teams creating reusable, type-checked contract components
  • Developers maintaining local Pyteal and Algorand integration-test environments

Documented uses

  • Write Algorand smart-contract logic in Python rather than directly in TEAL.
  • Create higher-level functional contract expressions and reusable components.
  • Check types during contract construction.
  • Run unit and local integration tests for Pyteal projects.
Before you choose

Requirements & limits

The repository is public and identified with an MIT license. Installation requires Python 3.10 or later; the documented development services require Docker.

  • Pyteal targets the Algorand ecosystem and generates TEAL-based contract programs.
  • Python is used as the authoring language, while TEAL remains the underlying contract language.
  • Type checking occurs during construction of Pyteal expressions.
  • The repository documents unit testing with pytest and integration testing against developer-mode algod.
  • The integration environment uses Docker and exposes documented local service ports.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Set up Pyteal for development and local integration testing

Prepare a Python development environment and start the documented local Algorand services for Pyteal integration tests.

Before you start

  • Python 3.10 or later
  • Docker for the developer-mode algod and tealdbg services
  • The Pyteal repository

Steps

  1. Create a virtual environment with the command below and activate it.

    Documented command
    python3 -m venv venv
  2. Install Pyteal in editable mode and its requirements with the command below, or use the command below.

    Documented command
    make setup-development
    Documented command
    pip install -e . && pip install -r requirements.txt
  3. Start developer-mode algod on the documented ports and tealdbg with docker-compose up -d.

  4. Run unit tests with pytest pyteal tests/unit or integration tests with pytest tests/integration.

  5. Stop and clean up the Docker services with docker-compose down.

Expected outcome

A local Pyteal development setup with documented unit and integration-test commands and developer-mode Algorand services.

Guide limitations

  • Integration tests assume a developer-mode algod is available on port 4001.
  • This workflow documents development and testing, not production deployment.
  • The Docker-based service setup assumes Docker is available.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
2 October 2026
Original website title
algorand/pyteal · Official homepage title · retained in its source language