Skip to content

CLI command suggestion after running the pipeline#6376

Merged
harupy merged 5 commits intomlflow:masterfrom
hubertzub-db:hzub-cli-suggestion
Aug 16, 2022
Merged

CLI command suggestion after running the pipeline#6376
harupy merged 5 commits intomlflow:masterfrom
hubertzub-db:hzub-cli-suggestion

Conversation

@hubertzub-db
Copy link
Copy Markdown
Collaborator

@hubertzub-db hubertzub-db commented Aug 1, 2022

Signed-off-by: Hubert Zub [email protected]

What changes are proposed in this pull request?

After running the pipeline with a given profile and step parameters, those parameters are saved in run tags. On the run details page, this data is being utilized to suggest a CLI command that recreates the same execution.

Screen Shot 2022-08-05 at 11 10 44

How is this patch tested?

  • done manual tests on both full runs (without defined step) and on runs with a named step (e.g. -s train).
  • existing unit test suite was extended with tag case

Does this PR change the documentation?

  • No. You can skip the rest of this section.
  • Yes. Make sure the changed pages / sections render correctly by following the steps below.
  1. Check the status of the ci/circleci: build_doc check. If it's successful, proceed to the
    next step, otherwise fix it.
  2. Click Details on the right to open the job page of CircleCI.
  3. Click the Artifacts tab.
  4. Click docs/build/html/index.html.
  5. Find the changed pages / sections and make sure they render correctly.

Release Notes

Is this a user-facing change?

  • No. You can skip the rest of this section.
  • Yes. Give a description of this change to be included in the release notes for MLflow users.

Display CLI command in the tracking UI that reproduces given ML Pipelines run.

What component(s), interfaces, languages, and integrations does this PR 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/pipelines: Pipelines, Pipeline APIs, Pipeline configs, Pipeline Templates
  • 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

Interface

  • 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

Language

  • 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

How should the PR be classified in the release notes? Choose one:

  • rn/breaking-change - The PR will be mentioned in the "Breaking Changes" section
  • rn/none - No description will be included. The PR will be mentioned only by the PR number in the "Small Bugfixes and Documentation Updates" section
  • rn/feature - A new user-facing feature worth mentioning in the release notes
  • rn/bug-fix - A user-facing bug fix worth mentioning in the release notes
  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

@github-actions github-actions bot added area/recipes MLflow Recipes, Recipes APIs, Recipes configs, Recipe Templates area/uiux Front-end, user experience, plotting, JavaScript, JavaScript dev server rn/feature Mention under Features in Changelogs. labels Aug 1, 2022
Copy link
Copy Markdown
Contributor

@jinzhang21 jinzhang21 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we actually guarantee reproducing the run by showing a command with recorded profile name and step name? What if users changed the content of the profile in between? If we just want to show a tip for running the pipeline, I'd prefer to not recording the step but simply showing how to run the entire pipeline via mlp run --profile PROFILE.

@hubertzub-db
Copy link
Copy Markdown
Collaborator Author

Can we actually guarantee reproducing the run by showing a command with recorded profile name and step name? What if users changed the content of the profile in between? If we just want to show a tip for running the pipeline, I'd prefer to not recording the step but simply showing how to run the entire pipeline via mlp run --profile PROFILE.

Makes sense, however I'm not sure if there was no other intention here. @sunishsheth2009 what do you think?

@sunishsheth2009
Copy link
Copy Markdown
Collaborator

Can we actually guarantee reproducing the run by showing a command with recorded profile name and step name? What if users changed the content of the profile in between? If we just want to show a tip for running the pipeline, I'd prefer to not recording the step but simply showing how to run the entire pipeline via mlp run --profile PROFILE.

Don't you think @jinzhang21 that just using the profile context would have the same problem of users changing the underlying profile? Or even the profile-name for that matter? Step names for now are static. For future it would be good to show step name as well once users can create their own steps which have a unique step name. What do you think?

@dbczumar
Copy link
Copy Markdown
Collaborator

dbczumar commented Aug 3, 2022

Can we actually guarantee reproducing the run by showing a command with recorded profile name and step name? What if users changed the content of the profile in between? If we just want to show a tip for running the pipeline, I'd prefer to not recording the step but simply showing how to run the entire pipeline via mlp run --profile PROFILE.

Don't you think @jinzhang21 that just using the profile context would have the same problem of users changing the underlying profile? Or even the profile-name for that matter? Step names for now are static. For future it would be good to show step name as well once users can create their own steps which have a unique step name. What do you think?

For reproducibility, it would suffice to include git clone <pipeline_repo> and git checkout <commit> commands before the mlflow pipelines run invocation. It would be more convenient syntactically if mlflow pipelines run supported passing in a repo URL and commit as commandline flags.

@jinzhang21
Copy link
Copy Markdown
Contributor

jinzhang21 commented Aug 4, 2022

Can we actually guarantee reproducing the run by showing a command with recorded profile name and step name? What if users changed the content of the profile in between? If we just want to show a tip for running the pipeline, I'd prefer to not recording the step but simply showing how to run the entire pipeline via mlp run --profile PROFILE.

Don't you think @jinzhang21 that just using the profile context would have the same problem of users changing the underlying profile? Or even the profile-name for that matter? Step names for now are static. For future it would be good to show step name as well once users can create their own steps which have a unique step name. What do you think?

For reproducibility, it would suffice to include git clone <pipeline_repo> and git checkout <commit> commands before the mlflow pipelines run invocation. It would be more convenient syntactically if mlflow pipelines run supported passing in a repo URL and commit as commandline flags.

All great recommendations. Makes sense to me. One more thing on the step recorded here:
Instead of recording the step user asked to run, we might want to record the actual last step executed successfully. Imagine a partial execution p.run("evaluate") that succeeds in train but fails in evaluate (for whatever reason), do we want to show a command that guarantees to fail in evaluate again? --> nvm. We decided to reproduce a failed run too.

pipeline.yaml to generate the configuration to run the pipeline.
"""
self._pipeline_root_path = pipeline_root_path
self._initial_config_step = ""
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_initial_config_step -> _run_args, and record all args provided to Pipeline.run(). This will come in handy in future iterations we plan to add more args to the API.

Constructs and returns all pipeline step objects from the pipeline configuration.
"""
pipeline_config = get_pipeline_config(self._pipeline_root_path, self._profile)
pipeline_config["initial_config_profile"] = self.profile
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

initial_config_profile -> profile to be internally consistent

