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.6.1.tar.gz (36.6 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.6.1-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for polynode-0.6.1.tar.gz
Algorithm Hash digest
SHA256 7ed16bfd0a86b06deedc627647919061347d39b2e82cc48dc3ee6e364fb46891
MD5 8081f5311bca6ec92b85caac4bfbcaac
BLAKE2b-256 da5b05b5127eb145fafcafa524d5f9174de8c6db3f3832ca80f23d91271d18df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: polynode-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 47.2 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.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f4bef27de3abf4b9b9566e3a4e5a647b79c82bcf31d9c46b76b07bd9db4e23f
MD5 04afc2c839646907915569b2278d4bda
BLAKE2b-256 cfd6657fb96615ea7217eba9dd85ea421bca7e0f81c7ca77557f7620f9ac291a

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