METEORA DLMM SDK
Project description
metpysdk
metpysdk is a Python SDK for interacting with Meteora DLMM (Dynamic Liquidity Market Maker) on Solana.
It provides high-level, async-friendly primitives for:
- querying DLMM pairs
- inspecting bins and liquidity
- reading positions and rewards
- parsing on-chain accounts safely and accurately
The SDK is designed as a library, not a script:
- clean public API
- explicit versioning
- byte-accurate account parsing
- minimal, modern dependency set
⚠️ This project is in active development (
0.x).
APIs may change until1.0.0.
Features
- 🚀 Async-first API (
asyncio) - 🔍 Accurate parsing of DLMM on-chain accounts
- 🧱 Construct-based binary layouts (no abandoned deps)
- 🧠 Clear separation between public API and internals
- 🛠️ Designed for bots, analytics, and backend services
Installation
Requirements
- Python 3.9+
- Poetry (recommended) or pip
With Poetry (recommended)
poetry add metpysdk
With pip
pip install metpysdk
Quick Example
import asyncio
from metpysdk import DLMMClient
from solders.pubkey import Pubkey
async def main():
client = DLMMClient()
lb_pair = Pubkey.from_string(
"INSERT_LB_PAIR_ADDRESS_HERE"
)
active_bin = await client.get_active_bin(lb_pair)
print("Active bin ID:", active_bin.bin_id)
print("Price:", active_bin.price)
asyncio.run(main())
Project Structure
metpysdk/
├── accounts/ # Parsed on-chain account models
├── dlmm/ # Core DLMM client logic
├── helpers/ # High-level helpers and combinators
├── layouts/ # Binary layouts (construct-based)
├── utils/ # RPC, filters, derivations, constants
└── __init__.py # Public API surface
Only symbols re-exported from package-level modules are considered public API.
Everything else may change without notice until 1.0.0.
Public API
The main entry point is:
from metpysdk import DLMMClient
Additional data models and enums are exposed via:
from metpysdk.accounts import (
Position,
ActiveBin,
StrategyParameters,
)
Deep imports from internal modules are not supported.
Development
Setup
git clone https://github.com/yourname/metpysdk.git
cd metpysdk
poetry install
Poetry will create a local .venv/ automatically.
Linting
poetry run ruff check src/metpysdk
poetry run pylint src/metpysdk
Tests
poetry run pytest
Versioning
This project follows semantic versioning:
0.x.y — unstable, breaking changes allowed
1.0.0 — first stable API
>=1.0.0 — no breaking changes without major bump
License
MIT License © 2025 Ivan Bezborodov
See LICENSE for details.
Disclaimer
This SDK is provided as-is, without warranties.
Interacting with on-chain programs involves financial risk.
Always validate results independently before using in production.
Project details
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 metpysdk-0.2.1.tar.gz.
File metadata
- Download URL: metpysdk-0.2.1.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a736a6d9ed95debbf618e2eb337da2271173a1574f12d0b0eb439a71ae5e4101
|
|
| MD5 |
745546af1fb7a4bc44450d6d335fbe00
|
|
| BLAKE2b-256 |
989692277acf09e0c9afd9f2778a69cfeb6756cd842b776ea475f436e00048d0
|
File details
Details for the file metpysdk-0.2.1-py3-none-any.whl.
File metadata
- Download URL: metpysdk-0.2.1-py3-none-any.whl
- Upload date:
- Size: 32.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
445fc8bda7e987366f1851784772691e12d0a3739ec7865ba409176faf5a683d
|
|
| MD5 |
c387d5f4366976f153374fabe284f23b
|
|
| BLAKE2b-256 |
d9a5c0a326f2c7351806c447202ef233c2e7b86b1ef24f282418bbfa45c0cae5
|