Skip to main content

Async Python client for WhiteBit API

Project description

aiowhitebit

Async Python client for WhiteBit API

Features

  • Private http V4 API
  • Public WS API
    • Enhanced WebSocket events with event_time and update_id metadata
    • BookTicker WebSocket stream for real-time best bid/ask prices
    • Market depth subscriptions with enhanced metadata support
  • Public http v1
  • Public http v2
  • Public http v4
    • Funding history endpoint for futures markets
  • Webhook support with examples
  • Rate limiting
  • Type hints
  • Pydantic models
  • Async/await support

Installation

pip install aiowhitebit

Quick Start

import asyncio
from aiowhitebit.clients.public import PublicV4Client

async def main():
    client = PublicV4Client()

    # Get market info
    markets = await client.get_market_info()
    print(f"Number of markets: {len(markets)}")

    # Get market activity
    activity = await client.get_market_activity()
    print(f"BTC_USDT last price: {activity.get('BTC_USDT').last_price}")

asyncio.run(main())

New Features in v0.3.0

BookTicker WebSocket Stream

import asyncio
from aiowhitebit.clients.websocket import PublicWebSocketClient, SubscribeRequest

async def bookticker_example():
    client = PublicWebSocketClient()

    # Subscribe to BookTicker stream
    response = await client.bookticker_subscribe("BTC_USDT")
    print(f"Subscribed: {response}")

    # Unsubscribe from BookTicker stream
    response = await client.bookticker_unsubscribe("BTC_USDT")
    print(f"Unsubscribed: {response}")

    await client.close()

asyncio.run(bookticker_example())

Funding History for Futures Markets

import asyncio
from aiowhitebit.clients.public import PublicV4Client

async def funding_history_example():
    client = PublicV4Client()

    # Get funding rate history for BTC_USDT futures
    history = await client.get_funding_history("BTC_USDT")

    for item in history.result:
        print(f"Time: {item.timestamp}, Rate: {item.funding_rate}")

asyncio.run(funding_history_example())

Enhanced WebSocket Events with Metadata

All WebSocket events now include optional event_time and update_id fields for better tracking and synchronization:

# WebSocket responses now include metadata
{
    "method": "depth_update",
    "params": {...},
    "event_time": 1640995200000,  # Event timestamp
    "update_id": 12345           # Unique update identifier
}

Documentation

For detailed documentation and examples, visit our GitHub repository.

Development

# Clone the repository
git clone https://github.com/doubledare704/aiowhitebit.git
cd aiowhitebit

# Install development dependencies
pip install -r requirements-dev.txt

# Install pre-commit hooks
pre-commit install

# Run tests
pytest

License

MIT License - see LICENSE file for details

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

aiowhitebit-0.4.0.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

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

aiowhitebit-0.4.0-py3-none-any.whl (48.2 kB view details)

Uploaded Python 3

File details

Details for the file aiowhitebit-0.4.0.tar.gz.

File metadata

  • Download URL: aiowhitebit-0.4.0.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for aiowhitebit-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f156ff07d6909b9ff6d2289c8bf06b141cc0c9306fb5ef2586ea96445282ff5a
MD5 3df0d9f0996921e31340331c1288dadc
BLAKE2b-256 bc4ed0b8fbf60858df266dfd0ff5976cbe6eecf5843d8ff16f50f974fb7fb50c

See more details on using hashes here.

File details

Details for the file aiowhitebit-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: aiowhitebit-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 48.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for aiowhitebit-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa40faa6e6b2fe16e3c082b4b1c7942680ba90bbaf0cd0de5544e91b2c84b19
MD5 be80b2c0d922e83965ce141fd888ba97
BLAKE2b-256 5ab55c3221bab89949f4698b127f315008f8165d847919c9fba44a87cce23073

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