Resources and Learning Material

web3.py and the Ethereum Python ecosystem have an active community of developers and educators. Here you’ll find libraries, tutorials, examples, courses and other learning material.

Warning

Links on this page are community submissions and are not vetted by the team that maintains web3.py. As always, DYOR (Do Your Own Research).

First Steps

Resources for those brand new to Ethereum:

Courses

Tutorials

Conference Presentations and Videos

Smart Contract Programming Languages

  • Vyper - Contract-oriented, pythonic programming language that targets EVM

Frameworks and Tooling

  • Ape - The Ethereum development framework for Python Developers, Data Scientists, and Security Professionals

  • Titanoboa - A Vyper interpreter and testing framework

  • Wake - A Python-based development and testing framework for Solidity

  • Brownie - [No longer actively maintained] A Python-based development and testing framework for smart contracts targeting EVM

Libraries

  • Web3 Ethereum DeFi - Library for DeFi trading and protocols (Uniswap, PancakeSwap, Sushi, Aave, Chainlink)

  • lighter-v1-python - Lighter.xyz DEX client for Python

  • uniswap-python - Library lets you easily retrieve prices and make trades on all Uniswap versions.

  • pyWalletConnect - WalletConnect implementation for wallets in Python

  • dydx-v3-python - Python client for dYdX v3

  • Lido Python SDK - Library with which you can get all Lido validator’s signatures and check their validity

Applications

Hackathon Helpers

  • ape-hackathon-kit - Ape project template with a web front-end (Next.js, Tailwind, RainbowKit, wagmi)

  • eth-flogger - Sample web app utilizing async web3.py, Flask, SQLite, Sourcify

  • Temo - Sample terminal app utilizing async web3py, Textual, Anvil

  • web3py-discord-bot - Sample Discord bot utilizing websockets, eth_subscribe, and discord.py

  • py-signer - Demo of typed data message signing (EIP-712) with eth-account and Ape