Add your description here
Project description
🖨️ Klipper JSON-RPC クライアント
Klipper(Moonraker)と通信するためのPython WebSocket JSON-RPCクライアントライブラリです。
✨ 特徴
- 🔄 非同期・同期両方のAPIをサポート
- 🔌 WebSocketを使用した簡単なKlipper通信
- 🎯 カスタム通知ハンドラーのサポート
- 🔒 スレッドセーフな操作
🚀 インストール方法
📝 使用例
基本的な使い方
from klipper_jsonrpc import KlipperClient
# クライアントのインスタンスを作成
client = KlipperClient()
# Klipper WebSocketに接続
client.run("ws://your-klipper-host/websocket")
# 同期的にリクエストを送信
response = client.sync_send_request("printer.info")
print(response)
# カスタム通知ハンドラーを追加
def on_status_update(data):
print(f"ステータス更新: {data}")
client.add_method_process("notify_proc_stat_update", on_status_update)
# 接続を閉じる
client.sync_close()
非同期での使用例
import asyncio
from klipper_jsonrpc import KlipperClient
async def main():
client = KlipperClient()
await client.connect("ws://your-klipper-host/websocket")
response = await client.async_send_request("printer.info")
print(response)
await client.close()
asyncio.run(main())
💻 動作環境
- Python 3.7以上
- aiohttp 3.11.0以上
🔧 主な機能
- WebSocketを使用したKlipperとの双方向通信
- JSON-RPCプロトコルによるメッセージング
- カスタムイベントハンドラーの登録機能
- スレッドセーフな同期・非同期API
📚 API ドキュメント
KlipperClient クラス
メソッド一覧
run(url): クライアントの接続を開始しますsync_send_request(method, params=None): 同期的にリクエストを送信しますasync_send_request(method, params=None): 非同期でリクエストを送信しますadd_method_process(method, func): カスタムメソッドハンドラーを追加しますsync_close(): 接続を同期的に終了しますclose(): 接続を非同期で終了します
🤝 コントリビューション
バグ報告や機能要望は、GitHubのIssueにて受け付けています。 プルリクエストも大歓迎です!
⚖️ ライセンス
📞 サポート
ご不明な点がございましたら、GitHubのIssueにてお問い合わせください。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
klipper_jsonrpc-0.2.0.tar.gz
(39.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file klipper_jsonrpc-0.2.0.tar.gz.
File metadata
- Download URL: klipper_jsonrpc-0.2.0.tar.gz
- Upload date:
- Size: 39.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd1eaf3cd75366b29636ae03b4d7f6ff8fb34946c1a1fa713b6c53ba838be07c
|
|
| MD5 |
31339f587ed52d3b6ce58a76744be954
|
|
| BLAKE2b-256 |
68f6e4c3499563bb26619895d51abd8ba8c9632cfc57e37cfea0042715bbd3a7
|
File details
Details for the file klipper_jsonrpc-0.2.0-py3-none-any.whl.
File metadata
- Download URL: klipper_jsonrpc-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
408f9466c449f0334a332ab2470432d1b8e32acd50d75c2529833ce959f7a906
|
|
| MD5 |
d8c27e5ff9dccd23c3d9a512cf01a782
|
|
| BLAKE2b-256 |
16776bd058c9f33bcb4600e7a4a3313e3783c10b016c9c6ff232ee9ee5df4514
|