{"id":27962,"library":"mlcflow","title":"MLCflow","description":"MLCflow is an automation interface for CPU/GPU benchmarking, providing a unified Python API to run, manage, and compare benchmark experiments. It supports hardware detection, resource monitoring, and result aggregation. The current PyPI version is 1.2.1, with a release cadence of approximately monthly.","status":"active","version":"1.2.1","language":"python","source_language":"en","source_url":"https://github.com/mlcommons/mlcflow","tags":["benchmarking","CPU","GPU","automation","MLCommons"],"install":[{"cmd":"pip install mlcflow","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"System resource monitoring","package":"psutil","optional":false},{"reason":"Result data handling","package":"pandas","optional":false}],"imports":[{"note":"Main benchmarking class.","wrong":null,"symbol":"MLCBench","correct":"from mlcflow import MLCBench"},{"note":"Configuration object for benchmarks.","wrong":null,"symbol":"BenchmarkConfig","correct":"from mlcflow import BenchmarkConfig"}],"quickstart":{"code":"from mlcflow import MLCBench\nbench = MLCBench()\nconfig = bench.create_config('cpu', 'simple', extra='--iterations 10')\nresults = bench.run(config)\nprint(results.summary())","lang":"python","description":"Create a simple CPU benchmark, run it, and print summary."},"warnings":[{"fix":"Access results via indexing: `results[0]['metric']`.","message":"The `run()` method returns a list of result dicts, not a single dict. Iterate over the list or use `results[0]` if only one config.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Pass iterations via `extra` parameter: `bench.create_config('cpu', 'simple', extra='--iterations 10')`.","message":"The `BenchmarkConfig` parameter `iterations` is deprecated since v1.1.0; use `extra='--iterations N'` instead.","severity":"deprecated","affected_versions":">=1.1.0"},{"fix":"Create a fresh `MLCBench()` for each hardware configuration.","message":"When changing hardware (e.g., GPU type), you must create a new `MLCBench` instance; reusing the same instance may cache old hardware info.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Run `pip install mlcflow` (hyphen vs underscore not relevant, but install with the correct PyPI name).","cause":"Package not installed or installed with wrong name (e.g., 'mlc-flow').","error":"ModuleNotFoundError: No module named 'mlcflow'"},{"fix":"Use `results[0].summary()` or iterate over list.","cause":"Assuming `results` is a single object with `.summary()` method; actually it is a list.","error":"KeyError: 'summary' on results"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}