Meta Reports

How to configure metadata on multi-level repositories when publishing to Kyso.

Meta reports are a mono-folder in which each sub-directory is published as separate project report.

To create a meta report include the following in your kyso.yaml file:

type: meta
reports:
   - folder1
   - folder2

In this case, each sub-folder should have its own yaml/json file for the individual reports.

This is particularly useful for users publishing to Kyso via Git actions, since a lot of companies tend to have one or a few large mono-repos specifically for data science work.

Multi-level Report Configuration

It is quite popular for companies to maintain all there data science research in a single mono-repository (or just a few for much bigger organisations) in which there are multiple sub-directories that pertain to different projects, and within each of these projects are the notebook reports and associated files.

It makes sense to want to import these large repositories such that each sub-project is imported to Kyso as it's own project report. And it is quite straightforward to do this!:)

There are only 2 additional fields you will need to add to the yaml file in the root directory to configure this behaviour.

  1. type: meta

  2. reports

type: This tells Kyso that there are multiple repositories in the repo

reports: This will be a list of folders you want to import as separate Kyso reports. Currently the child posts must be organised in folders, importing different files from one folder as different child posts is not possible.

report:
  - folder1
  - folder2

You can use wildcards, so for example, if you wanted to include all folders in the root directory just use:

report:
  - "*"

Or if you wanted to include all folders starting with "article" use:

report:
  - "article*"

Default Values

If the meta kyso.yaml file has other properties like:

  • channel

  • organization

  • tags

they will be treated as default values, which means if the report/folder/kyso.yaml doesn't have a specific value for that property, the default one will be used. If not, the report/folder/kyso.yaml properties values will overwrite the defaults.

Overriding configurations in the child reports

You can add a kyso.yaml to each child folder and override any of the defaults the same as you do when you are importing just one repo. For example, you could have a repository with kyso.yaml in the root directory:

main: main.ipynb
posts:
  - "*"

Above we've specified the default name for all main files and are pulling in all folders within the repository.

In any given folder, we could have another kyso.yaml like so:

title: "Project Title"
description: "Project description."
main: notebook.ipynb
preview: "images/preview.png"
tags: [
    tag1,
    tag2,
    tag3 
    ]

Last updated