Skip to main content

PyPI PyPI - Python Version PyPI - License Downloads

pytest publish Code style: black Documentation Status

GitHub Repo stars GitHub forks Discord

[Preview] pybotters

An advanced API client for python botters.

📌 Description

pybotters は 仮想通貨 botter 向けの Python ライブラリです。

複数取引所に対応した非同期 I/O の API クライアントであり、bot 開発により素晴らしい DX を提供します。

🚧 In development

pybotters は現在 ** Previewバージョン ** です。 一部機能は開発中です。

開発状況については こちら(Issues) を参照してください。

🚀 Features

  • ✨ HTTP / WebSocket Client
    • 複数取引所のプライベート API を自動認証
    • aiohttp ライブラリを基盤とした非同期通信
    • WebSocket の自動再接続、自動ハートビート
  • ✨ DataStore
    • WebSocket 用のデータ保管クラス
    • ピュア Python データモデルによる高速なデータ参照
    • 取引所別モデルの実装
  • ✨ Developer Experience
    • asyncio ライブラリを利用した非同期プログラミング
    • 型ヒントのサポート

🏦 Exchanges

Name API auth DataStore API docs
Bybit ✅ ✅ (Futures v2) Official v5 / Futures v2
Binance ✅ ✅ Official
OKX ✅ ✅ Official
Phemex ✅ ✅ Official
Bitget ✅ ✅ Official
MEXC ✅ WIP Official / v3
KuCoin ✅ ✅ Official
BitMEX ✅ ✅ Official
bitFlyer ✅ ✅ Official
GMO Coin ✅ ✅ Official
bitbank ✅ ✅ Official
Coincheck ✅ ✅ Official

🐍 Requires

Python 3.7+

🔧 Installation

pip install pybotters

🌏 Quickstart

Single exchange

import asyncio
import pybotters

apis = {
    "bybit": ["BYBIT_API_KEY", "BYBIT_API_SECRET"],
}

async def main():
    async with pybotters.Client(apis=apis, base_url="https://api.bybit.com") as client:
        # REST API
        resp = await client.get("/v2/private/position/list", params={"symbol": "BTCUSD"})
        data = await resp.json()
        print(data)

        # WebSocket API (with defautl print handler)
        ws = await client.ws_connect(
            url="wss://stream.bybit.com/realtime",
            send_json={"op": "subscribe", "args": ["trade.BTCUSD", "order", "position"]},
        )
        await ws # Ctrl+C to break

try:
    asyncio.run(main())
except KeyboardInterrupt:
    pass

Multiple exchanges

apis = {
    "bybit": ["BYBIT_API_KEY", "BYBIT_API_SECRET"],
    "binance": ["BINANCE_API_KEY", "BINANCE_API_SECRET"],
}

async def main():
    async with pybotters.Client(apis=apis) as client:
        await client.post("https://api.bybit.com/v2/private/order/create", data={"symbol": "BTCUSD", ...: ...})
        ...
        await client.post("https://dapi.binance.com/dapi/v1/order", data={"symbol": "BTCUSD_PERP", ...: ...})
        ...

📖 Documents

👉 Read the Docs

🗽 License

MIT

💖 Author

Twitter:

Twitter Follow

Discord:

Discord Widget

Metadata

Release files for pybotters 0.17.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pybotters 0.17.0
File Size Uploaded
pybotters-0.17.0.tar.gz 44.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pybotters 0.17.0
File Interpreter ABI Platform
pybotters-0.17.0-py3-none-any.whl Python 3 none any Details

Total release size: 102.8 kB

Release files / pybotters-0.17.0.tar.gz

Download URL pybotters-0.17.0.tar.gz
Size 44.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a4e5e18a15c095fda3eebe9e28eaf4d90faa454ece9d51ae12f5987ac9531fef
BLAKE2b-256 checksum
How to use checksums
0a2eaee6cf99c6795ca4d7ddf5065daf8d150053faf9ee0d3f6c6897025c6597
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / pybotters-0.17.0-py3-none-any.whl

Download URL pybotters-0.17.0-py3-none-any.whl
Size 58.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd3050ca98bbe8c31a9b7d33a8644ac62112543dad420bdfe5ef8f3fe9dd2f73
BLAKE2b-256 checksum
How to use checksums
565ecc73ea813f6e7547a0e89d40e7dfc2c6088e1c18f1fc72c5eb11d31c182c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

1.11.2

2 release files

1.11.1

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

This release

0.17.0 This release

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.1

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page