Types

TypedDict models for dict-returning endpoints.

These are structural subtypes of dict — existing code using result["key"] or result.get("key") continues to work unchanged.

class pyth_pandas.types.JsonBinaryData[source]

Bases: TypedDict

A signed/binary payload returned alongside a parsed price update.

data: str
encoding: str
class pyth_pandas.types.JsonUpdate[source]

Bases: TypedDict

Full price update returned by /latest_price, /price, /reduce_price.

evm: NotRequired[JsonBinaryData | None]
leEcdsa: NotRequired[JsonBinaryData | None]
leUnsigned: NotRequired[JsonBinaryData | None]
parsed: NotRequired[ParsedPayload | None]
solana: NotRequired[JsonBinaryData | None]
class pyth_pandas.types.ParsedFeedPayload[source]

Bases: TypedDict

One feed entry inside ParsedPayload.priceFeeds.

bestAskPrice: NotRequired[str | None]
bestBidPrice: NotRequired[str | None]
confidence: NotRequired[int | None]
emaConfidence: NotRequired[int | None]
emaPrice: NotRequired[str | None]
exponent: NotRequired[int | None]
feedUpdateTimestamp: NotRequired[int | None]
fundingRate: NotRequired[int | None]
fundingRateInterval: NotRequired[int | None]
fundingTimestamp: NotRequired[int | None]
marketSession: NotRequired[str | None]
price: NotRequired[str | None]
priceFeedId: int
publisherCount: NotRequired[int | None]
class pyth_pandas.types.ParsedPayload[source]

Bases: TypedDict

Top-level parsed price update across multiple feeds.

priceFeeds: list[ParsedFeedPayload]
timestampUs: str
class pyth_pandas.types.SignedGuardianSetUpgrade[source]

Bases: TypedDict

Wormhole guardian set upgrade VAA body + this router’s ECDSA signature.

body: str
current_guardian_set_index: int
new_guardian_keys: list[list[int]]
new_guardian_set_index: int
signature: str
class pyth_pandas.types.SignedMerkleRoot[source]

Bases: TypedDict

Signed merkle root frame from the /merkle/root/stream WebSocket.

channel: str
messages: list[str]
root: str
signature: str
slot: int
timestamp: int