Fortran-lang.org パッケージインデックス#

パッケージ基準#

インデックスに登録されるパッケージには、以下の基準が必要です。

  • 関連性: パッケージは主に Fortran で実装されているか、既存のパッケージへの完全な Fortran インターフェースを提供するか、Fortran でのソフトウェア開発のみに目的を絞っている必要があります。

  • 成熟度: パッケージの主要な機能は実装されている必要があります。プロトタイプ、テスト、または部分的に完成したパッケージは受け付けられません。パッケージが GitHub または同様の場所でホストされている場合、少なくとも 5 つの「スター」が必要です。

  • 可用性: パッケージソースは、オンラインで閲覧したり、クローン作成したり、ダウンロードしたりできる必要があります。

  • オープンソース: パッケージは、適切なオープンソースライセンスの下でライセンスされ、ライセンスファイルがソースコードに明確に含まれている必要があります。

  • 一意性: パッケージは、既存のパッケージのフォークまたはマイナーな改訂版ではありません。

  • README: パッケージには、パッケージの目的と機能を明確に示す README またはランディングページが必要です。これには、パッケージの依存関係とビルドおよび実行に必要な手順に関する情報も含まれている必要があります。

以下の基準は必須ではありませんが、推奨されます。

  • ドキュメント: パッケージのユーザーを対象とした、あらゆる形式の文書化されたドキュメント。理想的には、以下を含める必要があります。

    • サポートされている/テスト済みのコンパイラ

    • 依存関係

    • ビルドおよびインストールプロセス

    • パッケージに含まれるモジュール

    • 使用可能なプロシージャとそのインターフェース

    • サンプルコード

  • 貢献: ユーザーが問題を送信し、パッケージの開発に貢献する方法に関する詳細

  • テスト: パッケージの機能を確認するために使用できる、あらゆる形式の実行可能なテスト。

  • 移植性: 非標準の言語拡張または独自の依存関係はありません。

  • FPM: Fortran Package Manager fpmによるインストールをサポートします。

パッケージの追加プロセス#

  1. ユーザーは、このドキュメントに記載されているように、プロジェクトが Fortran-lang パッケージインデックスにリストされるための最低限の要件を満たしていることを確認する必要があります。

  2. ユーザーは、「パッケージインデックスリクエスト」テンプレートを使用してプルリクエストを開く必要があります。

  3. 少なくとも3人の Fortran-lang コミュニティメンバーが、上記の基準に基づいてリクエストを確認します。

  4. 3人以上の Fortran-lang コミュニティメンバーがパッケージをリストすべきだと同意し、重要な反対意見がない場合、プルリクエストはマージされます。

パッケージインデックスリクエスト#

パッケージインデックスリクエストは、fortran-lang.org リポジトリに対するプルリクエストによって行われます。このガイドを参照して、フォークとプルリクエストの作成に関するガイダンスを参照してください。

パッケージの詳細については、data/package_index.ymlデータファイルに記載されています。

パッケージを追加するには、このファイルに新しいエントリを作成するだけです。データファイルは、ナビゲーションを容易にするために上位カテゴリ別にソートされています。パッケージに適切なカテゴリを見つけて、新しいエントリを作成します。

パッケージインデックスに新しいエントリを追加した後、sphinx ビルドを行う前に、github アクション fortran_packages を実行してください。#

GitHub でホストされているパッケージ#

  - name: <Package_name>
    github: <github_user>/<repository_name>
    description: <single_line_description>
    categories: <category1> [category2]
    tags: [tag1] [tag2] [tag3]
    version: [version]
    license: [license]

有効なカテゴリ

  • libraries: 一般的なライブラリ

  • interfaces: その他のライブラリ、ソフトウェア、またはデバイスへのインターフェースを提供するライブラリ

  • programming: 一般的なプログラミングユーティリティ: エラー、ログ、テスト、ドキュメントなど。

  • data-types: 高度なデータ型を提供するライブラリ: コンテナ、日時、サイズ変更可能な配列など。

  • strings: 文字列処理ライブラリ

  • io: さまざまなファイル形式を解析および生成するライブラリ

  • graphics: プロットとGUI

  • numerical: 行列、線形代数、ソルバー、根探し、補間、最適化、微分方程式、統計、機械学習、乱数など。

  • scientific: ドメイン固有の科学ライブラリまたはアプリケーション

  • examples: 言語機能のデモ、チュートリアル、ベンチマークを提供するリポジトリ

複数のカテゴリをリストするプロジェクトは、プルリクエストでそれについて十分な理由を示す必要があります。

注記

  • パッケージの説明は、パッケージの機能を1文で明確に説明する必要があります。

  • タグ(オプション)には、名前または説明にまだ含まれていない、ユーザーが直接検索する可能性のある用語を含める必要があります。タグはスペースで区切ります。

  • パッケージバージョン

    • バージョン付きリリースが GitHub で作成されている場合、自動的に決定できます。

    • バージョンが指定されている場合、検出されたGitHubのバージョンを上書きします。

    • バージョンが「なし」の場合、バージョン情報は表示されません。(パッケージにバージョンがない場合はこれを使用します。)

  • パッケージライセンス

    • GitHub が既知のライセンスを検出できる場合、自動的に決定できます。

    • GitHub が既知のライセンスを検出できない場合は、ライセンスを指定する必要があります。

GitHub 以外でホストされているパッケージ#

  - name: <Package_name>
    url: <repo_url>
    description: <single_line_description>
    categories: <category1> [category2]
    tags: [tag1] [tag2] [tag3]
    version: [version]
    license: <license>

注記

  • GitHub以外のリポジトリでは、ライセンス情報とバージョン情報を自動的に検出できません。

  • パッケージにバージョンがない場合は、バージョンフィールドを省略します。

  • GitHub以外のリポジトリにはライセンスを指定する必要があります。

メンバーレビューチェックリスト#

パッケージを確認するコミュニティメンバーは、以下の点をカバーする必要があります。

  1. パッケージがこのドキュメントに記載されている最低限の基準を満たしていることを確認します。

  2. パッケージのメタデータを確認します。

    • リポジトリが存在し、アクセス可能であることを確認します。

    • 説明がパッケージを明確かつ簡潔に説明していることを確認します。

    • 割り当てられたカテゴリが適切であることを確認します。

  3. ライセンス情報を確認します。

    • ライセンスフィールドが省略されている場合:GitHubがライセンスを検出したことを確認します。

    • ライセンスフィールドが含まれている場合:それがリポジトリのライセンスファイルと一致することを確認します。

マージ後

  • パッケージが予期されるカテゴリと検索で利用可能であることを確認します。