[FR] Be able to set the description of a run programmatically
See original GitHub issueThank you for submitting a feature request. Before proceeding, please review MLflow’s Issue Policy for feature requests and the MLflow Contributing Guide.
Please fill in this feature request template to ensure a timely and thorough response.
Willingness to contribute
The MLflow Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature (either as an MLflow Plugin or an enhancement to the MLflow code base)?
- Yes. I can contribute this feature independently.
- Yes. I would be willing to contribute this feature with guidance from the MLflow community.
- No. I cannot contribute this feature at this time.
Proposal Summary
Not sure if this is possible already, but it would be nice to have some functionality to set the description of a run programmatically. Checking through the documentation and issues I haven’t found a way of doing this yet. This could manifest as one or more of:
mlflow.start_runwould have a parameterdescriptionthat would be just anOptional[str].- A new function
mlflow.set_descriptiontaking a single stringdescription. - As a possible extra
mlflow.get_descriptionwould retrieve the current description. - Probably would need to modify the
mlflow.entitiesmodule as well.
Motivation
-
What is the use case for this feature? Being able to provide some text description when submitting a job from the command line at the start of the run instead of going to the web UI after the job is triggered.
-
Why is this use case valuable to support for MLflow users in general? Users could start runs with a particular set of hyper-parameters and provide a some description of what its trying to achieve/test without starting the server.
-
Why is this use case valuable to support for your project(s) or organization? At the moment I am triggering runs using argument parsers in the command line. It would be nice to just set the description at the point of starting the run and not have to worry about it later.
-
Why is it currently difficult to achieve this use case? (please be as specific as possible about why related MLflow features and components are insufficient) It isn’t that much effort for me to set the description in the web UI. But I felt that if it was possible to set tags programmatically, then being able to set descriptions also would make the logging more feature complete.
What component(s), interfaces, languages, and integrations does this feature affect?
Components
-
area/artifacts: Artifact stores and artifact logging -
area/build: Build and test infrastructure for MLflow -
area/docs: MLflow documentation pages -
area/examples: Example code -
area/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registry -
area/models: MLmodel format, model serialization/deserialization, flavors -
area/projects: MLproject format, project running backends -
area/scoring: MLflow Model server, model deployment tools, Spark UDFs -
area/server-infra: MLflow Tracking server backend -
area/tracking: Tracking Service, tracking client APIs, autologging
Interfaces
-
area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev server -
area/docker: Docker use across MLflow’s components, such as MLflow Projects and MLflow Models -
area/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registry -
area/windows: Windows support
Languages
-
language/r: R APIs and clients -
language/java: Java APIs and clients -
language/new: Proposals for new client languages
Integrations
-
integrations/azure: Azure and Azure ML integrations -
integrations/sagemaker: SageMaker integrations -
integrations/databricks: Databricks integrations
Details
If this feature exists or has been raised already feel free to close the issue.
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:8 (3 by maintainers)

Top Related StackOverflow Question
In the meantime, though, if you would like to populate this field within the UI, the tag key that you need to set is:
'mlflow.note.content'So, to set it during run creation, you’ll do something like this:
And you’ll see the description box populated with text.
Now that it’s the weekend I had some time to give this a go: #5534. Feel free to make changes directly on it or suggest ones that I can try to implement. Will try to re-run the doc building again once the jinja2 issues get resolved.