Skip to main content

Python SDK for the PolyNode real-time prediction market data platform

Project description

polynode

Python SDK for the PolyNode real-time prediction market data platform.

Install

pip install polynode

For trading support:

pip install polynode[trading]

Quick Start

REST API

from polynode import PolyNode

with PolyNode(api_key="pn_live_...") as pn:
    status = pn.status()
    markets = pn.markets(count=10)
    settlements = pn.recent_settlements(count=5)

Async REST

import asyncio
from polynode import AsyncPolyNode

async def main():
    async with AsyncPolyNode(api_key="pn_live_...") as pn:
        status = await pn.status()
        markets = await pn.markets(count=10)

asyncio.run(main())

WebSocket Streaming

import asyncio
from polynode import AsyncPolyNode

async def main():
    async with AsyncPolyNode(api_key="pn_live_...") as pn:
        sub = await pn.ws.subscribe("settlements").min_size(1000).send()

        async for event in sub:
            print(event.event_type, event.market_title, event.taker_price)

asyncio.run(main())

Orderbook

import asyncio
from polynode import OrderbookEngine

async def main():
    engine = OrderbookEngine(api_key="pn_live_...")
    await engine.subscribe(["token_id_1", "token_id_2"])

    engine.on("ready", lambda: print(f"Tracking {engine.size} books"))
    engine.on("update", lambda u: print(f"{u.asset_id}: {engine.midpoint(u.asset_id)}"))

asyncio.run(main())

Trading

import asyncio
from polynode.trading import PolyNodeTrader, TraderConfig, OrderParams

async def main():
    trader = PolyNodeTrader(TraderConfig(polynode_key="pn_live_..."))
    status = await trader.ensure_ready("0xYourPrivateKey...")

    result = await trader.order(OrderParams(
        token_id="...",
        side="BUY",
        price=0.55,
        size=100,
    ))
    print(result)

    trader.close()

asyncio.run(main())

Documentation

Full docs at docs.polynode.dev

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

polynode-0.5.5.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

polynode-0.5.5-py3-none-any.whl (44.7 kB view details)

Uploaded Python 3

File details

Details for the file polynode-0.5.5.tar.gz.

File metadata

  • Download URL: polynode-0.5.5.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for polynode-0.5.5.tar.gz
Algorithm Hash digest
SHA256 4a6fcc8bd364aa948cac39e09e93ab923fb145d8610700f9c055c216825fa550
MD5 58c98013b92f21be053ac1040fed94d7
BLAKE2b-256 d7da257b6b2a15142e502db79266052b44f8f648cfe42abdb7d1e3ec3cf5c698

See more details on using hashes here.

File details

Details for the file polynode-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: polynode-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 44.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for polynode-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8467982efee104560ce2d2f81c8b7ad1cf973993e4354af28e5405c334a90a51
MD5 a328f302a87d8ad391df39af9cd54549
BLAKE2b-256 4c41bb954f9932a2185e68d14e26968b6e015776208442b8ea30ae8cf1e94b43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page