mlcflow


Namemlcflow JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryAn automation interface for ML applications
upload_time2025-01-21 11:11:57
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords mlc mlcflow pypi package automation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            **MLCFlow: Simplifying MLPerf Automations**

MLCFlow is a versatile CLI and Python interface developed by MLCommons in collaboration with a dedicated team of volunteers (see [Contributors](CONTRIBUTORS.md)). It serves as a streamlined replacement for the [CMind](https://github.com/mlcommons/ck/tree/master/cm) tool, designed to drive the automation workflows of MLPerf benchmarks more efficiently. 

The concept behind CMind originated from **Grigori Fursin**, while the **MLPerf Automations** project was created by **Grigori Fursin** and **Arjun Suresh**, whose collective contributions laid the foundation for modernizing MLPerf benchmarking tools.

### Key Features
Building upon the core idea of CMind—wrapping native scripts with Python wrappers and YAML metadata—MLCFlow focuses exclusively on key automation components: **Scripts**, along with its complementary modules: **Cache**, **Docker**, and **Experiments**. This targeted design simplifies both implementation and interface, enabling a more user-friendly experience.

### Status
MLCFlow is currently a **work in progress** and not yet ready for production use. If you are interested in contributing to its initial development, please email [arjun@mlcommons.org](mailto:arjun@mlcommons.org) to join the daily development meetings and see [Issues](https://github.com/mlcommons/mlcflow/issues) for seeing the development progress.

### Getting Started
For early contributors, please use the `mlc` branch of the [MLPerf Automations](https://github.com/mlcommons/mlperf-automations) repository while working with MLCFlow.


---

## MLC CLI Overview

The **MLC Command-Line Interface (CLI)** enables users to perform actions on specified targets using a simple syntax:

```bash
mlc <action> <target> [options]
```

### Key Components:
- **`<action>`**: The operation to be performed.
- **`<target>`**: The object on which the action is executed.
- **`[options]`**: Additional parameters passed to the action.

---

### Supported Targets and Actions

#### 1. **Repo**
- Actions related to repositories, such as cloning or updating.

#### 2. **Script**
- Manage or execute automation scripts.

#### 3. **Cache**
- Handle cached data, including cleanup or inspection.

Each target has its own set of specific actions to tailor automation workflows.

## CM compatibility layer

MLC has a compatibility layer where by it supports MLCommons CM automations - Script, Cache and Experiment. 

## Architectural Diagram

```mermaid
classDiagram
    class Action {
        -repos_path : str
        -cfg : dict
        -repos : list
        +execute(args)
        +access(options)
        +asearch(i)
        +find_target_folder(target)
        +load_repos_and_meta()
        +load_repos()
    }
    class RepoAction {
        +github_url_to_user_repo_format(url)
        +pull(args)
        +list(args)
    }
    class ScriptAction {
        +run(args)
        +list(args)
    }
    class CacheAction {
        +show(args)
        +list(args)
    }
    class ExperimentAction {
        +show(args)
        +list(args)
    }
    class CfgAction {
        +load(args)
        +unload(args)
    }
    class Repo {
        -path : str
        -meta : dict
    }
    class Automation {
        -cmind : Action
        +execute(args)
    }
    class Index {
        +find()
    }

    Action <|-- RepoAction
    Action <|-- ScriptAction
    Action <|-- CacheAction
    Action <|-- ExperimentAction
    Action <|-- CfgAction
    Repo "1" *-- Action
    Automation "1" *-- Action

    class get_action {
        +actions : dict
        +get_action(target)
    }

    main --> get_action
    get_action --> RepoAction
    get_action --> ScriptAction
    get_action --> CacheAction
    get_action --> ExperimentAction
    get_action --> CfgAction
```


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mlcflow",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "mlc, mlcflow, pypi, package, automation",
    "author": null,
    "author_email": "MLCommons <systems@mlcommons.org>",
    "download_url": null,
    "platform": null,
    "description": "**MLCFlow: Simplifying MLPerf Automations**\n\nMLCFlow is a versatile CLI and Python interface developed by MLCommons in collaboration with a dedicated team of volunteers (see [Contributors](CONTRIBUTORS.md)). It serves as a streamlined replacement for the [CMind](https://github.com/mlcommons/ck/tree/master/cm) tool, designed to drive the automation workflows of MLPerf benchmarks more efficiently. \n\nThe concept behind CMind originated from **Grigori Fursin**, while the **MLPerf Automations** project was created by **Grigori Fursin** and **Arjun Suresh**, whose collective contributions laid the foundation for modernizing MLPerf benchmarking tools.\n\n### Key Features\nBuilding upon the core idea of CMind\u2014wrapping native scripts with Python wrappers and YAML metadata\u2014MLCFlow focuses exclusively on key automation components: **Scripts**, along with its complementary modules: **Cache**, **Docker**, and **Experiments**. This targeted design simplifies both implementation and interface, enabling a more user-friendly experience.\n\n### Status\nMLCFlow is currently a **work in progress** and not yet ready for production use. If you are interested in contributing to its initial development, please email [arjun@mlcommons.org](mailto:arjun@mlcommons.org) to join the daily development meetings and see [Issues](https://github.com/mlcommons/mlcflow/issues) for seeing the development progress.\n\n### Getting Started\nFor early contributors, please use the `mlc` branch of the [MLPerf Automations](https://github.com/mlcommons/mlperf-automations) repository while working with MLCFlow.\n\n\n---\n\n## MLC CLI Overview\n\nThe **MLC Command-Line Interface (CLI)** enables users to perform actions on specified targets using a simple syntax:\n\n```bash\nmlc <action> <target> [options]\n```\n\n### Key Components:\n- **`<action>`**: The operation to be performed.\n- **`<target>`**: The object on which the action is executed.\n- **`[options]`**: Additional parameters passed to the action.\n\n---\n\n### Supported Targets and Actions\n\n#### 1. **Repo**\n- Actions related to repositories, such as cloning or updating.\n\n#### 2. **Script**\n- Manage or execute automation scripts.\n\n#### 3. **Cache**\n- Handle cached data, including cleanup or inspection.\n\nEach target has its own set of specific actions to tailor automation workflows.\n\n## CM compatibility layer\n\nMLC has a compatibility layer where by it supports MLCommons CM automations - Script, Cache and Experiment. \n\n## Architectural Diagram\n\n```mermaid\nclassDiagram\n    class Action {\n        -repos_path : str\n        -cfg : dict\n        -repos : list\n        +execute(args)\n        +access(options)\n        +asearch(i)\n        +find_target_folder(target)\n        +load_repos_and_meta()\n        +load_repos()\n    }\n    class RepoAction {\n        +github_url_to_user_repo_format(url)\n        +pull(args)\n        +list(args)\n    }\n    class ScriptAction {\n        +run(args)\n        +list(args)\n    }\n    class CacheAction {\n        +show(args)\n        +list(args)\n    }\n    class ExperimentAction {\n        +show(args)\n        +list(args)\n    }\n    class CfgAction {\n        +load(args)\n        +unload(args)\n    }\n    class Repo {\n        -path : str\n        -meta : dict\n    }\n    class Automation {\n        -cmind : Action\n        +execute(args)\n    }\n    class Index {\n        +find()\n    }\n\n    Action <|-- RepoAction\n    Action <|-- ScriptAction\n    Action <|-- CacheAction\n    Action <|-- ExperimentAction\n    Action <|-- CfgAction\n    Repo \"1\" *-- Action\n    Automation \"1\" *-- Action\n\n    class get_action {\n        +actions : dict\n        +get_action(target)\n    }\n\n    main --> get_action\n    get_action --> RepoAction\n    get_action --> ScriptAction\n    get_action --> CacheAction\n    get_action --> ExperimentAction\n    get_action --> CfgAction\n```\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "An automation interface for ML applications",
    "version": "0.1.2",
    "project_urls": {
        "Documentation": "https://docs.mlcommons.org/mlcflow",
        "Homepage": "https://github.com/mlcommons/mlcflow",
        "Issues": "https://github.com/mlcommons/mlcflow/issues",
        "Repository": "https://github.com/mlcommons/mlcflow"
    },
    "split_keywords": [
        "mlc",
        " mlcflow",
        " pypi",
        " package",
        " automation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "43345b769305856748e539997441ef08c4781d50871af69935501a185999062c",
                "md5": "865a0d4c0ae4f86b1d5c0c27a297e473",
                "sha256": "6c53d14ec4b3959493b5812584fc7ed3414b31f70e62ce13cb0a0c2131b17cce"
            },
            "downloads": -1,
            "filename": "mlcflow-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "865a0d4c0ae4f86b1d5c0c27a297e473",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 23340,
            "upload_time": "2025-01-21T11:11:57",
            "upload_time_iso_8601": "2025-01-21T11:11:57.575058Z",
            "url": "https://files.pythonhosted.org/packages/43/34/5b769305856748e539997441ef08c4781d50871af69935501a185999062c/mlcflow-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-21 11:11:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mlcommons",
    "github_project": "mlcflow",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mlcflow"
}
        
Elapsed time: 0.43953s