// the find
uniswap-python/uniswap-python
🦄 The unofficial Python client for the Uniswap exchange.
A Python wrapper around the Uniswap smart contracts (v1/v2/v3) that lets you query prices, execute trades, and manage liquidity positions without writing Solidity or raw web3 calls. Aimed at Python developers building trading bots, analytics tools, or DeFi automation. It's unofficial — Uniswap Labs has nothing to do with it.
Full type annotations throughout with mypy enforced in CI — rare for a DeFi wrapper of this age. Supports all three Uniswap versions plus forks like PancakeSwap and Sushiswap through configurable factory/router addresses. ABI files are bundled in the package so you don't need to fetch them from Etherscan. Tests run against a real mainnet fork via ganache-cli rather than mocking contract calls, which catches actual on-chain edge cases.
Uniswap v4 support is explicitly missing and tracked in a GitHub issue with no timeline — v4 launched in early 2025, so this wrapper is now a version behind the actual protocol. The changelog for 0.7.0 and 0.7.1 is marked 'incomplete', which suggests releases are being cut faster than they're being documented. Tests require an Infura/Alchemy key and ganache-cli installed globally, making CI setup non-trivial for contributors. Liquidity management for v3 (concentrated positions, range orders) is thin compared to the price/swap surface.