Fortran-lang.org 包索引#

包标准#

以下标准是包被索引的必要条件

  • 相关性:该包必须主要用 Fortran 实现,或为现有包提供完整的 Fortran 接口,或专门用于 Fortran 软件开发。

  • 成熟度:包的主要功能应已实现。不会接受原型、测试或部分完成的包。如果包托管在 github 或类似平台上,则应至少有 5 个“星标”。

  • 可用性:包源代码应可在线浏览、克隆或下载。

  • 开源:包应在适当的开源许可证下许可,并且许可证文件应明确包含在源代码中。

  • 唯一性:该包不得是现有包的派生或次要修改。

  • README:该包应具有一些形式的 README 或登陆页面,清楚地说明包的目的和功能。这还应包含有关包依赖项以及构建和运行所需步骤的信息。

以下标准不是必需的,但建议使用

  • 文档:任何针对包用户的书面文档形式。理想情况下,这应该涵盖

    • 支持/测试的编译器

    • 依赖项

    • 构建和安装过程

    • 包中包含的模块

    • 提供的过程及其接口

    • 示例代码

  • 贡献:有关用户如何提交问题并为包开发做出贡献的详细信息

  • 测试:任何可用于验证包功能的可执行测试。

  • 可移植性:没有非标准语言扩展或专有依赖项。

  • FPM:支持 Fortran 包管理器 fpm 安装。

添加包的过程#

  1. 用户应确认其项目满足本文件中所述的 Fortran-lang 包索引的最低要求。

  2. 用户应使用“包索引请求”模板打开拉取请求。

  3. 至少三名 Fortran-lang 社区成员应根据上述标准审查请求。

  4. 如果三名或更多 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:提供语言特性演示、教程和基准的存储库

列出多个类别的项目必须在拉取请求中提供良好的理由。

注释

  • 包描述应使用一个句子清楚地描述包的功能。

  • 标签(可选)应包含名称或描述中未包含的任何用户可能直接搜索的术语。标签应以空格分隔。

  • 包版本

    • 如果在 github 上创建了版本化版本,则可以自动确定。

    • 如果指定了版本,它将覆盖任何检测到的 github 版本。

    • 如果版本为“none”,则不会显示任何版本信息。(如果您的包没有版本,请使用此选项。)

  • 包许可证

    • 如果 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 是否已检测到许可证。

    • 如果包含许可证字段:检查它是否与存储库许可证文件匹配。

合并后

  • 检查包是否在预期类别和搜索中可用。