• Improved tooling for admin and support roles to debug deleted runs.

  • Users are now prompted to confirm whether they want to override an existing API key with mcli set api-key

  • Warn when scheduling and compute sections in a run configuration contain unrecognized fields.

  • Better error handling and messaging if invalid integrations are provided


  • Added run_type to Run model

  • Admin changes to get orgs, and org id filter for mcli-admin get users


  • Add GPU rank logging


  • Add mcli get runs -m <metadata-flag> option for metadata display

  • Fix bug where version warning was printed to stdout


  • Fixes minor bug in mcli interactive

  • Improves mcli get runs - removes created time, user, and cluster; fixes -o; and moves compute specification up to look like its run level


  • Add more descriptive error messages to mcli stop


  • Adds mcli interactive –instance {name} option for clusters with multiple instance types

  • Adds mcli interactive –nodes {num} for feature compatibility with mcli run

  • Adds –node-names (comma-delimited list) to both mcli run and mcli interactive

  • Re-organizes mcli run -h to have all compute overrides in the same section

  • Adds create_interactive_run to mcli root. If we want to give users added functionality in the future like allowing priority CL overrides for mcli interactive.


  • Updates to docs

  • Bug fixes


  • Updates to finetuning

  • Improved debugging


  • Bugfixes


New features since 0.5#


Major deprecations and backwards breaking behavior:

  • All SDK functions return ObjectList iterable type instead of list type. This will work exactly like a list but may break type checking

  • mcli.get_runs and mcli.get_finetuning_runs will by default limit to 50 runs if limit is not pre-specified

  • Removes run_name from RunConfig object and yaml support (use name)

  • Removes finetune (use create_finetuning_run)

Other deprecations

  • Removes KubernetesException (use MAPIException instead)

  • Removes entrypoint, platform, optimization_level, partitions, and run_id fields from RunConfig object and yaml support

  • Removes get_runs(is_interactive=True) (use get_runs(run_types=['INTERACTIVE']))

  • Run utilization simplification:

    • Removes instance level information from InstanceUtilization (pull from the instance object instead)

    • Removes active_by_user and queued_by_user from ClusterUtilization (use active_runs_by_user and queued_runs_by_user instead)

    • Removes kubernetes_context, namespace, and id from ClusterDetails

    • Removes ClusterUtilization.anonymize_users

  • Removes Cluster model (use ClusterDetails)

  • Removes Cluster.submission_type (use Cluster.submission_types)

Deprecation warnings:

  • Inference deployments under deprecation notice

  • Removing support for from mcli.sdk import * (use from mcli import *)

  • Finetuning experiment_trackers should be experiment_tracker

  • Removing support for cluster, gpu_num, gpu_type and cpus on RunConfig and root level yaml (Nest under compute instead. gpu_num renamed to gpus)

  • Removing support for RunConfig environment variables dict format (eg [{'key': 'FOO', 'value': 'BAR'}]. Use dictionary instead ({'FOO': 'BAR'})