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.
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.
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
Create a virtual environment with the command below and activate it.
python3 -m venv venvInstall Pyteal in editable mode and its requirements with the command below, or use the command below.
make setup-developmentpip install -e . && pip install -r requirements.txtStart developer-mode algod on the documented ports and tealdbg with
docker-compose up -d.Run unit tests with
pytest pyteal tests/unitor integration tests withpytest tests/integration.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.
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

