INCATools / INCATools/ontology-access-kit

Provide simple yaml-based output for release summary in `runoak diff`

Open
#820 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
198
Forks
35
Avg merge
3d 4h
Merged PRs (30d)
1

Description

In Mondo (and similarly in HPO) we have

```
reports/difference_release_base.md: tmp/mondo-released.obo $(KGCL_ONTOLOGY)
runoak -i simpleobo:tmp/mondo-released.obo diff -X simpleobo:$(KGCL_ONTOLOGY) -o $@ --output-type md
```

to generate a nice diff output with collapsible section. In both Mondo and HPO, we always have to _hack_ the output to make it look like we want:

1. Change headings (e.g. `New Disease Terms` or similar, custom, custom)
2. Reorder sections (e.g. Additions first, removals last, etc)
3. Remove certain sections (e.g. we don't want to include `changed definitions`)
4. Prune certain sections (e.g. sometimes sections become too long, then we only provide a few examples and say "et al"

It would be great if we could:

1. Get a simple YAML based output of the release diff that is isomorphic to the current MD output produced by the command above
2. ... so that we can define a little jinja template to customise how we wish to present the diff in markdown

Unfortunately I personally don't have the resources to do this and we lack developer capacity right now, but I wanted to create the issue so it can be bumped in the future when the urgency increases.

Contributor guide

Open the contributing guide

Research direction

Start with reports/difference_release_base.md and the runoak diff invocation using --output-type md. Define the YAML representation so it is isomorphic to that Markdown output and can drive a Jinja template for custom headings, ordering, omission, and pruning; done means the YAML output supports those release-summary customizations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.