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
Intro to Ape development framework
Intro to websockets and web3.py
Intro to asynchronous web3.py
Intro to threaded web3.py
Sign typed data messages (EIP 712)
Look up offchain data via CCIP Read
Configure and customize web3.py
Find a historical contract revert reason
Generate a vanity address
Similate transactions with call state overrides
Configure web3 for JSON-RPC fallback and MEV blocker providers
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.pypy-signer - Demo of typed data message signing (EIP-712) with eth-account and Ape