monarch-initiative / koza

Data transformation framework for LinkML data models
https://koza.monarchinitiative.org/
BSD 3-Clause "New" or "Revised" License
47 stars 4 forks source link

Generate new ingests from templates #102

Open kevinschaper opened 1 year ago

kevinschaper commented 1 year ago

I always find myself following a "copy & edit" pattern when making new Koza ingests, but we really should have a command line based ingest generator. This would replace the woefully out of date templates in monarch-ingest, and as a bonus it would be available to any project that uses Koza.

It should be something like koza create-ingest

It should have an interactive cli (like gh pr create) and should probably be optimized for making simple (one csv/tsv file) ingests quickly. For more complex ingests, it should be easy to bail out early to just get the empty files ready to add.

It would be very cool to detect the separator and column names (again, for the easiest case).

Next next next level would be if we could interactively question our way to which rows become which part of an entity, or populate the node / edge properties, but that also feels like where the diminishing returns kick in between the complexity to implement vs the convenience, so let's not go there.