Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(sdk): Update mlflow version in sdk #616

Merged
merged 6 commits into from
Nov 15, 2024
Merged

Conversation

deadlycoconuts
Copy link
Contributor

@deadlycoconuts deadlycoconuts commented Nov 14, 2024

Description

This PR is the first part (1 out of 3) of a series of PRs to update the version of Mlflow used by Merlin (to 1.26.1*). These changes are:

  1. Update the version of Mlflow used in the Merlin SDK and publish it to PyPI
  2. Update
    • the Merlin pyfunc server and batch predictor to use the updated Merlin SDK version released in step 1 and publish them to PyPI
    • the Merlin API server to ensure that requests sent to Mlflow reflect the update API endpoint contracts
    • the Mlflow image so that it's built using version 1.26.1
  3. Update the default pyfunc server and batch predictor version in the Merlin SDK and publish its new version to PyPI

I also made some minor refactoring to the requirements files so that they are stored in a separate file and the reading of these files is consistent with what is done in the batch predictor and pyfunc server setup.py files.

*I've selected 1.26.1 because it's the latest version of Mlflow available that is before Mlflow v2, that still allows pandas==2.2.0 to be installed (this is a hard requirement needed by the arize package).

Modifications

  • Update Mlflow version to 1.26.1 (and other dependencies) in the SDK as well as observation publisher's requirements file since the unit tests there import the SDK's requirements file's dependencies
  • Update unit tests to ensure that the updated PythonModelContext from Mlflow is initialised with the required arguments (will only be needed for newer versions of Mlflow)

Tests

Checklist

  • Added PR label
  • Added unit test, integration, and/or e2e tests
  • Tested locally
  • Updated documentation
  • Update Swagger spec if the PR introduce API changes
  • Regenerated Golang and Python client if the PR introduces API changes

Release Notes

NONE

@deadlycoconuts deadlycoconuts added the maintenance Dependency updates and other chores label Nov 14, 2024
@deadlycoconuts deadlycoconuts self-assigned this Nov 14, 2024
Copy link
Member

@mbruner mbruner left a comment

Choose a reason for hiding this comment

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

lgtm, thanks!

@deadlycoconuts
Copy link
Contributor Author

Thanks for the quick review. I've lowered the upgrade back to 1.26.1 because it's latest version (below version 2) that does not have any restrictions preventing pandas==2.2.0 from being installed (which is a requirement of the arize package we're using).

I'll let the e2e tests pass and merge this after that.

@deadlycoconuts deadlycoconuts merged commit b310de4 into main Nov 15, 2024
33 checks passed
@deadlycoconuts deadlycoconuts deleted the update_mlflow_in_sdk branch November 15, 2024 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Dependency updates and other chores
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants