MLOps Python Client MVP
## Architecture The initial plan is to simply wrap the existing MLflow library. ### Client A central object to manage interactions with experiments and models, including: ```python client = gitlab_mlops.Client() client.create_experiment() client.add_metric() client.load_model() ``` The client should take care of injecting the necessary environment variables to the underlying methods. ### Project Home https://gitlab.com/gitlab-org/modelops/mlops/gitlab-mlops ### Must-have #### [Client](https://gitlab.com/gitlab-org/gitlab/-/issues/508694) - [x] Create a client object - [x] Automatically handle necessary environment variables for authentication and setup - [x] Start and manage MLflow runs #### [Experiments](https://gitlab.com/gitlab-org/gitlab/-/issues/508692) - [x] Create experiment - [x] Log metrics - [x] Log parameters - [x] Log artifacts - [x] Log text #### [Model Versioning](https://gitlab.com/gitlab-org/gitlab/-/issues/508695) - [x] Create model versions - [x] Log metrics - [x] Log parameters - [x] Log artifacts - [x] Log text #### Infrastructure - [x] [Include a comprehensive README file](https://gitlab.com/gitlab-org/gitlab/-/issues/508696) - [x] Provide basic docstrings for all main classes and functions - [x] Implement unit tests to ensure code reliability - [x] [Add some end-to-end tests to verify workflows](https://gitlab.com/gitlab-org/gitlab/-/issues/508699) - [x] [Set up an automated testing pipeline](https://gitlab.com/gitlab-org/gitlab/-/issues/508703) ### Nice to have #### Model Versioning - [ ] Auto-detect the model type (e.g., TensorFlow, PyTorch) during logging - [ ] Load models ready for inference with minimal setup #### Infrastructure - [x] [Add an automated deployment pipeline for the library](https://gitlab.com/gitlab-org/gitlab/-/issues/508915) - [x] Achieve end-to-end test coverage for most functionalities
epic