zauberzeug/nicegui

Create web-based user interfaces with Python. The nice way.

解決する課題

NiceGUIは、Python開発者がHTML、CSS、またはJavaScriptを書く必要なく、Webベースのグラフィカルユーザーインターフェース(GUI)を作成する方法を提供します。ダッシュボード、マイクロWebアプリ、ロボティクスや機械学習アルゴリズム用のコントロールパネルの作成を簡素化し、従来のWeb開発の複雑さを排除します。

仕組み

NiceGUIは、すべてのUIロジックをPythonで記述する「バックエンド・ファースト」の哲学を採用しています。バックエンドにはFastAPI、Starlette、Uvicornを活用し、フロントエンドにはVueとQuasarを使用します。Pythonバックエンドとブラウザ間の通信はWebSockets (socket.io) を介して行われ、バックエンドからUIへリアルタイムに更新をプッシュできます。

対象者

Pythonプロジェクト、特にロボティクス、スマートホームオートメーション、機械学習開発(例:アルゴリズムの微調整やモーターコントローラーのチューニング)において、インターフェースを迅速に構築する必要がある開発者向けに設計されています。

特徴

  • ブラウザベースのGUI: Pythonから直接、ボタン、ダイアログ、3Dシーン、プロットを作成できます。
  • インプリシット・リロード: コードが変更されるとページが自動的にリロードされます。
  • ハイレベルな要素: 3Dシーン、ステアリングイベント用の仮想ジョイスティック、画像アノテーションの組み込みサポートが含まれています。
  • 柔軟なデプロイ: Webサーバーとして、またはネイティブのデスクトップウィンドウとして実行できます。
  • Jupyterサポート: Jupyter NotebookおよびPythonの対話型モードと互換性があります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト