[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 Experienceasyncio
ใฉใคใใฉใชใๅฉ็จใใ้ๅๆใใญใฐใฉใใณใฐ- ๅใใณใใฎใตใใผใ
๐ฆ Exchanges
Name | API auth | DataStore | API docs |
---|---|---|---|
Bybit | 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", ...: ...})
...
๐ Wiki
่ฉณใใๅฉ็จๆนๆณใฏ
็พๅจใใกใใซ็งป่กไธญใงใ
๐ฝ License
MIT
๐ Author
Twitter:
Discord: