配布物の構成

<plugin_id>/         (plugin.config.json の id 名でpython/plugins/へdeployされる)
  metadata.txt        QGISプラグインのIDカード
  __init__.py         エントリポイント(classFactory)
  main_plugin.py      ダイアログ/view/channelの器
  bridge.py           製品コード: WebChannel API
  logic.py            製品コード: 純粋ロジック
  ui/                 製品コード: フロントエンド(パッケージ内に同梱済み)

配布時に除去するもの

対象 理由
live_driver.py pyeval/eval = 任意コード実行。同梱すると環境変数を立てた誰でもQGIS内でコード実行可能になる
main_plugin.py のDEV_SRCローダ部(load_dev_bridge_class等) 外部パスからコードをimportする機構。無害だが配布物に残すべきではない

除去しても環境変数を立てられても ImportError がキャッチされるだけで 正常動作する設計だが、任意コード実行の扉を物理的に残さないため除去を推奨。

例外: qgis_live_driver は「リモート制御するための製品」 そのものであり、このページの「開発品からdev機構を除く」ルールは 自作プラグイン側に適用するもの。Driverはセッショントークン認証・ localhost限定・ユーザ限定ACLで保護された状態で配布物として成立する (Driver詳細)。