Lightweight Python library for reading Uniswap V3 prices and tick data via Web3.
Project description
uniswap-viewer
A lightweight Python library for accessing Uniswap V3 on-chain data.
uniswap-viewer provides a clean and efficient interface for reading price and
tick information directly from Uniswap V3 smart contracts using web3.py. It
supports both synchronous and asynchronous workflows and is ideal for
developers, analysts, and algorithmic traders.
Features
- Supports both sync and async Web3 clients
- Fetches token prices using
sqrtPriceX96and token decimals - Retrieves detailed tick data via ABI-decoded contract calls
- Computes tick index, tick spacing, and tick slot
- Includes block streaming generator to track new blocks in real time
- Built-in utilities for loading ABIs and checking Ethereum addresses
Modules
viewer_sync.py– synchronous Uniswap V3 viewer usingweb3.Web3viewer_async.py– asynchronous Uniswap V3 viewer usingweb3.AsyncWeb3utils.py– helper functions (ABI loading, tick keys, address filters)
Usage
Sync example
from uniswap_viewer import ViewerSync
from web3 import Web3
w3 = Web3(Web3.HTTPProvider("<your_provider_url>"))
viewer = ViewerSync(w3, "usdt", "weth", fee=3000)
viewer.init()
price = viewer.get_price()
Async example
from uniswap_viewer import ViewerAsync
from web3 import AsyncWeb3
w3 = AsyncWeb3(AsyncWeb3.AsyncHTTPProvider("<your_provider_url>"))
viewer = ViewerAsync(w3, "usdt", "weth", fee=3000)
await viewer.init()
price = await viewer.get_price()
Requirements
- Python 3.8+
web3library (sync or async)
Motivation
This library is designed for:
- Developers integrating Uniswap data directly from the blockchain
- Quants and analysts building custom tooling
- Avoiding reliance on third-party APIs like The Graph
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uniswap_viewer-0.1.4.tar.gz.
File metadata
- Download URL: uniswap_viewer-0.1.4.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
654c76e940261ead551a0a0f1393264c0d28ca022674b5050126439dfdc9b3fe
|
|
| MD5 |
32282c79d2e68cb742f1db5aaf9d22e9
|
|
| BLAKE2b-256 |
c7d5a03fdc7bfc12345627c4aee25429a7b45608150dc1d392ee95305e3f18fa
|
File details
Details for the file uniswap_viewer-0.1.4-py3-none-any.whl.
File metadata
- Download URL: uniswap_viewer-0.1.4-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e049b058fb7ccb55fe2c3298bbe327bbddd11d0cd483798acbf67c9009464cc1
|
|
| MD5 |
c874ba2b6e106cf223610e18a96cff61
|
|
| BLAKE2b-256 |
9f6b58d72912207e5b64d3d862e089c169539c15110fc77a8065820faa2876c7
|