研究软件工程的标准和分类法
项目描述
研究软件工程
研究软件工程的标准和分类法(rseng)。
概述
此存储库提供研究软件的分类法和标准,旨在与研究软件百科全书一起使用。两者分别维护以供开发,并且由于可能的情况,标准和分类法可能需要与百科全书分开使用。
如何贡献?
您可以通过对master分支发起拉取请求的方式编辑分类法或标准项。当合并后,自动任务将更新在https://rseng.github.io/rseng上提供的界面。您还可以根据您的需求与rseng软件交互,如下所示。
用法
库的用法包括与标准或分类法的编程(在Python或命令行中)交互以及生成输出文件。
标准
在Python中使用时,您首先需要实例化一个CriteriaSet
。如果您不提供默认文件,则将使用库的默认设置。
from rseng.main.criteria import CriteriaSet
cset = CriteriaSet()
# [CriteriaSet:6]
您可以看到加载的问题。每个问题都有一个唯一的id,它给出了所提问题的感觉
cset.criteria
{'RSE-research-intention': <rseng.main.criteria.base.Criteria at 0x7f3d2e85d410>,
'RSE-domain-intention': <rseng.main.criteria.base.Criteria at 0x7f3d2dab8490>,
'RSE-question-intention': <rseng.main.criteria.base.Criteria at 0x7f3d2dab8910>,
'RSE-citation': <rseng.main.criteria.base.Criteria at 0x7f3d2db34810>,
'RSE-usage': <rseng.main.criteria.base.Criteria at 0x7f3d2db340d0>,
'RSE-absence': <rseng.main.criteria.base.Criteria at 0x7f3d2db34850>}
您可以检查任何特定的标准
cset.criteria['RSE-usage']
<rseng.main.criteria.base.Criteria at 0x7f3d2db340d0>
cset.criteria['RSE-usage'].uid
# 'RSE-usage'
cset.criteria['RSE-usage'].question
# 'Has the software been used by researchers?'
cset.criteria['RSE-usage'].options
# ['yes', 'no']
并且可以进一步与标准集交互,例如导出到表格文件
print(cset.export()) # You can also define a "filename" and/or "sep" here.
RSE-research-intention Is the software intended for research? yes,no
RSE-domain-intention Is the software intended for a particular domain? yes,no
RSE-question-intention Was the software created with intention to solve a research question? yes,no
RSE-citation Has the software been cited? yes,no
RSE-usage Has the software been used by researchers? yes,no
RSE-absence Would taking away the software be a detriment to research? yes,no
或者遍历标准,或者获取所有标准的列表。
> list(cset)
[[Criteria:RSE-research-intention,Is the software intended for research?],
[Criteria:RSE-domain-intention,Is the software intended for a particular domain?],
[Criteria:RSE-question-intention,Was the software created with intention to solve a research question?],
[Criteria:RSE-citation,Has the software been cited?],
[Criteria:RSE-usage,Has the software been used by researchers?],
[Criteria:RSE-absence,Would taking away the software be a detriment to research?]]
for criteria in cset:
print(criteria)
[Criteria:RSE-research-intention,Is the software intended for research?]
[Criteria:RSE-domain-intention,Is the software intended for a particular domain?]
[Criteria:RSE-question-intention,Was the software created with intention to solve a research question?]
[Criteria:RSE-citation,Has the software been cited?]
[Criteria:RSE-usage,Has the software been used by researchers?]
[Criteria:RSE-absence,Would taking away the software be a detriment to research?]
分类法
以类似的方式与分类进行交互。
from rseng.main.taxonomy import Taxonomy
tax = Taxonomy()
它将显示节点总数(包括嵌套的节点)
from rseng.main.taxonomy import Taxonomy
tax = Taxonomy()
# [Taxonomy:24]
验证在加载默认文件时发生。类似于标准,文件位于 rseng/main/taxonomy 中,格式为yaml,并带有日期。您可以快速打印并轻松查看的树的人理解版本
for name in tax.flatten():
...: print(name)
...:
Software to directly conduct research >> Domain-specific software >> Domain-specific hardware
Software to directly conduct research >> Domain-specific software >> Domain-specific optimized software
Software to directly conduct research >> Domain-specific software >> Domain-specific analysis software
Software to directly conduct research >> General software >> Numerical libraries
Software to directly conduct research >> General software >> Data collection
Software to directly conduct research >> General software >> Visualization
Software to support research >> Explicitly for research >> Workflow managers
Software to support research >> Explicitly for research >> Interactive development environments for research
Software to support research >> Explicitly for research >> Provenance and metadata collection tools
Software to support research >> Used for research but not explicitly for it >> Databases
Software to support research >> Used for research but not explicitly for it >> Application Programming Interfaces
Software to support research >> Used for research but not explicitly for it >> Frameworks
Software to support research >> Incidentally used for research >> Operating systems
Software to support research >> Incidentally used for research >> Personal scheduling and task management
Software to support research >> Incidentally used for research >> Version control
Software to support research >> Incidentally used for research >> Text editors and integrated development environments
Software to support research >> Incidentally used for research >> Communication tools or platforms
截至版本0.0.13,为每个分类项目分配了颜色,以确保在接口生成过程中具有更高的一致性。可选择的颜色可以从 rse.utils.colors.browser_palette
导入,并包括名称中带有“medium”或“dark”的选项。这个尚未使用,应该参考列表中的其他选项。
mediumvioletred
生成
安装rseng后,rseng
可执行文件应在您的路径中。您可以将分类或标准的输出文件生成到不存在的文件夹路径。例如,为了生成每个分类和标准的静态文档的markdown文件,我们执行以下操作
Markdown Jekyll Pages
# rseng generate <type> <path> <version>
$ rseng generate taxonomy docs/_taxonomy
docs/_taxonomy/RSE-taxonomy-domain-hardware.md
docs/_taxonomy/RSE-taxonomy-optimized.md
docs/_taxonomy/RSE-taxonomy-analysis.md
docs/_taxonomy/RSE-taxonomy-numerical libraries.md
docs/_taxonomy/RSE-taxonomy-data-collection.md
docs/_taxonomy/RSE-taxonomy-visualization.md
docs/_taxonomy/RSE-taxonomy-workflow-managers.md
docs/_taxonomy/RSE-taxonomy-ide-research.md
docs/_taxonomy/RSE-taxonomy-provenance-metadata-tools.md
docs/_taxonomy/RSE-taxonomy-databases.md
docs/_taxonomy/RSE-taxonomy-application-programming-interfaces.md
docs/_taxonomy/RSE-taxonomy-frameworks.md
docs/_taxonomy/RSE-taxonomy-operating-systems.md
docs/_taxonomy/RSE-taxonomy-personal-scheduling-task-management.md
docs/_taxonomy/RSE-taxonomy-version-control.md
docs/_taxonomy/RSE-taxonomy-text-editors-ides.md
docs/_taxonomy/RSE-taxonomy-communication-tools.md
每个生成的默认版本都是“latest”,但您可以通过添加另一个版本作为最后一个参数来更改它。以下是最新的标准生成示例
# rseng generate <type> <path> <version>
$ rseng generate criteria docs/_criteria
docs/_criteria/RSE-research-intention.md
docs/_criteria/RSE-domain-intention.md
docs/_criteria/RSE-question-intention.md
docs/_criteria/RSE-citation.md
docs/_criteria/RSE-usage.md
docs/_criteria/RSE-absence.md
用于可视化(json)
您还可以生成一个(非平面)分类版本,特别是可以轻松插入d3层次图的一个json文件。
# rseng generate taxonomy-json <filename>
$ rseng generate taxonomy-json taxonomy.json
GitHub Issue Templates
如果您想要一个可以与GitHub工作流(在您的软件存储库中)一起使用的问题模板,并通过GitHub处理项目,这两个都可以通过以下方式生成更新后的标准或分类项
$ rseng generate criteria-annotation-template
并且模板将在当前工作目录中生成(使用默认文件名)
---
name: Annotate Criteria
about: Select this template to annotate criteria for a software repository
title: "[CRITERIA]"
labels: ''
assignees: ''
---
## Repository
<!-- write the name of the repository here-->
## Criteria
<!-- check boxes for criteria to indicate "yes" -->
- [ ] criteria-RSE-research-intention
- [ ] criteria-RSE-domain-intention
- [ ] criteria-RSE-question-intention
- [ ] criteria-RSE-citation
- [ ] criteria-RSE-usage
- [ ] criteria-RSE-absence
您可以为GitHub问题分类注释模板执行相同的操作
$ rseng generate taxonomy-annotation-template
---
name: Annotate Taxonomy
about: Select this template to annotate software with taxonomy categories
title: "[TAXONOMY]"
labels: ''
assignees: ''
---
## Repository
<!-- write the name of the repository here-->
## Taxonomy
<!-- check one or more boxes for categories to indicate "yes" -->
- [ ] RSE-taxonomy-domain-hardware
Software to directly conduct research >> Domain-specific software >> Domain-specific hardware
- [ ] RSE-taxonomy-optimized
Software to directly conduct research >> Domain-specific software >> Domain-specific optimized software
- [ ] RSE-taxonomy-analysis
Software to directly conduct research >> Domain-specific software >> Domain-specific analysis software
- [ ] RSE-taxonomy-numerical libraries
Software to directly conduct research >> General software >> Numerical libraries
- [ ] RSE-taxonomy-data-collection
Software to directly conduct research >> General software >> Data collection
- [ ] RSE-taxonomy-visualization
Software to directly conduct research >> General software >> Visualization
- [ ] RSE-taxonomy-workflow-managers
Software to support research >> Explicitly for research >> Workflow managers
- [ ] RSE-taxonomy-ide-research
Software to support research >> Explicitly for research >> Interactive development environments for research
- [ ] RSE-taxonomy-provenance-metadata-tools
Software to support research >> Explicitly for research >> Provenance and metadata collection tools
- [ ] RSE-taxonomy-databases
Software to support research >> Used for research but not explicitly for it >> Databases
- [ ] RSE-taxonomy-application-programming-interfaces
Software to support research >> Used for research but not explicitly for it >> Application Programming Interfaces
- [ ] RSE-taxonomy-frameworks
Software to support research >> Used for research but not explicitly for it >> Frameworks
- [ ] RSE-taxonomy-operating-systems
Software to support research >> Incidentally used for research >> Operating systems
- [ ] RSE-taxonomy-personal-scheduling-task-management
Software to support research >> Incidentally used for research >> Personal scheduling and task management
- [ ] RSE-taxonomy-version-control
Software to support research >> Incidentally used for research >> Version control
- [ ] RSE-taxonomy-text-editors-ides
Software to support research >> Incidentally used for research >> Text editors and integrated development environments
- [ ] RSE-taxonomy-communication-tools
Software to support research >> Incidentally used for research >> Communication tools or platforms
野外的示例包括 这个标准 和 这个分类。请注意,您应该在与创建标签的同时添加模板,每个标签一个,用于taxonomy
和criteria
。正在编写一个用于自动更新标准/分类项的工作流程,并将很快添加。
许可协议
- 免费软件:MPL 2.0许可证
项目详情
rseng-0.0.18.tar.gz散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 65e720099aa14a4003b62f37ff282faff75aa4ba94d0b23aaca2649ba0f50b2f |
|
MD5 | af1301101f039e59bb02b5aa4eb01eb0 |
|
BLAKE2b-256 | 8faacdf0f254d5758da1b5a9ce3a3ee6d0157b9d6ec7797da5658ba7bee699c6 |