Skip to content

Preview v0.6.0 リリース

Pre-release
Pre-release
Compare
Choose a tag to compare
@MtkN1 MtkN1 released this 15 Aug 18:35
· 233 commits to main since this release
d69b54d

🎉 New Features

✨ GMOコインのDataStoreをサポートしました (Contributed by @supermomonga 💖)

pybottersでは初の国内取引所DataStoreをサポートしました!
pybotters.GMOCoinDataStore から、GMOコインのWebSokcetによるリアルタイムデータを利用することができます。
さらに本DataStoreは初の試みとして データの型付け をサポートしています。
symbolはstr型、priceなどはDecimal型、timestampはdatetime型など、データの意味通りの型でDataStoreに保管されます。
従来のDataStoreは数値や時刻データが文字列型でもそのまま(元の型のまま)保管していましたが、これにより演算やさらなる処理が容易になります。
GMOCoinDataStoreのインターフェースはリファレンスをご覧ください。

✨ CoincheckのAPI認証をサポートしました

国内取引所 Coincheck のAPI認証をサポートしました!
オーダー発注や残高の取得などのプライベートAPIが利用できます。 ※DataStoreは未対応です

✨ waitメソッドから受信データを取得できるようになりました (Contributed by @kaznak 💖)

DataStore.wait メソッドの返り値は従来はNoneでしたが、** 待機した結果取得したデータ ** を返すようになりました。
これにより ** PostOnlyオプションにより即時キャンセルされてしまったオーダー ** などのDataStoreに残らないオーダー(※)を取得できます。 ※各種DataStoreのオーダーはアクティブオーダーのみ管理する仕様なので約定orキャンセル済みは削除される
注意: 親クラスの DataStoreManager.wait メソッドの方にはこの機能はありません。

async def main():
    async with pybotters.Client(base_url='https://ftx.com/api, apis=apis) as client:
        store = pybotters.FTXDataStore()
        ws = await client.ws_connect(
            'wss://ftx.com/ws',
            send_json={'op': 'subscribe', 'channel': 'orders'},
            hdlr_json=store.onmessage,
        )

        asyncio.create_task(client.post('/orders', data=...)) # Send an order that will be canceled immediately
        result = await store.orders.wait()
        print(result)
        # {'id': ..., 'status': 'closed', ...: ...}
        print(store.orders.find())
        # []

📖 Documentation

✨ Sphinxによるドキュメント自動生成を導入しました (Contributed by @drillan 💖)

Read The Docsにドキュメントを生成できるSphinxを導入しました!
GitHub WikiからRead The Docsにドキュメントを移行する予定です。
https://pybotters.readthedocs.io/ja/latest/

Other

  • pybottersのリリース状況についての表記をBETAから Preview の名称に変更しました
  • DataStoreを管理する抽象クラスの名称をDataStoreInterfaceからDataStoreManagerに変更しました
  • DataStoreに隠しメソッド _pop, _find_and_delete を追加しました

詳細については以下をご覧ください。

Issues

✅ 対応取引所の追加(Phemex、Coincheck) #52
✅ GMO コインの DataStore を実装する #60
✅ リリース表記をPreview版にする #73
✅ FTXDataStore の orders チャネルにおける close されたオーダーの取り扱いについて #75
✅ DataStoreInterfaceのクラス名を変更する #79

Pull requests

✅ GMO コイン用の DataStore を一部実装する #74
✅ DataStore のレコード削除メソッドのサンプル実装 #76
✅ DataStore の wait メソッドが変更されたデータを返す実装 #77
✅ Sphinxのドキュメントを追加 #78