Skip to main content

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


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)

Uploaded Source

Built Distribution

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

klipper_jsonrpc-0.2.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

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

Hashes for klipper_jsonrpc-0.2.0.tar.gz
Algorithm Hash digest
SHA256 dd1eaf3cd75366b29636ae03b4d7f6ff8fb34946c1a1fa713b6c53ba838be07c
MD5 31339f587ed52d3b6ce58a76744be954
BLAKE2b-256 68f6e4c3499563bb26619895d51abd8ba8c9632cfc57e37cfea0042715bbd3a7

See more details on using hashes here.

File details

Details for the file klipper_jsonrpc-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for klipper_jsonrpc-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 408f9466c449f0334a332ab2470432d1b8e32acd50d75c2529833ce959f7a906
MD5 d8c27e5ff9dccd23c3d9a512cf01a782
BLAKE2b-256 16776bd058c9f33bcb4600e7a4a3313e3783c10b016c9c6ff232ee9ee5df4514

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