Skip to main content

Data provider for Python - Query data from local DuckDB

Project description

nextpoly-data-provider

NextPoly data provider for Python, built with Rust and PyO3.

Features

  • Query Polymarket on-chain data (order filled events, FPMM transactions)
  • Query Polymarket off-chain data (markets, market tokens)
  • Query timeseries data for trading analysis
  • Time-travel queries with simulation_time parameter
  • Built on DuckDB for fast local queries
  • Python 3.11+ support with abi3 compatibility

Installation

pip install nextpoly-data-provider

uv

uv add nextpoly-data-provider
# or
uv pip install nextpoly-data-provider

Quick Start

from nextpoly_data_provider import DataProvider

# Create provider with default DB paths
provider = DataProvider()

# Query markets
markets = provider.off_chain.markets(limit=10)
for market in markets:
    print(f"{market.question}: {market.outcome}")

# Query on-chain events
orders = provider.on_chain.order_filled_events(limit=10)

# Query time series data
ts = provider.trading.get_timeseries(token_id="...")

Time Travel Queries

from datetime import datetime, timezone

# Query data as of a specific time
ts = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())
provider = DataProvider(simulation_time=ts)

# Or set it later
provider.set_simulation_time(ts)

Requirements

  • Python 3.11+
  • Local DuckDB database files

Type stubs

Type stubs live next to the package in crates/data-provider/nextpoly_data_provider/*.pyi.

To build the extension with maturin and verify stubs against runtime objects:

uv --version
cargo run -p xtask -- stub-check

stub-check uses uv run in crates/provider, creating .venv if needed and installing maturin, mypy, ruff, and ty automatically. Pass --debug to skip --release.

Publishing

maturin publish --release

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

nextpoly_data_provider-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

nextpoly_data_provider-0.4.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

nextpoly_data_provider-0.4.1-cp311-abi3-macosx_11_0_arm64.whl (10.8 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

Details for the file nextpoly_data_provider-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nextpoly_data_provider-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca90d1a86817d38aa890491f3e8fb29b89ad5bf0ba8a8fa6eb55bda35595946c
MD5 ffb3c403cadeeccee5ee5ce5f78af2ff
BLAKE2b-256 ac22d98d7853244afe4fbd1b75ab23b31d52cadbec75383e676d006c880b3a15

See more details on using hashes here.

File details

Details for the file nextpoly_data_provider-0.4.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nextpoly_data_provider-0.4.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 10eb12f9ec598a0902be39736346342b429a4a4309005e5a08c4d89c2156f9b3
MD5 15d35bf923e3afa2ed60b31dc22ef6bc
BLAKE2b-256 da53a1e93e116c122563c999287c4ab8f8f516c7bd447943d681265aa4eaae58

See more details on using hashes here.

File details

Details for the file nextpoly_data_provider-0.4.1-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nextpoly_data_provider-0.4.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17c4af7a4a54649489011bcf7198bacb2084182fc82401ab1c20d98e08b29801
MD5 019bd943af7394fb62c071a06b434614
BLAKE2b-256 b421ed4eacc4f8121b5f171764e21b9efa8d54590696ebdd1730632720c63e4b

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