Cm repository
[ Back to Specs ]
CM repository structure
By default, CM repositories are stored in $HOME/CM/repos
on Linux and %homepath%\CM\repos
on Windows
They have the following structure:
{ROOT directory} /
_cmr.yaml
{CM automation alias | Unique ID} /
{CM artifact alias | Unique ID } /
_cm.yaml |& _cm.json
{user scripts, files and directories}
Feel free to explore two main CM repositories being developed by the open MLCommons taskforce: * internal CM repository (shared inside CM PYPI package) * MLCommons CM-MLOps repository (shared via GitHub)
Root directory
- File cmr.yaml - CM repository description
alias (str): CM name to find this repository
uid (str): unique ID to find this repository
(desc) (str): user-friendly description
(git) (bool): True, if it's a Git repository and not a local one
(prefix) (str): sub-directory inside this repository to keep CM automations and artifacts
- useful to keep original software project repository intact
Example: mlcommons@ck description
First level directories
- CM automation aliases | Unique IDs
Examples: mlcommons@ck repo
Second level directories
- CM artifact aliases | Unique IDs
Examples:
- CM artifacts to wrap CM automations (including "script") in mlcommons@ck repo
- CM artifacts to wrap CM scripts in mlcommons@ck repo
Third level files
- _cm.yaml |& _cm.json - CM meta description of a given CM artifact wrapping native scripts, files and directories
{
alias (str): CM name to find this artifact
uid (str): unique ID to find this artifact
automation_alias (str): CM automation name for this artifact
automation_uid (str): unique ID for the automation for this artifact
(_base) (str): preload meta description from this base artifact in format "{automation}::{artifact}"
and then merge the current meta description with the base.
This mechanism enables simple inheritance of artifact meta descriptions.
tags (list): list of tags to characterize and find this artifact
Any other keys required for a related CM automation ...
}
- any user scripts, files and directories wrapped by this CM artifact