Python Client
A python package is available to ease integration into python-based projects. To install locally:
Setup Guide
Prerequisites
Git
Rust 1.84.0 or later
Python 3.9 or above
Install the package
Understanding and using the Python Client
The Python client is a Python wrapper around our Rust Client that enables interaction with the Tycho Indexer. It provides two main functionalities:
Streaming Client: Python wrapper around Rust Client for real-time data streaming
RPC Client: Pure Python implementation for querying Tycho RPC data
Streaming Implementation
The TychoStream
class:
Locates the Rust binary (
tycho-client-cli
)Spawns the binary as a subprocess
Configures it with parameters like URL, authentication, exchanges, and filters
Implements an async iterator pattern that:
Reads JSON output from the binary's stdout
Parses messages into Pydantic models
Handles errors and process termination
Here's one example on how to use it:
RPC Client Implementation
The TychoRPCClient
class:
Makes HTTP requests to the Tycho RPC server
Serializes Python objects to JSON
Deserializes JSON responses to typed Pydantic models
Handles blockchain-specific data types like
HexBytes
Last updated