5 个版本
新增 0.1.39 | 2024年8月20日 |
---|---|
0.1.38 | 2024年6月29日 |
0.1.37 | 2024年6月2日 |
0.1.36 | 2023年9月11日 |
0.1.35 | 2023年5月23日 |
#206 in 开发工具
166 每月下载量
540KB
13K SLoC
包含 (autotools obfuscated code, 1KB) testdata/native/configure, (autotools obfuscated code, 1KB) testdata/configure/configure
上游本体学家
上游本体学家为查找上游软件项目的元数据提供了一个通用接口。
它将从任何可用的来源收集信息,优先考虑它更有信心的数据,并为每条元数据报告置信度。
本体学家起源于 Debian,目前报告的元数据字段是基于 DEP-12,但它旨在不受发行版限制。
提供字段
标准字段
Homepage
: 主页 URLName
: 上游项目的名称Contact
: 上游的某种联系方式(电子邮件、邮件列表 URL)Repository
: 版本控制系统 URLRepository-Browse
: 查看 VCS 的 Web URLBug-Database
: 故障数据库 URL(通常是 Web 查看)Bug-Submit
: 提交新故障的 URL(可以是 Web 或电子邮件地址)Screenshots
: 包含截图的 URL 列表Archive
: 使用的存档 - 例如 SourceForgeSecurity-Contact
: 报告安全问题的电子邮件或 URL(包含说明)Documentation
: 指向 Web 上的文档的链接
upstream-ontologist 的扩展,未定义在 DEP-12 中
SourceForge-Project
: sourceforge 项目名称Wiki
: Wiki URLSummary
: 项目的单行描述Description
: 项目的更长描述License
: 单行许可证(例如“GPL 2.0”)Copyright
: 版权所有者列表Version
: 当前上游版本安全-MD
:安全策略的markdown文件URL作者
:为项目做出贡献的人员名单维护者
:项目的维护者资助
:更多资助信息的URL
支持的数据源
目前,本体论者可以读取以下上游数据源中的元数据
- Python包元数据(PKG-INFO,setup.py,setup.cfg,pyproject.timl)
- package.json
- composer.json
- package.xml
- Perl包元数据(dist.ini,META.json,META.yml,Makefile.PL)
- Perl POD文件
- GNU configure文件
- R描述文件
- Rust Cargo.toml
- Maven pom.xml
- metainfo.xml
- .git/config
- SECURITY.md
- DOAP
- Haskell cabal文件
- go.mod
- ruby gemspec文件
- nuspec文件
- OPAM文件
- Debian打包元数据(debian/watch,debian/control,debian/rules,debian/get-orig-source.sh,debian/copyright,debian/patches)
- Dart的pubspec.yaml
- meson.build
它还会扫描README和INSTALL以查找可能的上游存储库URL(并尝试验证这些URL与本地存储库匹配)。
除了本地文件外,它还可以使用它们的API咨询外部目录
示例用法
使用上游本体论最简单的方法是在软件项目中调用guess-upstream-metadata
命令
$ guess-upstream-metadata ~/src/dulwich
Security-MD: https://github.com/dulwich/dulwich/tree/HEAD/SECURITY.md
Name: dulwich
Version: 0.20.15
Bug-Database: https://github.com/dulwich/dulwich/issues
Repository: https://www.dulwich.io/code/
Summary: Python Git Library
Bug-Submit: https://github.com/dulwich/dulwich/issues/new
或者,还有一个Python API。还有autocodemeta
和autodoap
命令,分别可以生成codemeta和DOAP格式的输出。
依赖关系
~29–50MB
~1M SLoC