MLFLOW_SOURCE_TYPE: SourceType.to_string(SourceType.PIPELINE),
MLFLOW_PIPELINE_TEMPLATE_NAME: self.step_config["template_name"],
MLFLOW_PIPELINE_PROFILE_NAME: self.step_config["initial_config_profile"],
MLFLOW_PIPELINE_STEP_NAME: self.step_config["initial_config_step"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here you should be able to get the step name via self.step_config["run_args"]["step"]

@hubertzub-db hubertzub-db requested a review from jinzhang21 August 5, 2022 09:12
Copy link
Copy Markdown
Contributor

@jinzhang21 jinzhang21 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix the lint and address my comments. Otherwise, LGTM!

MLFLOW_PIPELINE_PROFILE_NAME: self.step_config["initial_config_profile"],
MLFLOW_PIPELINE_STEP_NAME: self.step_config["initial_config_step"]
MLFLOW_PIPELINE_PROFILE_NAME: self.step_config["profile"],
MLFLOW_PIPELINE_STEP_NAME: self.step_config["run_args"]["step"]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self.step_config["run_args"].get("step") or "" is probably better way to handle the step == None case.

self._initial_config_step = step
# Save the run parameters for later
self._run_args = {
"step": step
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way to automatically capture all run_args from the function? Something from inspect package could help.
I have not investigated carefully, but inspect.getargvalues(inspect.currentframe()) may work. If it's too complicated to implement, don't bother. The current approach is not great but OK.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jinzhang21
I was looking for a solution for this before and the only thing I found is https://stackoverflow.com/a/10724602/18956398
It seems to be pretty hacky so I didn't use it - but maybe it's ok? 🤔 I don't feel super confident in python, not sure what's elegant and what's not.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The solution looks fine (not as hacky to me). But we don't have to do it in this PR. You can submit the code as is. We could discuss what to do when it comes to the point of extending the run() API.

tags = {
MLFLOW_SOURCE_TYPE: SourceType.to_string(SourceType.PIPELINE),
MLFLOW_PIPELINE_TEMPLATE_NAME: self.step_config["template_name"],
MLFLOW_PIPELINE_PROFILE_NAME: self.step_config["profile"],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've extended existing unit test.

Signed-off-by: Hubert Zub <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>
@jinzhang21 jinzhang21 enabled auto-merge (squash) August 15, 2022 17:26
Copy link
Copy Markdown
Collaborator

@sunishsheth2009 sunishsheth2009 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall.

Comment on lines +133 to +135
if (sourceName) {
runCommand += `git clone ${sourceName}\n`;
}
Copy link
Copy Markdown
Collaborator

@sunishsheth2009 sunishsheth2009 Aug 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am assuming the sourceName and the sourceVersion is automatically tracked while to create/start a run?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume it's always here, at least it something that deducted from the code.

@harupy harupy disabled auto-merge August 16, 2022 07:49
@harupy harupy merged commit 82f4b2c into mlflow:master Aug 16, 2022
harupy added a commit that referenced this pull request Aug 19, 2022
* Fix java model server compatibility with models containing databricks_runtime conf (#6337)

* Javafix

Signed-off-by: dbczumar <[email protected]>

* Resource fix

Signed-off-by: dbczumar <[email protected]>

* Add run / model links to MLP train step card (#6294)

* One commit

Signed-off-by: dbczumar <[email protected]>

* Submodule revert

Signed-off-by: dbczumar <[email protected]>

* Fix client tests

Signed-off-by: dbczumar <[email protected]>

* fix ci

Signed-off-by: dbczumar <[email protected]>

* Remove unused / invalid import

Signed-off-by: dbczumar <[email protected]>

* Put run summary back to end, fix tests

Signed-off-by: dbczumar <[email protected]>

* Use mocks instead

Signed-off-by: dbczumar <[email protected]>

* Fix inefficient relative time computation for metric plot (#6341)

* compute minTimestamp only once

Signed-off-by: harupy <[email protected]>

* fix method name

Signed-off-by: harupy <[email protected]>

* fix lint

Signed-off-by: harupy <[email protected]>

* return empty array

Signed-off-by: harupy <[email protected]>

* fix test

Signed-off-by: harupy <[email protected]>

* Add `MLFLOW_SQLALCHEMYSTORE_POOL_RECYCLE` flag (#6344)

* Add pool_recycle option to SQLAlchemy create_engine

Signed-off-by: Michal Karzynski <[email protected]>

* Add new option to unit test

Signed-off-by: Michal Karzynski <[email protected]>

* Add note in documentation

Signed-off-by: Michal Karzynski <[email protected]>

* Add box plot in compare-runs page (#6308)

* Added BoxPlot

Signed-off-by: changyonglik <[email protected]>

* Fixed key error

Signed-off-by: changyonglik <[email protected]>

* Added default state

Signed-off-by: changyonglik <[email protected]>

* Fixed props passing

Signed-off-by: changyonglik <[email protected]>

* Fixed react hooks state

Signed-off-by: changyonglik <[email protected]>

* Added unit test

Signed-off-by: changyonglik <[email protected]>

* Added boxplot to CompareModelVersion

Signed-off-by: changyonglik <[email protected]>

* Changed keys numbering to reflect tab name

Signed-off-by: changyonglik <[email protected]>

* Made the ordering of tabs consistent accross CompareRunView and CompareModelVersion

Signed-off-by: changyonglik <[email protected]>

* Linted

Signed-off-by: changyonglik <[email protected]>

* Fixed FormattedMessage

Signed-off-by: changyonglik <[email protected]>

* refactoring

Signed-off-by: harupy <[email protected]>

* fix lint errors

Signed-off-by: harupy <[email protected]>

* i18n

Signed-off-by: harupy <[email protected]>

* minor comment fix

Signed-off-by: harupy <[email protected]>

Co-authored-by: harupy <[email protected]>

* Add script and workflow to update requirements.yaml specifications (#6287)

* add script to update requirements.yaml

Signed-off-by: harupy <[email protected]>

* update both skinny and core requirements

Signed-off-by: harupy <[email protected]>

* remove base

Signed-off-by: harupy <[email protected]>

* clean up

Signed-off-by: harupy <[email protected]>

* add MLFLOW_CONDA_HOME

Signed-off-by: harupy <[email protected]>

* create create-pr job

Signed-off-by: harupy <[email protected]>

* fix syntax

Signed-off-by: harupy <[email protected]>

* remove redundant if

Signed-off-by: harupy <[email protected]>

* clean up

Signed-off-by: harupy <[email protected]>

* doc

Signed-off-by: harupy <[email protected]>

* dynamically determine python version

Signed-off-by: harupy <[email protected]>

* remove python version mock

Signed-off-by: harupy <[email protected]>

* use setup-ssh.sh in master.yml

Signed-off-by: harupy <[email protected]>

* simplify

Signed-off-by: harupy <[email protected]>

* update both core and skinny requirements

Signed-off-by: harupy <[email protected]>

* use env

Signed-off-by: harupy <[email protected]>

* remove action version

Signed-off-by: harupy <[email protected]>

* fix pandas dtypes issue

Signed-off-by: harupy <[email protected]>

* check if PR already exists

Signed-off-by: harupy <[email protected]>

* add semicolons

Signed-off-by: harupy <[email protected]>

* test PR creation

Signed-off-by: harupy <[email protected]>

* set base

Signed-off-by: harupy <[email protected]>

* use run_number

Signed-off-by: harupy <[email protected]>

* set result-encoding

Signed-off-by: harupy <[email protected]>

* revert changes for test

Signed-off-by: harupy <[email protected]>

* fix more tests

Signed-off-by: harupy <[email protected]>

* fix run URL

Signed-off-by: harupy <[email protected]>

* add dot

Signed-off-by: harupy <[email protected]>

* remove minimum_version

Signed-off-by: harupy <[email protected]>

* remove create-pr job

Signed-off-by: harupy <[email protected]>

* rename workflow

Signed-off-by: harupy <[email protected]>

* mutate dict approach

Signed-off-by: harupy <[email protected]>

* use ruamel

Signed-off-by: harupy <[email protected]>

* remove PYTHON_VERSION patch

Signed-off-by: harupy <[email protected]>

* add ruamel.yaml to requirements

Signed-off-by: harupy <[email protected]>

* skip update-requirements on PR

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* print new version

Signed-off-by: harupy <[email protected]>

* preserve quotes

Signed-off-by: harupy <[email protected]>

* fix badge

Signed-off-by: harupy <[email protected]>

* fix README

Signed-off-by: harupy <[email protected]>

* run ci

Signed-off-by: harupy <[email protected]>

* remove validate-requirements.yml

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* fix test_dataframe_from_json

Signed-off-by: harupy <[email protected]>

* Make `model_uri` optional for `mlflow models build-docker` (#6302)

* Make model_uri optional for mlflow models build-docker

Signed-off-by: harupy <[email protected]>

* fix doc

Signed-off-by: harupy <[email protected]>

* Add generic

Signed-off-by: harupy <[email protected]>

* Add pythou_function flavor

Signed-off-by: harupy <[email protected]>

* fix doc

Signed-off-by: harupy <[email protected]>

* quotes

Signed-off-by: harupy <[email protected]>

* use longer options

Signed-off-by: harupy <[email protected]>

* add index (#6347)

Signed-off-by: harupy <[email protected]>

* fix badge link (#6349)

Signed-off-by: harupy <[email protected]>

* Enable consider-using-dict-items rule for pylint (#6351)

* Enable consider-using-dict-items

Signed-off-by: harupy <[email protected]>

* fix lint errors

Signed-off-by: harupy <[email protected]>

* Enable consider-merging-isinstance (#6350)

Signed-off-by: harupy <[email protected]>

* Enable consider-using-from-import rule for pylint (#6352)

* Enable consider-using-from-import

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* fix datasets import

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* Run model registry sqlalchemy tests in database job (#6353)

Signed-off-by: harupy <[email protected]>

* update to run profiles on the first 100 dataframe columns (#6297)

* update to run profiles on the first 100 dataframe columns

Signed-off-by: Sunish Sheth <[email protected]>

* Adding replace=True so we can sample rows twice

Signed-off-by: Sunish Sheth <[email protected]>

* Removing replace=true and fixing how the max_rows are calculated

Signed-off-by: Sunish Sheth <[email protected]>

* Fix sklearn autologging input example & signature mutation for models containing transformers (#6230)

* Fix with test case

Signed-off-by: dbczumar <[email protected]>

* Test fix

Signed-off-by: dbczumar <[email protected]>

* Fix and simplification

Signed-off-by: dbczumar <[email protected]>

* more fixes & better test coveragE

Signed-off-by: dbczumar <[email protected]>

* test

Signed-off-by: dbczumar <[email protected]>

* LGBM test

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Address comments

Signed-off-by: dbczumar <[email protected]>

* Fixes

Signed-off-by: dbczumar <[email protected]>

* Use py37-compatible call args syntax

Signed-off-by: dbczumar <[email protected]>

* use list (#6363)

Signed-off-by: harupy <[email protected]>

* Log runtime pipeline config to MLflow (#6359)

* Log runtime pipeline config to MLflow

Signed-off-by: Jin Zhang <[email protected]>

* Fixed lint

Signed-off-by: Jin Zhang <[email protected]>

* Add status badge for stale action (#6372)

Signed-off-by: harupy <[email protected]>

* Add stack trace section to bug report template (#6374)

Signed-off-by: harupy <[email protected]>

* Skipping the transform step by using Functional transformer (#6362)

Signed-off-by: Sunish Sheth <[email protected]>

* Series schema (#6361)

* Added in name for ColSpec of pandas datatype

infer panda series name for ColSpec

Signed-off-by: Ryan Fogle <[email protected]>

* Added test for Series name inference

added one more pytest condition in test_schema:test_schema_inference_on_pandas_series

Signed-off-by: Ryan Fogle <[email protected]>

* Update test_schema.py

Added in one more assertion to test schema inference.

Signed-off-by: Ryan Fogle <[email protected]>

* ran black

Signed-off-by: Ryan Fogle <[email protected]>

* added in requested changes in issue #6361

Signed-off-by: Ryan Fogle <[email protected]>

* fix typo. changed hasattr to getattr

Signed-off-by: Ryan Fogle <[email protected]>

* integrate mlflowdbfs (#6282)

Signed-off-by: Brian Barnes <[email protected]>

* Fix step card display breakage in Jupyter notebooks (#6378)

* remove

Signed-off-by: apurva-koti <[email protected]>

* fix

Signed-off-by: apurva-koti <[email protected]>

* Avoid using flask 2.2.0 (#6380)

Signed-off-by: harupy <[email protected]>

* Migrate GCS environment variables to `mlflow.environment_variables` module (#6375)

* Migrate GCS environment variables to mlflow.environment_variables

Signed-off-by: harupy <[email protected]>

* add default

Signed-off-by: harupy <[email protected]>

* improve comments

Signed-off-by: harupy <[email protected]>

* Avoid logging model signatures in pyspark ML autologging if model input/output dataframe contains unsupported data types (#6365)

* Avoid logging signatures

Signed-off-by: harupy <[email protected]>

* test

Signed-off-by: harupy <[email protected]>

* fix indent

Signed-off-by: harupy <[email protected]>

* check model output

Signed-off-by: harupy <[email protected]>

* fix warning message

Signed-off-by: harupy <[email protected]>

* todo

Signed-off-by: harupy <[email protected]>

* update test and doc

Signed-off-by: harupy <[email protected]>

* fix docstring

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* improve _assert_autolog_infers_model_signature_correctly

Signed-off-by: harupy <[email protected]>

* Refactor `set_matrix.py` (#6373)

* refacor set_matrix.py

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* fix tests

Signed-off-by: harupy <[email protected]>

* tset for --no-dev

Signed-off-by: harupy <[email protected]>

* install pytest and pytest-cov

Signed-off-by: harupy <[email protected]>

* test for --changed-files

Signed-off-by: harupy <[email protected]>

* add pyyaml to requirements

Signed-off-by: harupy <[email protected]>

* fix is_matrix_empty

Signed-off-by: harupy <[email protected]>

* use raw string and re.match

Signed-off-by: harupy <[email protected]>

* Fix is_matrix_empty (#6385)

Signed-off-by: harupy <[email protected]>

* Allow mlflow-skinny's autolog() to succeed when no scipy is installed (#5897)

* allow mlflow-skinny's autolog() to succeed when no scipy is installed

Signed-off-by: Hannes Schulz <[email protected]>

* optional pyfunc scipy dependency

Signed-off-by: Hannes Schulz <[email protected]>

* fix linter-discovered issues

Signed-off-by: Hannes Schulz <[email protected]>

* add test case, autolog() should pass w/o scipy installed

Signed-off-by: Hannes Schulz <[email protected]>

* minor cleanup

Signed-off-by: Hannes Schulz <[email protected]>

* test creating _Example with / without scipy present

Signed-off-by: Hannes Schulz <[email protected]>

* docs: do not warn about sparse matrix classes

Signed-off-by: Hannes Schulz <[email protected]>

* linting

Signed-off-by: Hannes Schulz <[email protected]>

* address review comment

Signed-off-by: Hannes Schulz <[email protected]>

* run black

Signed-off-by: Hannes Schulz <[email protected]>

* allow mlflow-skinny's autolog() to succeed when no scipy is installed

Signed-off-by: Hannes Schulz <[email protected]>

* optional pyfunc scipy dependency

Signed-off-by: Hannes Schulz <[email protected]>

* fix linter-discovered issues

Signed-off-by: Hannes Schulz <[email protected]>

* add test case, autolog() should pass w/o scipy installed

Signed-off-by: Hannes Schulz <[email protected]>

* minor cleanup

Signed-off-by: Hannes Schulz <[email protected]>

* test creating _Example with / without scipy present

Signed-off-by: Hannes Schulz <[email protected]>

* docs: do not warn about sparse matrix classes

Signed-off-by: Hannes Schulz <[email protected]>

* linting

Signed-off-by: Hannes Schulz <[email protected]>

* address review comment

Signed-off-by: Hannes Schulz <[email protected]>

* run black

Signed-off-by: Hannes Schulz <[email protected]>

* remove redundant None check after import

Signed-off-by: Hannes Schulz <[email protected]>

* delete comment

Signed-off-by: Hannes Schulz <[email protected]>

* Revert "remove redundant None check after import"

This reverts commit f2e198c.

Signed-off-by: Hannes Schulz <[email protected]>

* review comments

Signed-off-by: Hannes Schulz <[email protected]>

* remove redundant test

Signed-off-by: Hannes Schulz <[email protected]>

* Apply suggestions from code review

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hannes Schulz <[email protected]>

* Autoformat: https://github.com/mlflow/mlflow/actions/runs/2779791161

Signed-off-by: mlflow-automation <[email protected]>

Co-authored-by: Harutaka Kawamura <[email protected]>
Co-authored-by: dbczumar <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>

* Fix extraneous warning about pyspark evaluation truncation (#6389)

* Revert #6380 (#6386)

* revert

Signed-off-by: harupy <[email protected]>

* workaround for test_prometheus_exporter

Signed-off-by: harupy <[email protected]>

* nit

Signed-off-by: harupy <[email protected]>

* Validate metric value in `FileStore.log_metric` (#6381)

* add failing test

Signed-off-by: harupy <[email protected]>

* use _validate_metric

Signed-off-by: harupy <[email protected]>

* fix invalid metric timestamp

Signed-off-by: harupy <[email protected]>

* fix docstring

Signed-off-by: harupy <[email protected]>

* fix java test

Signed-off-by: harupy <[email protected]>

* Make search experiment by tag key comparison case sensitive in MYSQL (#6333)

* init

Signed-off-by: Weichen Xu <[email protected]>

* add test

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* fix BINARY conditions in MySQL

Signed-off-by: harupy <[email protected]>

* fix attr error

Signed-off-by: harupy <[email protected]>

Co-authored-by: harupy <[email protected]>

* Run Model Registry SQLAlchemy tests in PostgreSQL, MySQL, and MSSQL (#6390)

* Run Model Registry SQLAlchemy tests in postgres, mysql, and mssql

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* remove uuid

Signed-off-by: harupy <[email protected]>

* clean up

Signed-off-by: harupy <[email protected]>

* do not drop tables

Signed-off-by: harupy <[email protected]>

* Fix filestore data loss on failed write & mitigate read / write race condition (#6388)

* Fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Added a custom filter from_json to render_and_merge_yaml (#6368)

* Added a custom filter from_json to render_and_merge_yaml

Signed-off-by: Jin Zhang <[email protected]>

* Fixed test

Signed-off-by: Jin Zhang <[email protected]>

* Update tests/utils/test_file_utils.py

Co-authored-by: Siddharth Murching <[email protected]>

* Update tests/utils/test_file_utils.py

Co-authored-by: Siddharth Murching <[email protected]>

* Fixed test

Signed-off-by: Jin Zhang <[email protected]>

* Fixed windows test attempt

Signed-off-by: Jin Zhang <[email protected]>

* Fixed windows test

Signed-off-by: Jin Zhang <[email protected]>

Co-authored-by: Siddharth Murching <[email protected]>

* Fix `!=` operator for MySQL (#6397)

* fix ne operator and improve tests

Signed-off-by: harupy <[email protected]>

* add () to other operators

Signed-off-by: harupy <[email protected]>

* Simplify the documentation section in the PR template (#6398)

* Simplify the documentation section in the PR template

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* Timebased gc (#6354)

* Added delete_time field to runs table

Signed-off-by: Jason Cheng <[email protected]>

* Updated latest_schema.sql to pass tests/store/tracking/test_sqlalchemy_store_schema.py

Signed-off-by: Jason Cheng <[email protected]>

* Added delete_time column into mlflow/store/tracking/dbmodels/initial_models.py

Signed-off-by: Jason Cheng <[email protected]>

* Moved the docstring to the end of the declaration instead of the start

Signed-off-by: Jason Cheng <[email protected]>

* Regenerated protobuf for RunInfo new schema, and passed pytest

Signed-off-by: Jason Cheng <[email protected]>

* Added --older-than flag in mlflow gc command, and added tests for that cli command

Signed-off-by: Jason Cheng <[email protected]>

* Removed delete_time from RunInfo proto

Signed-off-by: Jason Cheng <[email protected]>

* Set default older-than flag to None

Signed-off-by: Jason Cheng <[email protected]>

* Remove delete_time from RunInfo, add optional parameter older_than to store.get_deleted_runs(), and write delete_time into yaml file for file storage instead of adding it to RunInfo

Signed-off-by: Jason Cheng <[email protected]>

* Remove commented delete_time in RunInfo constructor in models.py

Signed-off-by: Jason Cheng <[email protected]>

* added INVALID_PARAMETER_VALUE error code in mlflow gc

Signed-off-by: Jason Cheng <[email protected]>

* Resolve case of delete time not in meta.yaml file, edited overwrite_run_info and gc

Signed-off-by: Jason Cheng <[email protected]>

* Rename delete_time to deleted_time

Signed-off-by: Jason Cheng <[email protected]>

* Rename delete_time to deleted_time, match error message in cli tests, filter SqlRuns by deleted_time, indicate float values accepted for gc --older-than flag

Signed-off-by: Jason Cheng <[email protected]>

* Rename delete_time to deleted_time, fixed assert statement in test_mlflow_gc, and fixed deleted_time queries in test_file_store.py and test_sqlalchemy_store.py

Signed-off-by: Jason Cheng <[email protected]>

* Only check if  is in meta after restoring run in test_delte_restore_run

Signed-off-by: Jason Cheng <[email protected]>

* Fixed lint errors

Signed-off-by: Jason Cheng <[email protected]>

* Install mlflow from repository root

Signed-off-by: harupy <[email protected]>

Co-authored-by: harupy <[email protected]>

* Separate protos job (#6399)

* Separate protos job

Signed-off-by: harupy <[email protected]>

* test

Signed-off-by: harupy <[email protected]>

* Add paths

Signed-off-by: harupy <[email protected]>

* Revert "test"

This reverts commit 5d04b02.

Signed-off-by: harupy <[email protected]>

* Fix flaky `TestFileStore.test_get_deleted_runs` (#6402)

* use gt operator

Signed-off-by: harupy <[email protected]>

* fix sqlalchemy store

Signed-off-by: harupy <[email protected]>

* Migrate environment variables for SQLAlchemy store (#6396)

Signed-off-by: harupy <[email protected]>

* Deduplicate MlflowClient in MLflow docs, move to mlflow.client module (#6405)

* Dedupe MlflowClient

Signed-off-by: dbczumar <[email protected]>

* Improvements

Signed-off-by: dbczumar <[email protected]>

* Add client

Signed-off-by: dbczumar <[email protected]>

* Remove unused functions in `mlflow.data` module (#6408)

* remove unused functions in data

Signed-off-by: harupy <[email protected]>

* Remove unused functions and variables

Signed-off-by: harupy <[email protected]>

* Tag based registered model search and model version search (#6320)

* init

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update tests

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* clean

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* add test

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* de-dup tag based search result

Signed-off-by: Weichen Xu <[email protected]>

* add () to fix case_sensitive_mysql_ne

Signed-off-by: Weichen Xu <[email protected]>

* fix

Signed-off-by: Weichen Xu <[email protected]>

* lint

Signed-off-by: Weichen Xu <[email protected]>

* fix

* fix test in TODO

Signed-off-by: Weichen Xu <[email protected]>

* support dup tag key filter

Signed-off-by: Weichen Xu <[email protected]>

* add mv order by

Signed-off-by: Weichen Xu <[email protected]>

* cmp res list in test

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* add doc

Signed-off-by: Weichen Xu <[email protected]>

* fix

Signed-off-by: Weichen Xu <[email protected]>

* fix lint

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* update doc

Signed-off-by: Weichen Xu <[email protected]>

* Increase maximum param value length to 500 (#6358)

* increase validation of maximum param value length from 250 to 500 (squashed)

Signed-off-by: Jan Sindlar <[email protected]>

* 1. added test for exceeding max length. 2. lint. 3. validation logic addresses null

Signed-off-by: Jan Sindlar <[email protected]>

* file store should test already stringified params

Signed-off-by: Jan Sindlar <[email protected]>

* update alembic chain

Signed-off-by: Jan Sindlar <[email protected]>

* Autoformat: https://github.com/mlflow/mlflow/actions/runs/2800398158

Signed-off-by: mlflow-automation <[email protected]>

* Update tests/store/tracking/test_file_store.py

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Jan Sindlar <[email protected]>

Co-authored-by: Jan Sindlar <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>
Co-authored-by: Harutaka Kawamura <[email protected]>

* Add workflow dispatch for requirements validation, remove duplicate file (#6418)

* Workflow dispatch

Signed-off-by: dbczumar <[email protected]>

* Remove unused

Signed-off-by: dbczumar <[email protected]>

* Prevent `pytest.raises` context manager from containing multiple statements (#6409)

* rename

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* Do not allow calling assert in pytest.raises

Signed-off-by: harupy <[email protected]>

* more strict rule

Signed-off-by: harupy <[email protected]>

* Improve error message

Signed-off-by: harupy <[email protected]>

* relax condition

Signed-off-by: harupy <[email protected]>

* fix lint errors

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* clean up

Signed-off-by: harupy <[email protected]>

* rename _is_complex_pytest_raises

Signed-off-by: harupy <[email protected]>

* fix lint errors

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* Fix regression in pandas type inference behavior for scoring server (#6417)

* Fix impl

Signed-off-by: dbczumar <[email protected]>

* Remove unused pandas import

Signed-off-by: dbczumar <[email protected]>

* Adjust client to use SearchExperiments POST method (#6415)

* POST

Signed-off-by: dbczumar <[email protected]>

* Generate protos

Signed-off-by: dbczumar <[email protected]>

* Fix test

Signed-off-by: dbczumar <[email protected]>

* update (#6420)

Signed-off-by: Weichen Xu <[email protected]>

* Check if artifacts are proxied in model_version_artifact_handler (#6355)

* Check if artifacts are proxied in model_version_artifact_handler

Signed-off-by: Mohammad Abbas <[email protected]>

* Use file prefix for artifact dest on windows

Signed-off-by: dbczumar <[email protected]>

* Fix application of prefix

Signed-off-by: dbczumar <[email protected]>

* Fixes

Signed-off-by: dbczumar <[email protected]>

Co-authored-by: dbczumar <[email protected]>

* Allow sql filter IN operator right-hand side values including whitespaces (#6413)

* support in rhs whitespace

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* Fix IN operator related issues in sql filter parser (#6411)

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* clean

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* address comment

Signed-off-by: Weichen Xu <[email protected]>

* Remove unused method `SearchUtils._get_comparison_for_model_registry` (#6412)

* init

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* Update MLflow UI (#6422)

* Project import generated by Copybara.

GitOrigin-RevId: 086b1200f4573559e37fcea6cb5472d52f166e42
Signed-off-by: dbczumar <[email protected]>

* Reconcile changes from universe with OSS

Signed-off-by: dbczumar <[email protected]>

* Fix test fails

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Apply model search fix

Signed-off-by: dbczumar <[email protected]>

* Remove errant test line

Signed-off-by: dbczumar <[email protected]>

Co-authored-by: Richard Zang <[email protected]>

* remove near from deprecation msg (#6430)

Signed-off-by: ninabacc-db <[email protected]>

* Raise clear error message when pipeline path contains a space (#6426)

* Add unsupported

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Exc

Signed-off-by: dbczumar <[email protected]>

* Test

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Test fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* [ALL TESTS] Changelog for MLflow 1.28.0 (#6433)

* Generating changelog for MLflow 1.27.1.dev0

Signed-off-by: Jenkins <[email protected]>

* Changelog

Signed-off-by: dbczumar <[email protected]>

* Add missing PR

Signed-off-by: dbczumar <[email protected]>

* Some fixes

Signed-off-by: dbczumar <[email protected]>

* More small fixes

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Signed-off-by: dbczumar <[email protected]>
Co-authored-by: Jenkins <[email protected]>
Co-authored-by: dbczumar <[email protected]>

* Patch (#6440)

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* [ALL TESTS] Update  (#6443)

* python dev/update_ml_package_versions.py

Signed-off-by: Jenkins <[email protected]>

* pyspark max ver 3.4

Signed-off-by: Weichen Xu <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Signed-off-by: Weichen Xu <[email protected]>
Co-authored-by: Jenkins <[email protected]>
Co-authored-by: Weichen Xu <[email protected]>

* Update MLflow version to 1.28.1 (#6449)

Signed-off-by: Jenkins <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Co-authored-by: Jenkins <[email protected]>

* Add data capture config to sagemaker (#6423)

Signed-off-by: jonwiggins <[email protected]>

Signed-off-by: jonwiggins <[email protected]>

* Fix small search_runs docs issues (#6452)

* Fix

Signed-off-by: dbczumar <[email protected]>

* Doc fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* python dev/update_pypi_package_index.py (#6442)

Signed-off-by: Jenkins <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Co-authored-by: Jenkins <[email protected]>

* use xgboost on pypi (#6461)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Add environment variable for `echo` option in `create_engine` (#6460)

* Add environment variable for echo

Signed-off-by: harupy <[email protected]>

* use _BooleanEnvironmentVariable

Signed-off-by: harupy <[email protected]>

* address comments

Signed-off-by: harupy <[email protected]>

* address comments and add tests

Signed-off-by: harupy <[email protected]>

* fix comment

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Add more file extensions to show content on frontend side (#3292)

Signed-off-by: Мартынов Максим Сергеевич <[email protected]>

Signed-off-by: Мартынов Максим Сергеевич <[email protected]>
Signed-off-by: harupy <[email protected]>
Co-authored-by: harupy <[email protected]>

* Avoid using assertions at top level in `mlflow/models/docker_utils.py` (#6463)

* do not construct maven proxy options at top level

Signed-off-by: harupy <[email protected]>

* fix validation for port

Signed-off-by: harupy <[email protected]>

* unpack

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Fix mlflowdbfs availability check (#6474)

* Fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Reverts

Signed-off-by: dbczumar <[email protected]>

* Better fix

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Lint

Signed-off-by: dbczumar <[email protected]>

* Clean up

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* Replace `assertRaisesRegex` with `pytest.raises` (#6464)

* replace assertRaisesRegex with pytest.raises

Signed-off-by: harupy <[email protected]>

* fix message

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* CLI command suggestion after running the pipeline (#6376)

* CLI command suggestion after running the pipeline

Signed-off-by: Hubert Zub <[email protected]>

* fix: added git commands to MLP CLI suggestion

* chore: lint fixes

Signed-off-by: Hubert Zub <[email protected]>

* chore: test fixes

Signed-off-by: Hubert Zub <[email protected]>

Signed-off-by: Hubert Zub <[email protected]>

* Remove redundant int conversion in create_sqlalchemy_engine (#6481)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Improve code-to-reproduce section in the bug report template (#6478)

* Improve code-to-reproduce section

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* problem -> issue

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Add Pipelines step option to skip step profiling (#6456)

* changes

Signed-off-by: apurva-koti <[email protected]>

* changes

Signed-off-by: apurva-koti <[email protected]>

* partial-test

Signed-off-by: apurva-koti <[email protected]>

* lint

Signed-off-by: apurva-koti <[email protected]>

* missed

Signed-off-by: apurva-koti <[email protected]>

* review

Signed-off-by: apurva-koti <[email protected]>

Signed-off-by: apurva-koti <[email protected]>

* Implement _download_file in hdfs_artifact_repo (#6482)

* Implement _download_file in hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>

* add ut on _download_file in test_hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>

* rewrite _download_artifact, change back _download_file in hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>
Signed-off-by: harupy <[email protected]>

* rewrite test__download_file in test_hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>

Signed-off-by: bowen_who <[email protected]>
Signed-off-by: harupy <[email protected]>
Co-authored-by: bowen_who <[email protected]>

* [ML-19871] R documentation fix (#6484)

* R bug fix

* Documentation fix

* Revert breaking change

* Updated doc file

* Doc fix

* Testing a broken test

* fix

* Revert test

* feat: return param value for mlflow.log_param (#6483)

* feat: return param value for mlflow.log_param

Signed-off-by: Xinyue Ruan <[email protected]>

* update docstring and return value for MlflowClient

Signed-off-by: Xinyue Ruan <[email protected]>

Signed-off-by: Xinyue Ruan <[email protected]>

* revert (#6490)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Ignore empty environment variables in _get_maven_proxy (#6492)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Migrate environment variables for S3 (#6438)

* Migrated s3

Signed-off-by: changyonglik <[email protected]>

* Migrated s3 for local.py

Signed-off-by: changyonglik <[email protected]>

* Changed default values

Signed-off-by: changyonglik <[email protected]>

* Added var imports

Signed-off-by: changyonglik <[email protected]>

* Added MLFLOW_S3_ENDPOINT_URL and MLFLOW_S3_IGNORE_TLS

Signed-off-by: changyonglik <[email protected]>

* Removed duplicated imports

Signed-off-by: changyonglik <[email protected]>

* Paraphrased specify to specifies

Signed-off-by: changyonglik <[email protected]>

* Changed _EnvironmentVariable to _BooleanEnvironmentVariable for MLFLOW_S3_IGNORE_TLS and defaults to False

Signed-off-by: changyonglik <[email protected]>

* Changed environment variables in hdfs_artifact_repo.py

Signed-off-by: changyonglik <[email protected]>

* Changed single to double quotes

Signed-off-by: changyonglik <[email protected]>

* Fixed comments

Signed-off-by: changyonglik <[email protected]>

* Small fixes

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Reset submodule

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: changyonglik <[email protected]>
Signed-off-by: dbczumar <[email protected]>
Co-authored-by: dbczumar <[email protected]>

* Always run CI check on PR (#6505)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

Signed-off-by: dbczumar <[email protected]>
Signed-off-by: harupy <[email protected]>
Signed-off-by: Michal Karzynski <[email protected]>
Signed-off-by: Sunish Sheth <[email protected]>
Signed-off-by: Jin Zhang <[email protected]>
Signed-off-by: Ryan Fogle <[email protected]>
Signed-off-by: Brian Barnes <[email protected]>
Signed-off-by: apurva-koti <[email protected]>
Signed-off-by: Weichen Xu <[email protected]>
Signed-off-by: ninabacc-db <[email protected]>
Signed-off-by: Jenkins <[email protected]>
Signed-off-by: jonwiggins <[email protected]>
Signed-off-by: Мартынов Максим Сергеевич <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>
Signed-off-by: bowen_who <[email protected]>
Signed-off-by: Xinyue Ruan <[email protected]>
Signed-off-by: changyonglik <[email protected]>
Co-authored-by: Corey Zumar <[email protected]>
Co-authored-by: Michał Karzyński <[email protected]>
Co-authored-by: Chang Yong Lik <[email protected]>
Co-authored-by: Sunish Sheth <[email protected]>
Co-authored-by: jinzhang21 <[email protected]>
Co-authored-by: Ryan Fogle <[email protected]>
Co-authored-by: bbarnes52 <[email protected]>
Co-authored-by: apurva-koti <[email protected]>
Co-authored-by: Hannes Schulz <[email protected]>
Co-authored-by: dbczumar <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>
Co-authored-by: WeichenXu <[email protected]>
Co-authored-by: Siddharth Murching <[email protected]>
Co-authored-by: Cheng Kuan Yong Jason <[email protected]>
Co-authored-by: johnyNJ <[email protected]>
Co-authored-by: Jan Sindlar <[email protected]>
Co-authored-by: Mohammad Abbas <[email protected]>
Co-authored-by: Richard Zang <[email protected]>
Co-authored-by: Nina Baccam <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>
Co-authored-by: Jenkins <[email protected]>
Co-authored-by: Jon Wiggins <[email protected]>
Co-authored-by: Maxim Martynov <[email protected]>
Co-authored-by: Hubert Zub <[email protected]>
Co-authored-by: Bowen Hu <[email protected]>
Co-authored-by: bowen_who <[email protected]>
Co-authored-by: Kris Concepcion <[email protected]>
Co-authored-by: Serena Ruan <[email protected]>
hubertzub-db added a commit to hubertzub-db/mlflow that referenced this pull request Sep 2, 2022
@hubertzub-db hubertzub-db mentioned this pull request Sep 2, 2022
30 tasks
dbczumar pushed a commit that referenced this pull request Sep 7, 2022
* fix: regression caused by #6376

Signed-off-by: Hubert Zub <[email protected]>

* chore: CR fix

Signed-off-by: Hubert Zub <[email protected]>

* chore: CR fixes

Signed-off-by: Hubert Zub <[email protected]>

* chore: fixed unit tests

Signed-off-by: Hubert Zub <[email protected]>

* chore: fixed unit tests

Signed-off-by: Hubert Zub <[email protected]>

* chore: removed artifact

Signed-off-by: Hubert Zub <[email protected]>

* chore: Update env variable value

Co-authored-by: Liang Zhang <[email protected]>

Signed-off-by: Hubert Zub <[email protected]>
Co-authored-by: Liang Zhang <[email protected]>
dbczumar added a commit that referenced this pull request Sep 28, 2022
* Run model registry sqlalchemy tests in database job (#6353)

Signed-off-by: harupy <[email protected]>

* update to run profiles on the first 100 dataframe columns (#6297)

* update to run profiles on the first 100 dataframe columns

Signed-off-by: Sunish Sheth <[email protected]>

* Adding replace=True so we can sample rows twice

Signed-off-by: Sunish Sheth <[email protected]>

* Removing replace=true and fixing how the max_rows are calculated

Signed-off-by: Sunish Sheth <[email protected]>

* Fix sklearn autologging input example & signature mutation for models containing transformers (#6230)

* Fix with test case

Signed-off-by: dbczumar <[email protected]>

* Test fix

Signed-off-by: dbczumar <[email protected]>

* Fix and simplification

Signed-off-by: dbczumar <[email protected]>

* more fixes & better test coveragE

Signed-off-by: dbczumar <[email protected]>

* test

Signed-off-by: dbczumar <[email protected]>

* LGBM test

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Address comments

Signed-off-by: dbczumar <[email protected]>

* Fixes

Signed-off-by: dbczumar <[email protected]>

* Use py37-compatible call args syntax

Signed-off-by: dbczumar <[email protected]>

* use list (#6363)

Signed-off-by: harupy <[email protected]>

* Log runtime pipeline config to MLflow (#6359)

* Log runtime pipeline config to MLflow

Signed-off-by: Jin Zhang <[email protected]>

* Fixed lint

Signed-off-by: Jin Zhang <[email protected]>

* Add status badge for stale action (#6372)

Signed-off-by: harupy <[email protected]>

* Add stack trace section to bug report template (#6374)

Signed-off-by: harupy <[email protected]>

* Skipping the transform step by using Functional transformer (#6362)

Signed-off-by: Sunish Sheth <[email protected]>

* Series schema (#6361)

* Added in name for ColSpec of pandas datatype

infer panda series name for ColSpec

Signed-off-by: Ryan Fogle <[email protected]>

* Added test for Series name inference

added one more pytest condition in test_schema:test_schema_inference_on_pandas_series

Signed-off-by: Ryan Fogle <[email protected]>

* Update test_schema.py

Added in one more assertion to test schema inference.

Signed-off-by: Ryan Fogle <[email protected]>

* ran black

Signed-off-by: Ryan Fogle <[email protected]>

* added in requested changes in issue #6361

Signed-off-by: Ryan Fogle <[email protected]>

* fix typo. changed hasattr to getattr

Signed-off-by: Ryan Fogle <[email protected]>

* integrate mlflowdbfs (#6282)

Signed-off-by: Brian Barnes <[email protected]>

* Fix step card display breakage in Jupyter notebooks (#6378)

* remove

Signed-off-by: apurva-koti <[email protected]>

* fix

Signed-off-by: apurva-koti <[email protected]>

* Avoid using flask 2.2.0 (#6380)

Signed-off-by: harupy <[email protected]>

* Migrate GCS environment variables to `mlflow.environment_variables` module (#6375)

* Migrate GCS environment variables to mlflow.environment_variables

Signed-off-by: harupy <[email protected]>

* add default

Signed-off-by: harupy <[email protected]>

* improve comments

Signed-off-by: harupy <[email protected]>

* Avoid logging model signatures in pyspark ML autologging if model input/output dataframe contains unsupported data types (#6365)

* Avoid logging signatures

Signed-off-by: harupy <[email protected]>

* test

Signed-off-by: harupy <[email protected]>

* fix indent

Signed-off-by: harupy <[email protected]>

* check model output

Signed-off-by: harupy <[email protected]>

* fix warning message

Signed-off-by: harupy <[email protected]>

* todo

Signed-off-by: harupy <[email protected]>

* update test and doc

Signed-off-by: harupy <[email protected]>

* fix docstring

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* improve _assert_autolog_infers_model_signature_correctly

Signed-off-by: harupy <[email protected]>

* Refactor `set_matrix.py` (#6373)

* refacor set_matrix.py

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* fix tests

Signed-off-by: harupy <[email protected]>

* tset for --no-dev

Signed-off-by: harupy <[email protected]>

* install pytest and pytest-cov

Signed-off-by: harupy <[email protected]>

* test for --changed-files

Signed-off-by: harupy <[email protected]>

* add pyyaml to requirements

Signed-off-by: harupy <[email protected]>

* fix is_matrix_empty

Signed-off-by: harupy <[email protected]>

* use raw string and re.match

Signed-off-by: harupy <[email protected]>

* Fix is_matrix_empty (#6385)

Signed-off-by: harupy <[email protected]>

* Allow mlflow-skinny's autolog() to succeed when no scipy is installed (#5897)

* allow mlflow-skinny's autolog() to succeed when no scipy is installed

Signed-off-by: Hannes Schulz <[email protected]>

* optional pyfunc scipy dependency

Signed-off-by: Hannes Schulz <[email protected]>

* fix linter-discovered issues

Signed-off-by: Hannes Schulz <[email protected]>

* add test case, autolog() should pass w/o scipy installed

Signed-off-by: Hannes Schulz <[email protected]>

* minor cleanup

Signed-off-by: Hannes Schulz <[email protected]>

* test creating _Example with / without scipy present

Signed-off-by: Hannes Schulz <[email protected]>

* docs: do not warn about sparse matrix classes

Signed-off-by: Hannes Schulz <[email protected]>

* linting

Signed-off-by: Hannes Schulz <[email protected]>

* address review comment

Signed-off-by: Hannes Schulz <[email protected]>

* run black

Signed-off-by: Hannes Schulz <[email protected]>

* allow mlflow-skinny's autolog() to succeed when no scipy is installed

Signed-off-by: Hannes Schulz <[email protected]>

* optional pyfunc scipy dependency

Signed-off-by: Hannes Schulz <[email protected]>

* fix linter-discovered issues

Signed-off-by: Hannes Schulz <[email protected]>

* add test case, autolog() should pass w/o scipy installed

Signed-off-by: Hannes Schulz <[email protected]>

* minor cleanup

Signed-off-by: Hannes Schulz <[email protected]>

* test creating _Example with / without scipy present

Signed-off-by: Hannes Schulz <[email protected]>

* docs: do not warn about sparse matrix classes

Signed-off-by: Hannes Schulz <[email protected]>

* linting

Signed-off-by: Hannes Schulz <[email protected]>

* address review comment

Signed-off-by: Hannes Schulz <[email protected]>

* run black

Signed-off-by: Hannes Schulz <[email protected]>

* remove redundant None check after import

Signed-off-by: Hannes Schulz <[email protected]>

* delete comment

Signed-off-by: Hannes Schulz <[email protected]>

* Revert "remove redundant None check after import"

This reverts commit f2e198c944f41d9a96c20ae471d71bff39431b48.

Signed-off-by: Hannes Schulz <[email protected]>

* review comments

Signed-off-by: Hannes Schulz <[email protected]>

* remove redundant test

Signed-off-by: Hannes Schulz <[email protected]>

* Apply suggestions from code review

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hannes Schulz <[email protected]>

* Autoformat: https://github.com/mlflow/mlflow/actions/runs/2779791161

Signed-off-by: mlflow-automation <[email protected]>

Co-authored-by: Harutaka Kawamura <[email protected]>
Co-authored-by: dbczumar <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>

* Fix extraneous warning about pyspark evaluation truncation (#6389)

* Revert #6380 (#6386)

* revert

Signed-off-by: harupy <[email protected]>

* workaround for test_prometheus_exporter

Signed-off-by: harupy <[email protected]>

* nit

Signed-off-by: harupy <[email protected]>

* Validate metric value in `FileStore.log_metric` (#6381)

* add failing test

Signed-off-by: harupy <[email protected]>

* use _validate_metric

Signed-off-by: harupy <[email protected]>

* fix invalid metric timestamp

Signed-off-by: harupy <[email protected]>

* fix docstring

Signed-off-by: harupy <[email protected]>

* fix java test

Signed-off-by: harupy <[email protected]>

* Make search experiment by tag key comparison case sensitive in MYSQL (#6333)

* init

Signed-off-by: Weichen Xu <[email protected]>

* add test

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* fix BINARY conditions in MySQL

Signed-off-by: harupy <[email protected]>

* fix attr error

Signed-off-by: harupy <[email protected]>

Co-authored-by: harupy <[email protected]>

* Run Model Registry SQLAlchemy tests in PostgreSQL, MySQL, and MSSQL (#6390)

* Run Model Registry SQLAlchemy tests in postgres, mysql, and mssql

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* remove uuid

Signed-off-by: harupy <[email protected]>

* clean up

Signed-off-by: harupy <[email protected]>

* do not drop tables

Signed-off-by: harupy <[email protected]>

* Fix filestore data loss on failed write & mitigate read / write race condition (#6388)

* Fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Added a custom filter from_json to render_and_merge_yaml (#6368)

* Added a custom filter from_json to render_and_merge_yaml

Signed-off-by: Jin Zhang <[email protected]>

* Fixed test

Signed-off-by: Jin Zhang <[email protected]>

* Update tests/utils/test_file_utils.py

Co-authored-by: Siddharth Murching <[email protected]>

* Update tests/utils/test_file_utils.py

Co-authored-by: Siddharth Murching <[email protected]>

* Fixed test

Signed-off-by: Jin Zhang <[email protected]>

* Fixed windows test attempt

Signed-off-by: Jin Zhang <[email protected]>

* Fixed windows test

Signed-off-by: Jin Zhang <[email protected]>

Co-authored-by: Siddharth Murching <[email protected]>

* Fix `!=` operator for MySQL (#6397)

* fix ne operator and improve tests

Signed-off-by: harupy <[email protected]>

* add () to other operators

Signed-off-by: harupy <[email protected]>

* Simplify the documentation section in the PR template (#6398)

* Simplify the documentation section in the PR template

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* Timebased gc (#6354)

* Added delete_time field to runs table

Signed-off-by: Jason Cheng <[email protected]>

* Updated latest_schema.sql to pass tests/store/tracking/test_sqlalchemy_store_schema.py

Signed-off-by: Jason Cheng <[email protected]>

* Added delete_time column into mlflow/store/tracking/dbmodels/initial_models.py

Signed-off-by: Jason Cheng <[email protected]>

* Moved the docstring to the end of the declaration instead of the start

Signed-off-by: Jason Cheng <[email protected]>

* Regenerated protobuf for RunInfo new schema, and passed pytest

Signed-off-by: Jason Cheng <[email protected]>

* Added --older-than flag in mlflow gc command, and added tests for that cli command

Signed-off-by: Jason Cheng <[email protected]>

* Removed delete_time from RunInfo proto

Signed-off-by: Jason Cheng <[email protected]>

* Set default older-than flag to None

Signed-off-by: Jason Cheng <[email protected]>

* Remove delete_time from RunInfo, add optional parameter older_than to store.get_deleted_runs(), and write delete_time into yaml file for file storage instead of adding it to RunInfo

Signed-off-by: Jason Cheng <[email protected]>

* Remove commented delete_time in RunInfo constructor in models.py

Signed-off-by: Jason Cheng <[email protected]>

* added INVALID_PARAMETER_VALUE error code in mlflow gc

Signed-off-by: Jason Cheng <[email protected]>

* Resolve case of delete time not in meta.yaml file, edited overwrite_run_info and gc

Signed-off-by: Jason Cheng <[email protected]>

* Rename delete_time to deleted_time

Signed-off-by: Jason Cheng <[email protected]>

* Rename delete_time to deleted_time, match error message in cli tests, filter SqlRuns by deleted_time, indicate float values accepted for gc --older-than flag

Signed-off-by: Jason Cheng <[email protected]>

* Rename delete_time to deleted_time, fixed assert statement in test_mlflow_gc, and fixed deleted_time queries in test_file_store.py and test_sqlalchemy_store.py

Signed-off-by: Jason Cheng <[email protected]>

* Only check if  is in meta after restoring run in test_delte_restore_run

Signed-off-by: Jason Cheng <[email protected]>

* Fixed lint errors

Signed-off-by: Jason Cheng <[email protected]>

* Install mlflow from repository root

Signed-off-by: harupy <[email protected]>

Co-authored-by: harupy <[email protected]>

* Separate protos job (#6399)

* Separate protos job

Signed-off-by: harupy <[email protected]>

* test

Signed-off-by: harupy <[email protected]>

* Add paths

Signed-off-by: harupy <[email protected]>

* Revert "test"

This reverts commit 5d04b02f55ec92e1e3ac18eb651ea989ca0d469a.

Signed-off-by: harupy <[email protected]>

* Fix flaky `TestFileStore.test_get_deleted_runs` (#6402)

* use gt operator

Signed-off-by: harupy <[email protected]>

* fix sqlalchemy store

Signed-off-by: harupy <[email protected]>

* Migrate environment variables for SQLAlchemy store (#6396)

Signed-off-by: harupy <[email protected]>

* Deduplicate MlflowClient in MLflow docs, move to mlflow.client module (#6405)

* Dedupe MlflowClient

Signed-off-by: dbczumar <[email protected]>

* Improvements

Signed-off-by: dbczumar <[email protected]>

* Add client

Signed-off-by: dbczumar <[email protected]>

* Remove unused functions in `mlflow.data` module (#6408)

* remove unused functions in data

Signed-off-by: harupy <[email protected]>

* Remove unused functions and variables

Signed-off-by: harupy <[email protected]>

* Tag based registered model search and model version search (#6320)

* init

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update tests

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* clean

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* add test

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* de-dup tag based search result

Signed-off-by: Weichen Xu <[email protected]>

* add () to fix case_sensitive_mysql_ne

Signed-off-by: Weichen Xu <[email protected]>

* fix

Signed-off-by: Weichen Xu <[email protected]>

* lint

Signed-off-by: Weichen Xu <[email protected]>

* fix

* fix test in TODO

Signed-off-by: Weichen Xu <[email protected]>

* support dup tag key filter

Signed-off-by: Weichen Xu <[email protected]>

* add mv order by

Signed-off-by: Weichen Xu <[email protected]>

* cmp res list in test

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* add doc

Signed-off-by: Weichen Xu <[email protected]>

* fix

Signed-off-by: Weichen Xu <[email protected]>

* fix lint

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* address comments

Signed-off-by: Weichen Xu <[email protected]>

* update doc

Signed-off-by: Weichen Xu <[email protected]>

* Increase maximum param value length to 500 (#6358)

* increase validation of maximum param value length from 250 to 500 (squashed)

Signed-off-by: Jan Sindlar <[email protected]>

* 1. added test for exceeding max length. 2. lint. 3. validation logic addresses null

Signed-off-by: Jan Sindlar <[email protected]>

* file store should test already stringified params

Signed-off-by: Jan Sindlar <[email protected]>

* update alembic chain

Signed-off-by: Jan Sindlar <[email protected]>

* Autoformat: https://github.com/mlflow/mlflow/actions/runs/2800398158

Signed-off-by: mlflow-automation <[email protected]>

* Update tests/store/tracking/test_file_store.py

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Jan Sindlar <[email protected]>

Co-authored-by: Jan Sindlar <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>
Co-authored-by: Harutaka Kawamura <[email protected]>

* Add workflow dispatch for requirements validation, remove duplicate file (#6418)

* Workflow dispatch

Signed-off-by: dbczumar <[email protected]>

* Remove unused

Signed-off-by: dbczumar <[email protected]>

* Prevent `pytest.raises` context manager from containing multiple statements (#6409)

* rename

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* rename

Signed-off-by: harupy <[email protected]>

* Do not allow calling assert in pytest.raises

Signed-off-by: harupy <[email protected]>

* more strict rule

Signed-off-by: harupy <[email protected]>

* Improve error message

Signed-off-by: harupy <[email protected]>

* relax condition

Signed-off-by: harupy <[email protected]>

* fix lint errors

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* clean up

Signed-off-by: harupy <[email protected]>

* rename _is_complex_pytest_raises

Signed-off-by: harupy <[email protected]>

* fix lint errors

Signed-off-by: harupy <[email protected]>

* fix failed tests

Signed-off-by: harupy <[email protected]>

* Fix regression in pandas type inference behavior for scoring server (#6417)

* Fix impl

Signed-off-by: dbczumar <[email protected]>

* Remove unused pandas import

Signed-off-by: dbczumar <[email protected]>

* Adjust client to use SearchExperiments POST method (#6415)

* POST

Signed-off-by: dbczumar <[email protected]>

* Generate protos

Signed-off-by: dbczumar <[email protected]>

* Fix test

Signed-off-by: dbczumar <[email protected]>

* update (#6420)

Signed-off-by: Weichen Xu <[email protected]>

* Check if artifacts are proxied in model_version_artifact_handler (#6355)

* Check if artifacts are proxied in model_version_artifact_handler

Signed-off-by: Mohammad Abbas <[email protected]>

* Use file prefix for artifact dest on windows

Signed-off-by: dbczumar <[email protected]>

* Fix application of prefix

Signed-off-by: dbczumar <[email protected]>

* Fixes

Signed-off-by: dbczumar <[email protected]>

Co-authored-by: dbczumar <[email protected]>

* Allow sql filter IN operator right-hand side values including whitespaces (#6413)

* support in rhs whitespace

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* Fix IN operator related issues in sql filter parser (#6411)

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* clean

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* address comment

Signed-off-by: Weichen Xu <[email protected]>

* Remove unused method `SearchUtils._get_comparison_for_model_registry` (#6412)

* init

Signed-off-by: Weichen Xu <[email protected]>

* update

Signed-off-by: Weichen Xu <[email protected]>

* Update MLflow UI (#6422)

* Project import generated by Copybara.

GitOrigin-RevId: 086b1200f4573559e37fcea6cb5472d52f166e42
Signed-off-by: dbczumar <[email protected]>

* Reconcile changes from universe with OSS

Signed-off-by: dbczumar <[email protected]>

* Fix test fails

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Apply model search fix

Signed-off-by: dbczumar <[email protected]>

* Remove errant test line

Signed-off-by: dbczumar <[email protected]>

Co-authored-by: Richard Zang <[email protected]>

* remove near from deprecation msg (#6430)

Signed-off-by: ninabacc-db <[email protected]>

* Raise clear error message when pipeline path contains a space (#6426)

* Add unsupported

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Exc

Signed-off-by: dbczumar <[email protected]>

* Test

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Test fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* [ALL TESTS] Changelog for MLflow 1.28.0 (#6433)

* Generating changelog for MLflow 1.27.1.dev0

Signed-off-by: Jenkins <[email protected]>

* Changelog

Signed-off-by: dbczumar <[email protected]>

* Add missing PR

Signed-off-by: dbczumar <[email protected]>

* Some fixes

Signed-off-by: dbczumar <[email protected]>

* More small fixes

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Signed-off-by: dbczumar <[email protected]>
Co-authored-by: Jenkins <[email protected]>
Co-authored-by: dbczumar <[email protected]>

* Patch (#6440)

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* [ALL TESTS] Update  (#6443)

* python dev/update_ml_package_versions.py

Signed-off-by: Jenkins <[email protected]>

* pyspark max ver 3.4

Signed-off-by: Weichen Xu <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Signed-off-by: Weichen Xu <[email protected]>
Co-authored-by: Jenkins <[email protected]>
Co-authored-by: Weichen Xu <[email protected]>

* Update MLflow version to 1.28.1 (#6449)

Signed-off-by: Jenkins <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Co-authored-by: Jenkins <[email protected]>

* Add data capture config to sagemaker (#6423)

Signed-off-by: jonwiggins <[email protected]>

Signed-off-by: jonwiggins <[email protected]>

* Fix small search_runs docs issues (#6452)

* Fix

Signed-off-by: dbczumar <[email protected]>

* Doc fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* python dev/update_pypi_package_index.py (#6442)

Signed-off-by: Jenkins <[email protected]>

Signed-off-by: Jenkins <[email protected]>
Co-authored-by: Jenkins <[email protected]>

* use xgboost on pypi (#6461)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Add environment variable for `echo` option in `create_engine` (#6460)

* Add environment variable for echo

Signed-off-by: harupy <[email protected]>

* use _BooleanEnvironmentVariable

Signed-off-by: harupy <[email protected]>

* address comments

Signed-off-by: harupy <[email protected]>

* address comments and add tests

Signed-off-by: harupy <[email protected]>

* fix comment

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Add more file extensions to show content on frontend side (#3292)

Signed-off-by: Мартынов Максим Сергеевич <[email protected]>

Signed-off-by: Мартынов Максим Сергеевич <[email protected]>
Signed-off-by: harupy <[email protected]>
Co-authored-by: harupy <[email protected]>

* Avoid using assertions at top level in `mlflow/models/docker_utils.py` (#6463)

* do not construct maven proxy options at top level

Signed-off-by: harupy <[email protected]>

* fix validation for port

Signed-off-by: harupy <[email protected]>

* unpack

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Fix mlflowdbfs availability check (#6474)

* Fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Reverts

Signed-off-by: dbczumar <[email protected]>

* Better fix

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Lint

Signed-off-by: dbczumar <[email protected]>

* Clean up

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* Replace `assertRaisesRegex` with `pytest.raises` (#6464)

* replace assertRaisesRegex with pytest.raises

Signed-off-by: harupy <[email protected]>

* fix message

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* CLI command suggestion after running the pipeline (#6376)

* CLI command suggestion after running the pipeline

Signed-off-by: Hubert Zub <[email protected]>

* fix: added git commands to MLP CLI suggestion

* chore: lint fixes

Signed-off-by: Hubert Zub <[email protected]>

* chore: test fixes

Signed-off-by: Hubert Zub <[email protected]>

Signed-off-by: Hubert Zub <[email protected]>

* Remove redundant int conversion in create_sqlalchemy_engine (#6481)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Improve code-to-reproduce section in the bug report template (#6478)

* Improve code-to-reproduce section

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* problem -> issue

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Add Pipelines step option to skip step profiling (#6456)

* changes

Signed-off-by: apurva-koti <[email protected]>

* changes

Signed-off-by: apurva-koti <[email protected]>

* partial-test

Signed-off-by: apurva-koti <[email protected]>

* lint

Signed-off-by: apurva-koti <[email protected]>

* missed

Signed-off-by: apurva-koti <[email protected]>

* review

Signed-off-by: apurva-koti <[email protected]>

Signed-off-by: apurva-koti <[email protected]>

* Implement _download_file in hdfs_artifact_repo (#6482)

* Implement _download_file in hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>

* add ut on _download_file in test_hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>

* rewrite _download_artifact, change back _download_file in hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>
Signed-off-by: harupy <[email protected]>

* rewrite test__download_file in test_hdfs_artifact_repo

Signed-off-by: bowen_who <[email protected]>

Signed-off-by: bowen_who <[email protected]>
Signed-off-by: harupy <[email protected]>
Co-authored-by: bowen_who <[email protected]>

* [ML-19871] R documentation fix (#6484)

* R bug fix

* Documentation fix

* Revert breaking change

* Updated doc file

* Doc fix

* Testing a broken test

* fix

* Revert test

* feat: return param value for mlflow.log_param (#6483)

* feat: return param value for mlflow.log_param

Signed-off-by: Xinyue Ruan <[email protected]>

* update docstring and return value for MlflowClient

Signed-off-by: Xinyue Ruan <[email protected]>

Signed-off-by: Xinyue Ruan <[email protected]>

* revert (#6490)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Ignore empty environment variables in _get_maven_proxy (#6492)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Migrate environment variables for S3 (#6438)

* Migrated s3

Signed-off-by: changyonglik <[email protected]>

* Migrated s3 for local.py

Signed-off-by: changyonglik <[email protected]>

* Changed default values

Signed-off-by: changyonglik <[email protected]>

* Added var imports

Signed-off-by: changyonglik <[email protected]>

* Added MLFLOW_S3_ENDPOINT_URL and MLFLOW_S3_IGNORE_TLS

Signed-off-by: changyonglik <[email protected]>

* Removed duplicated imports

Signed-off-by: changyonglik <[email protected]>

* Paraphrased specify to specifies

Signed-off-by: changyonglik <[email protected]>

* Changed _EnvironmentVariable to _BooleanEnvironmentVariable for MLFLOW_S3_IGNORE_TLS and defaults to False

Signed-off-by: changyonglik <[email protected]>

* Changed environment variables in hdfs_artifact_repo.py

Signed-off-by: changyonglik <[email protected]>

* Changed single to double quotes

Signed-off-by: changyonglik <[email protected]>

* Fixed comments

Signed-off-by: changyonglik <[email protected]>

* Small fixes

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Reset submodule

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: changyonglik <[email protected]>
Signed-off-by: dbczumar <[email protected]>
Co-authored-by: dbczumar <[email protected]>

* Always run CI check on PR (#6505)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* document how to install mlflow-pipelines from conda (#6509)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Move tests for pylint_plugins (#6506)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Retry pulling docker image on CircleCI (#6514)

* Retry pulling docker image on CircleCI

Signed-off-by: harupy <[email protected]>

* fix indent

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Remove unnecessary comprehension (#6516)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Don't use mlflowdbfs if dbutils is unavailable (#6508)

* Dbutils

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

* Fix

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* bug-fix to allow non-string column names (#6503) (#6521)

* Allow EvaluationDataset to accept dataframes that contain non-string column names (mlflow#6503)

Signed-off-by: Daniel Gibbons <[email protected]>

* Minor fix to remove redundant assignments from iris_pandas_df datasets (mlflow#6503)

Signed-off-by: Daniel Gibbons <[email protected]>

Signed-off-by: Daniel Gibbons <[email protected]>

* Add `use-set-literal` rule for better performace (#6533)

* Add use-set-literal rule

Signed-off-by: harupy <[email protected]>

* improve test

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* feat: Docker development scripts and readme (#6465)

* feat: docker development scripts and readme

Signed-off-by: Hubert Zub <[email protected]>

* chore: CR fixes

Signed-off-by: Hubert Zub <[email protected]>

* chore: improved dependency install in Dockerfile.test

Signed-off-by: Hubert Zub <[email protected]>

* Update CONTRIBUTING.rst

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

* Update dev/Dockerfile.test

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

* Update CONTRIBUTING.rst

Signed-off-by: Hubert Zub <[email protected]>

* Update dev/run-test-container.sh

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

* Update dev/Dockerfile.test.dockerignore

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

* chore: CR fixes

Signed-off-by: Hubert Zub <[email protected]>

* chore: shell script improvement

Signed-off-by: Hubert Zub <[email protected]>

* chore: fixed dockerignore

Signed-off-by: Hubert Zub <[email protected]>

* Update dev/Dockerfile.test.dockerignore

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

* Update dev/Dockerfile.test

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

* Update dev/Dockerfile.test.dockerignore

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

* Update CONTRIBUTING.rst

Co-authored-by: Harutaka Kawamura <[email protected]>
Signed-off-by: Hubert Zub <[email protected]>

Signed-off-by: Hubert Zub <[email protected]>
Co-authored-by: Harutaka Kawamura <[email protected]>

* Adding cd to run reproduce steps (#6495)

* adding cd to repo

Signed-off-by: Prithvi Kannan <[email protected]>

* drop git extension

Signed-off-by: Prithvi Kannan <[email protected]>

* ran lint

Signed-off-by: Prithvi Kannan <[email protected]>

Signed-off-by: Prithvi Kannan <[email protected]>

* fix use-set-literal errors batch 1 (#mlflow-6535) (#6542)

* fix use-set-literal errors batch 1 (#mlflow-6535)

Signed-off-by: Daniel Gibbons <[email protected]>

* update set_checker batch 1 (#mlflow-6535)

Signed-off-by: Daniel Gibbons <[email protected]>

Signed-off-by: Daniel Gibbons <[email protected]>

* fix use-set-literal errors batch 2 (#mlflow-6535) (#6543)

* fix use-set-literal errors batch 2 (#mlflow-6535)

Signed-off-by: Daniel Gibbons <[email protected]>

* update set_checker batch 2 (#mlflow-6535)

Signed-off-by: Daniel Gibbons <[email protected]>

Signed-off-by: Daniel Gibbons <[email protected]>

* Fix `use-set-literal` errors (#6534)

* Fix use-set-literal errors

Signed-off-by: harupy <[email protected]>

* fix error message

Signed-off-by: harupy <[email protected]>

* fix error message

Signed-off-by: harupy <[email protected]>

* improve instructions

Signed-off-by: harupy <[email protected]>

* tuple

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Remove run_uuid is None check (#6547)

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* Deprecate ListExperiments, ListRegisteredModels, ListRunInfos APIs (#6550)

* Deprecate listing

Signed-off-by: dbczumar <[email protected]>

* Deprecate

Signed-off-by: dbczumar <[email protected]>

* Revert

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* fix missing_fields (#6549)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Improve deprecated decorator (#6552)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Fix violating consider-using-set-comprehension pylint rule (#6540)

* Fix violating consider-using-set-comprehension pylint rule

Signed-off-by: Evgenii Uvarov <[email protected]>

* Fix linting issues. Fix PR review issues

Signed-off-by: Evgenii Uvarov <[email protected]>

Signed-off-by: Evgenii Uvarov <[email protected]>
Co-authored-by: Evgenii Uvarov <[email protected]>

* Install conda in R development image (#6557)

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* MLP batch scoring DAG added to Regression Pipeline (#6455)

* Added the skeletons for the 2 new steps (#6248)

* Added the skeletons for the 2 new steps

* CR comments

* Linting errors

* Added the skeletons for the 2 new steps (#6248)

* Added the skeletons for the 2 new steps

* CR comments

* Linting errors

* Added the skeletons for the 2 new steps (#6248)

* Added the skeletons for the 2 new steps

* CR comments

* Linting errors

* Refactored MLP infra to support additional template makefiles (#6259)

* Added changes

* fixed tests

* Formatting and fixed tests

* Added preprocessing step test (#6267)

* Added preprocessing test

* Fix linting errors

* Added the skeletons for the 2 new steps (#6248)

* Added the skeletons for the 2 new steps

* CR comments

* Linting errors

* Refactored MLP infra to support additional template makefiles (#6259)

* Added changes

* fixed tests

* Formatting and fixed tests

* Added preprocessing step test (#6267)

* Added preprocessing test

* Fix linting errors

* Fixed submodules

* Build out predict step (#6296)

Signed-off-by: Jerry Liang <[email protected]>

* Batch scoring framework (#6283)

* Batch scoring pipeline added

* Added gitmodule

* updating the example?

* Submodule fix and test fix

* Submodule fix

* black formatting

* Added batch_scoring submodule correctly?

* Lint errors

* Fixed the integration test (removed predict for now)

* Black formatting

* Updated api doc

* Documentation bloopers

* Removed smart quotes

* more documentation fixes

* More fixes

* Try to change the replacement name

* Bad substitution

* Add registered model test (#6327)

Signed-off-by: Jerry Liang <[email protected]>

* Predict Step: output format and location, env restoration (#6336)

* add output location writing logic

Signed-off-by: Jerry Liang <[email protected]>

* change output param

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* Batching scoring pipeline bug fixes, predict step card html (#6364)

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* Added the skeletons for the 2 new steps (#6248)

* Added the skeletons for the 2 new steps

* CR comments

* Linting errors

* Refactored MLP infra to support additional template makefiles (#6259)

* Added changes

* fixed tests

* Formatting and fixed tests

* Added preprocessing step test (#6267)

* Added preprocessing test

* Fix linting errors

* Fixed submodules

* Added the skeletons for the 2 new steps (#6248)

* Added the skeletons for the 2 new steps

* CR comments

* Linting errors

* Added the skeletons for the 2 new steps (#6248)

* Added the skeletons for the 2 new steps

* CR comments

* Linting errors

* Refactored MLP infra to support additional template makefiles (#6259)

* Added changes

* fixed tests

* Formatting and fixed tests

* Added preprocessing step test (#6267)

* Added preprocessing test

* Fix linting errors

* Build out predict step (#6296)

Signed-off-by: Jerry Liang <[email protected]>

* Batch scoring framework (#6283)

* Batch scoring pipeline added

* Added gitmodule

* updating the example?

* Submodule fix and test fix

* Submodule fix

* black formatting

* Added batch_scoring submodule correctly?

* Lint errors

* Fixed the integration test (removed predict for now)

* Black formatting

* Updated api doc

* Documentation bloopers

* Removed smart quotes

* more documentation fixes

* More fixes

* Try to change the replacement name

* Bad substitution

* Add registered model test (#6327)

Signed-off-by: Jerry Liang <[email protected]>

* Predict Step: output format and location, env restoration (#6336)

* add output location writing logic

Signed-off-by: Jerry Liang <[email protected]>

* change output param

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* Batching scoring pipeline bug fixes, predict step card html (#6364)

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* Convert to regression (#6371)

* Convert feature branch to move batch scoring into regression pipeline

* Black formatting

* Add the new ingest_scoring step

* Uupdated artifact name

* Updated sklearn_regression example

* Test fixes

* Fixed broken tests

* Linting errors

* Augment predict step to use model name for register step (#6437)

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

Signed-off-by: Jerry Liang <[email protected]>

* Remove preprocessing step

* Fix ingest step rebase error

* CR comments addressed

* Fixed broken tests

* Undo unknown split change

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

Signed-off-by: Jerry Liang <[email protected]>
Co-authored-by: Jerry Liang <[email protected]>
Co-authored-by: Jerry Liang <[email protected]>

* fix use-set-literal errors (#6544)

* That was fun

Signed-off-by: Uncle Hohotun <[email protected]>

* set_checker.py is updated

Signed-off-by: Uncle Hohotun <[email protected]>

* Conflict in pylint_plagins/set_checker.py

Signed-off-by: Uncle Hohotun <[email protected]>

* run black

Signed-off-by: harupy <[email protected]>

Signed-off-by: Uncle Hohotun <[email protected]>
Signed-off-by: harupy <[email protected]>
Co-authored-by: harupy <[email protected]>

* unwanted os calls removed (#6559)

Signed-off-by: yogesh kumar <[email protected]>

Signed-off-by: yogesh kumar <[email protected]>

* Fix CircleCI artifact URL in `build_doc_r` job (#6558)

* Fix CircleCI artifact URL

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* revert

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Update requirements.yaml files (#6564)

Signed-off-by: mlflow-automation <[email protected]>

Signed-off-by: mlflow-automation <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>

* Add searchExperiments API to Java client, deprecate listExperiments (#6561)

* SearchExperiments API for Java

Signed-off-by: dbczumar <[email protected]>

* Search & tests

Signed-off-by: dbczumar <[email protected]>

* Deprecate list

Signed-off-by: dbczumar <[email protected]>

* Add page

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* Pin `pmdarima` in diviner test (#6565)

* Pin pmdarima

Signed-off-by: harupy <[email protected]>

* Pin pmdarima

Signed-off-by: harupy <[email protected]>

* fix command arguments

Signed-off-by: harupy <[email protected]>

* quote CHANGED_FILES

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* fix use-set-literal errors batch 3 (#mlflow-6535) (#6560)

* fix use-set-literal errors batch 3 (#mlflow-6535)

Signed-off-by: Evgenii Uvarov <[email protected]>

* Build trigger for CI

Signed-off-by: evgenii.uvarov <[email protected]>

* Trigger CI

Signed-off-by: harupy <[email protected]>

Signed-off-by: Evgenii Uvarov <[email protected]>
Signed-off-by: evgenii.uvarov <[email protected]>
Signed-off-by: harupy <[email protected]>
Co-authored-by: harupy <[email protected]>

* replaced all self.assertTrue with assert (#6570)

* replaced all self.assertTrue with assert

Signed-off-by: yogesh kumar <[email protected]>

* updated test-run-status file

Signed-off-by: yogesh kumar <[email protected]>

* Autoformat: https://github.com/mlflow/mlflow/actions/runs/2917378175

Signed-off-by: mlflow-automation <[email protected]>

Signed-off-by: yogesh kumar <[email protected]>
Signed-off-by: mlflow-automation <[email protected]>
Co-authored-by: mlflow-automation <[email protected]>

* [bug-fix] Removing the fixed width css for the experimentlist container (#6569)

Signed-off-by: Sunish Sheth <[email protected]>

Signed-off-by: Sunish Sheth <[email protected]>

* Clarify ports in JS dev server instructions (#6563)

* Clarify ports in JS dev server instructions

Signed-off-by: Prithvi Kannan <[email protected]>

* update text

Signed-off-by: Prithvi Kannan <[email protected]>

Signed-off-by: Prithvi Kannan <[email protected]>

* Allow specifying mlflow command line args as env variables. (#6457)

Signed-off-by: Phil Xiaojun Hu <[email protected]>

Signed-off-by: Phil Xiaojun Hu <[email protected]>

* [ML-22889] Get artifact cli (#6517)

* adding cli flag

Signed-off-by: Prithvi Kannan <[email protected]>

* return datapath for dataframe artifacts

Signed-off-by: Prithvi Kannan <[email protected]>

* registered_model_version path

Signed-off-by: Prithvi Kannan <[email protected]>

* add support for model and transformer from cli

Signed-off-by: Prithvi Kannan <[email protected]>

* adding support for run cmd

Signed-off-by: Prithvi Kannan <[email protected]>

* change name to get_path

Signed-off-by: Prithvi Kannan <[email protected]>

* adding a test

Signed-off-by: Prithvi Kannan <[email protected]>

* idk why pyfunc was removed

Signed-off-by: Prithvi Kannan <[email protected]>

* updating test and mandatory cli args

Signed-off-by: Prithvi Kannan <[email protected]>

* fixing merge

Signed-off-by: Prithvi Kannan <[email protected]>

* refactored into get_artifact_path

Signed-off-by: Prithvi Kannan <[email protected]>

* fixing test case

Signed-off-by: Prithvi Kannan <[email protected]>

* replaced Any with Optional

Signed-off-by: Prithvi Kannan <[email protected]>

* idk how that happpened

Signed-off-by: Prithvi Kannan <[email protected]>

* move output dirs to if-else

Signed-off-by: Prithvi Kannan <[email protected]>

* addressing corey comments

Signed-off-by: Prithvi Kannan <[email protected]>

* linter

Signed-off-by: Prithvi Kannan <[email protected]>

Signed-off-by: Prithvi Kannan <[email protected]>

* fix final batch of use-set-literal errors #6535 (#6584)

Signed-off-by: Daniel Gibbons <[email protected]>

Signed-off-by: Daniel Gibbons <[email protected]>

* Update doc to clarify tf.keras should not be logged with mlflow.tensorflow.log_model (#6573)

Signed-off-by: Liang Zhang <[email protected]>

Signed-off-by: Liang Zhang <[email protected]>

* Add mlflow_search_experiments API to R client (#6576)

* Make URLs clickable in the MLflow Tracking UI (#6526)

* wrap urls in anchor tag in runs table

Signed-off-by: Marijn Valk <[email protected]>

* eslint fix & comment

Signed-off-by: Marijn Valk <[email protected]>

* added comment to util function

Signed-off-by: Marijn Valk <[email protected]>

Signed-off-by: Marijn Valk <[email protected]>

* Removing actual code from DAG strings for MLP and just keeping user guide (#6595)

Signed-off-by: Sunish Sheth <[email protected]>

Signed-off-by: Sunish Sheth <[email protected]>

* Add confs for metric prefix and metric dataset info to mlflow.evaluate(), rename accuracy to accuracy_score (#6593)

* Actually include the prefix in eval results

Signed-off-by: dbczumar <[email protected]>

* Naming

Signed-off-by: dbczumar <[email protected]>

* Reset pipelines

Signed-off-by: dbczumar <[email protected]>

* Rename

Signed-off-by: dbczumar <[email protected]>

* Format

Signed-off-by: dbczumar <[email protected]>

* Fix test

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* [Model Validation] Land model validation feature (#6582)

* [Model Validation] Disable logging metrics and artifacts for baseline model evaluation (#6310)

* add is_baseline_model boolean flag for disabling logging metrics and artifacts

Signed-off-by: Zhe Wang <[email protected]>

* evaluation for baseline model should not generate artifact

Signed-off-by: Zhe Wang <[email protected]>

* fix unit tests and dummy evaluator

Signed-off-by: Zhe Wang <[email protected]>

* add unit test for validation interface

Signed-off-by: Zhe Wang <[email protected]>

* change existing unit tests for testing validation

Signed-off-by: Zhe Wang <[email protected]>

* add more unit tests for disabling logging of metrics and artifacts for baseline model evaluation

Signed-off-by: Zhe Wang <[email protected]>

* add unit tests for vaildation

Signed-off-by: Zhe Wang <[email protected]>

* Fix docstring for evaluate

Signed-off-by: Zhe Wang <[email protected]>

* Refactor unit tests for evaluation and validation

Signed-off-by: Zhe Wang <[email protected]>

* Refactor unit tests for evaluation and validation

Signed-off-by: Zhe Wang <[email protected]>

* refactor unit tests

Signed-off-by: Zhe Wang <[email protected]>

* remove typo

Signed-off-by: Zhe Wang <[email protected]>

* refactor some code into functions

Signed-off-by: Zhe Wang <[email protected]>

* add baseline_model to evaluator.evalaute and change corresponding unit tests

Signed-off-by: Zhe Wang <[email protected]>

* refactor unit tests for better readability

Signed-off-by: Zhe Wang <[email protected]>

* undo some unnecessary refactor

Signed-off-by: Zhe Wang <[email protected]>

* remove unused methods

Signed-off-by: Zhe Wang <[email protected]>

* refactor default evaluator evaluate

Signed-off-by: Zhe Wang <[email protected]>

* add more info to doc string

Signed-off-by: Zhe Wang <[email protected]>

* add more doc strings for helper methods

Signed-off-by: Zhe Wang <[email protected]>

* Update mlflow/models/evaluation/base.py

Co-authored-by: Jerry Liang <[email protected]>

* Update mlflow/models/evaluation/base.py

Co-authored-by: Jerry Liang <[email protected]>

* address comments

Signed-off-by: Zhe Wang <[email protected]>

* Update mlflow/models/evaluation/default_evaluator.py

Co-authored-by: Jerry Liang <[email protected]>

* Update mlflow/models/evaluation/default_evaluator.py

Co-authored-by: Jerry Liang <[email protected]>

* address comments

Signed-off-by: Zhe Wang <[email protected]>

* add more comments

Signed-off-by: Zhe Wang <[email protected]>

* Update tests/models/test_default_evaluator.py

Co-authored-by: Jerry Liang <[email protected]>

* rename test configs

Signed-off-by: Zhe Wang <[email protected]>

* add doc string

Signed-off-by: Zhe Wang <[email protected]>

* address comments

Signed-off-by: Zhe Wang <[email protected]>

* Update mlflow/models/evaluation/default_evaluator.py

Co-authored-by: Jerry Liang <[email protected]>

Co-authored-by: Jerry Liang <[email protected]>

* [Model Validation] Add MetricThreshold and Model Validation Functionality to MLflow.evaluate (#6328)

Add model validation functionality to `mlflow.evaluate`
- Add `MetricThreshold` class to let users define validation thresholds for model validation.
- Add `_validate` for metric value threshold check and model comparison check
- Add internal class `_ValidationResult` per metric for formatting failure message.

If the model validation passed, no exception will be thrown and `EvaluationResult` will be returned. If the model validation failed, `mlflowModelValidationFailedException` will be thrown containing detailed failure message indicating why the model validation did not pass.

Documentations:
Two extra parameters for `mlflow.evalaute`
<img width="895" alt="CleanShot 2022-08-05 at 13 17 13@2x" src="https://user-images.githubusercontent.com/25189433/183156569-06139716-3065-4493-9804-bcbc3538afa9.png">
One user facing class `MetricThreshold` for users to define thresholds for metrics.
<img width="928" alt="CleanShot 2022-08-05 at 13 18 02@2x" src="https://user-images.githubusercontent.com/25189433/183156670-bdd1c147-9e45-4c77-87b0-d5dab308e7db.png">

* Update mlflow/models/evaluation/base.py

Co-authored-by: Corey Zumar <[email protected]>

* Update mlflow/models/evaluation/base.py

Co-authored-by: Corey Zumar <[email protected]>

* Update mlflow/models/evaluation/base.py

Co-authored-by: Corey Zumar <[email protected]>

* merge master pt2

Signed-off-by: Jerry Liang <[email protected]>

* [Model Validation] Finishing touches and documentation (#6577)

* adapt feedback

Signed-off-by: Jerry Liang <[email protected]>

* adapt feedback

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* add MetricThreshold class checks

Signed-off-by: Jerry Liang <[email protected]>

* fix missing baseline model test

Signed-off-by: Jerry Liang <[email protected]>

* enhance baseline model test

Signed-off-by: Jerry Liang <[email protected]>

* add baseline metric 0 tests

Signed-off-by: Jerry Liang <[email protected]>

* add ;

Signed-off-by: Jerry Liang <[email protected]>

* documentation

Signed-off-by: Jerry Liang <[email protected]>

* documentation

Signed-off-by: Jerry Liang <[email protected]>

* documentation

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* Update mlflow/models/evaluation/validation.py

Co-authored-by: Corey Zumar <[email protected]>
Signed-off-by: Jerry Liang <[email protected]>

* Update docs/source/models.rst

Co-authored-by: Corey Zumar <[email protected]>
Signed-off-by: Jerry Liang <[email protected]>

* Update docs/source/models.rst

Co-authored-by: Corey Zumar <[email protected]>
Signed-off-by: Jerry Liang <[email protected]>

* Update docs/source/models.rst

Co-authored-by: Corey Zumar <[email protected]>
Signed-off-by: Jerry Liang <[email protected]>

* Update examples/evaluation/README.md

Co-authored-by: Corey Zumar <[email protected]>
Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

* wip

Signed-off-by: Jerry Liang <[email protected]>

Signed-off-by: Jerry Liang <[email protected]>
Co-authored-by: Corey Zumar <[email protected]>

* modify evaluate doc string

Signed-off-by: Jerry Liang <[email protected]>

Signed-off-by: Jerry Liang <[email protected]>
Co-authored-by: Zhe Wang <[email protected]>
Co-authored-by: Corey Zumar <[email protected]>

* [ML-20702] increase version font size (#6596)

* Changed the name Start Time to Created (#6597)

Signed-off-by: Jin Zhang <[email protected]>

Signed-off-by: Jin Zhang <[email protected]>

* feat(scoring_server): add /health endpoint (#6574)

Signed-off-by: Gabriel Gazola Milan <[email protected]>

Signed-off-by: Gabriel Gazola Milan <[email protected]>

* Update start time col (#6614)

* Changed the name Start Time to Created

Signed-off-by: Jin Zhang <[email protected]>

* Added i18n change to Created

Signed-off-by: Jin Zhang <[email protected]>

Signed-off-by: Jin Zhang <[email protected]>

* Add a script to update `CHANGELOG.md` (#6624)

* Add update_changelog.py

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* fix

Signed-off-by: harupy <[email protected]>

* comma

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Improve styling of DAG and rearrage transform step node (#6612)

Signed-off-by: Sunish Sheth <[email protected]>

Signed-off-by: Sunish Sheth <[email protected]>

* Update documentation for model version `run_link` field (#6632)

* Update documentation for model version run_link field

Signed-off-by: Arpit Jasapara <[email protected]>

* Updated protos

Signed-off-by: Arpit Jasapara <[email protected]>

* Update mlflow/protos/model_registry.proto

Co-authored-by: Siddharth Murching <[email protected]>
Signed-off-by: Arpit Jasapara <[email protected]>

Signed-off-by: Arpit Jasapara <[email protected]>
Co-authored-by: Siddharth Murching <[email protected]>

* Move data capture config to end (#6621)

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* Used tuple instead a comma-separated string in pytest.mark.parametrize. (#6623)

* Used tuple instead a comma-separated string in pytest.mark.parametrize.

Signed-off-by: Shraddha Falane <[email protected]>

* Used tuple instead a comma-separated string in pytest.mark.parametrize.

Signed-off-by: Shraddha Falane <[email protected]>

Signed-off-by: Shraddha Falane <[email protected]>

* Stabilize SearchExperiments API (#6551)

* Remove search experiments experimental

Signed-off-by: dbczumar <[email protected]>

* Remove unused imports

Signed-off-by: dbczumar <[email protected]>

Signed-off-by: dbczumar <[email protected]>

* Fix command to trigger auto-formatting (#6639)

* Fix command to trigger auto-formatting

Signed-off-by: harupy <[email protected]>

* use test

Signed-off-by: harupy <[email protected]>

* fix script

Signed-off-by: harupy <[email protected]>

Signed-off-by: harupy <[email protected]>

* Support argument for local_tmpdir when loading spark model. (#6642)

* feat: Support argument for local_tmpdir when loading spark model.
Signed-off-by: Li Jiang <[email protected]>

* update local_tmpdir with dst_path
Signed-off-by: Li Jiang <[email protected]>

* Add soft delete in (#6637)

* Add soft delete in

Signed-off-by: ninabacc-db <[email protected]>

* Line item edit

Signed-off-by: ninabacc-db <[email protected]>

Signed-off-by: ninabacc-db <[email protected]>

* adding load_text, load_image, load_dict to fluent.py (#6475)

* adding load_text, load_json, load_image

Signed-off-by: Subramaniam Shanmugam <[email protected]>

* adding pillow to req…
nnethery pushed a commit to nnethery/mlflow that referenced this pull request Feb 1, 2024
* CLI command suggestion after running the pipeline

Signed-off-by: Hubert Zub <[email protected]>

* fix: added git commands to MLP CLI suggestion

* chore: lint fixes

Signed-off-by: Hubert Zub <[email protected]>

* chore: test fixes

Signed-off-by: Hubert Zub <[email protected]>

Signed-off-by: Hubert Zub <[email protected]>
nnethery pushed a commit to nnethery/mlflow that referenced this pull request Feb 1, 2024
* fix: regression caused by mlflow#6376

Signed-off-by: Hubert Zub <[email protected]>

* chore: CR fix

Signed-off-by: Hubert Zub <[email protected]>

* chore: CR fixes

Signed-off-by: Hubert Zub <[email protected]>

* chore: fixed unit tests

Signed-off-by: Hubert Zub <[email protected]>

* chore: fixed unit tests

Signed-off-by: Hubert Zub <[email protected]>

* chore: removed artifact

Signed-off-by: Hubert Zub <[email protected]>

* chore: Update env variable value

Co-authored-by: Liang Zhang <[email protected]>

Signed-off-by: Hubert Zub <[email protected]>
Co-authored-by: Liang Zhang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/recipes MLflow Recipes, Recipes APIs, Recipes configs, Recipe Templates area/uiux Front-end, user experience, plotting, JavaScript, JavaScript dev server rn/feature Mention under Features in Changelogs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants