Skip to content

algorandfoundation/algokit-python-template

Repository files navigation


This template provides a production-ready baseline for developing and deploying Puya smart contracts.

To use it install AlgoKit and then either pass in -t puya to algokit init or select the puya template.

This is one of the official templates used by AlgoKit to initialize an Algorand smart contract project. It's a Copier template.

Please note Puya smart contract development language is currently in alpha / developer preview. It is not recommended for production usage yet.

Features

This template supports the following features:

  • Compilation of multiple Puya contracts to a predictable folder location and file layout where they can be deployed
  • Deploy-time immutability and permanence control
  • Poetry for Python dependency management and virtual environment management
  • Linting via Ruff or Flake8
  • Formatting via Black
  • Type checking via mypy
  • Testing via pytest (not yet used)
  • Dependency vulnerability scanning via pip-audit (not yet used)
  • VS Code configuration (linting, formatting, breakpoint debugging)
  • dotenv (.env) file for configuration
  • Automated testing of the compiled smart contracts
  • Output stability tests of the TEAL output
  • CI/CD pipeline using GitHub Actions:
    • Optionally pick deployments to Netlify or Vercel

Getting started

Once the template is instantiated you can follow the README.md file to see instructions for how to use the template.

About

Official AlgoKit template for smart contract development project using Algorand Python

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 10