5.7. Anaconda アドオン構造


Anaconda アドオンとは、init.py ファイルとその他のソースディレクトリー (サブパッケージ) を含むディレクトリーを持つ Python パッケージのことです。Python を使用すれば、各パッケージ名を一度だけインポートし、パッケージの最上位ディレクトリーに一意の名前を指定できます。

アドオンは名前に関係なく読み込まれるため、任意の名前を使用できます。唯一の条件は、それらを特定のディレクトリーに配置することです。

そのため、推奨のアドオン命名規則は Java パッケージまたは D-Bus サービス名に似ています。

ディレクトリー名を Python パッケージの一意の識別子にするには、ドットの代わりにアンダースコア (_) を使用して、アドオン名の前に組織の逆引きドメイン名を付けます。例: com_example_hello_world

重要

各ディレクトリーに必ず init.py ファイルを作成してください。このファイルがないディレクトリーは、無効な Python パッケージとみなされます。

アドオンを作成する場合は、以下を確認してください。

  • 各インターフェイス (グラフィカルインターフェイスおよびテキストインターフェイス) のサポートは個別のサブパッケージで利用可能です。このサブパッケージには、グラフィカルインターフェイスには gui、テキストベースのインターフェイスには tui という名前が付けられています。
  • gui および tui パッケージには、spokes サブパッケージが含まれています。 [1]
  • パッケージに含まれるモジュールには任意の名前があります。
  • gui/ および tui/ ディレクトリーには、任意の名前の Python モジュールを含めることができます。
  • アドオンの実際の作業を実行するサービスがあります。このサービスは、Python またはその他の言語で記述できます。
  • サービスは、D-Bus およびキックスタートのサポートを実装します。
  • アドオンには、サービスの自動起動を有効にするファイルが含まれます。

以下は、全インターフェイス (Kickstart、GUI、および TUI) をサポートするアドオンのディレクトリー構造の例です。

com_example_hello_world
├─ gui
│  ├─ init.py
│  └─ spokes
│     └─ init.py
└─ tui
   ├─ init.py
   └─ spokes
   └─ init.py

各パッケージには、API で定義される 1 つ以上のクラスから継承されるクラスを定義する任意の名前を持つモジュールが少なくとも 1 つ含まれる必要があります。

注記

すべてのアドオンにおいて、ドキュメント文字列の表記規則については、Python の PEP 8 および PEP 257 の ガイドラインに従ってください。Anaconda のドキュメント文字列の実際の内容のフォーマットについては、合意が得られていません。唯一の条件は、人間が読める形式であることだけです。アドオンに自動生成ドキュメントを使用する予定がある場合は、ドキュメント文字列は、それを実現するために使用するツールキットのガイドラインに従ってください。

アドオンが新しいカテゴリーを定義する必要がある場合は、カテゴリーサブパッケージを追加できますが、これは推奨していません。



[1] アドオンが新しい カテゴリー を定義する必要がある場合に、gui パッケージにカテゴリーサブパッケージが含まれる場合もありますが、これは推奨されません。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る