Name | mlcflow JSON |
Version |
0.1.2
JSON |
| download |
home_page | None |
Summary | An automation interface for ML applications |
upload_time | 2025-01-21 11:11:57 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | None |
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"
}