Metadata-Version: 2.1
Name: oci-mlflow
Version: 1.0.1
Summary: OCI MLflow plugin to use OCI resources within MLflow
Author: Oracle Cloud Infrastructure Data Science
License: Universal Permissive License 1.0
Keywords: Oracle Cloud Infrastructure,OCI,Object Storage,MLflow
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Universal Permissive License (UPL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: mlflow (>=2.3.2)
Requires-Dist: oracle-ads (>=2.8.5)
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pytest-env ; extra == 'dev'

# OCI Mlflow Plugin

[![PyPI](https://img.shields.io/pypi/v/oci-mlflow.svg?style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/oci-mlflow/) [![Python](https://img.shields.io/pypi/pyversions/oci-mlflow.svg?style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/oci-mlflow/)

The OCI MLflow plugin enables OCI users to use OCI resources to manage their machine learning usecase life cycle. This table below provides the mapping between the MLflow features and the OCI resources that are used.

| MLflow Use Case    | OCI Resource |
| -------- | ------- |
| User running machine learning experiments on notebook, logs model artifacts, model performance etc  | Data Science Jobs, Object Storage, MySQL |
| Batch workloads using spark | Data Flow, Object Storage, MySQL |
| Model Deployment    | Data Science Model Deployment |
| User running machine learning experiments on notebook, logs model artifacts, model performance etc    | Object Storage, MySQL |


## Installation

To install the `oci-mlflow` plugin call -

```bash
  python3 -m pip install oci-mlflow
```

To test the `oci-mlflow` plugin call -

```bash
  mlflow deployments help -t oci-datascience
```

## Documentation
  - [OCI MLflow Documentation](https://oci-mlflow.readthedocs.io/en/latest/index.html)
  - [Getting started with Oracle Accelerated Data Science SDK](https://accelerated-data-science.readthedocs.io/en/latest/index.html)
  - [Getting started with OCI Data Science Jobs](https://docs.oracle.com/en-us/iaas/data-science/using/jobs-about.htm)
  - [Getting started with Data Science Environments](https://docs.oracle.com/en-us/iaas/data-science/using/conda_environ_list.htm)
  - [Getting started with Custom Conda Environments](https://docs.oracle.com/en-us/iaas/data-science/using/conda_create_conda_env.htm)
  - [Oracle AI & Data Science Blog](https://blogs.oracle.com/ai-and-datascience/)
  - [OCI Documentation](https://docs.oracle.com/en-us/iaas/data-science/using/data-science.htm)

## Examples
### Running MLflow projects on the OCI `Data Science jobs` and `Data Flow applications` -

```bash
export MLFLOW_TRACKING_URI=<tracking server url>
mlflow run . --experiment-name My-Experiment --backend oci-datascience --backend-config ./oci-datascience-config.json
```

### Deploying MLflow models to the OCI Model Deployments -

```bash
mlflow deployments help -t oci-datascience

export MLFLOW_TRACKING_URI=<tracking server url>

mlflow deployments create --name <model deployment name> -m models:/<registered model name>/<model version> -t oci-datascience --config deploy-config-file=deployment_specification.yaml
```


## Contributing

This project welcomes contributions from the community. Before submitting a pull request, please[review our contribution guide](./CONTRIBUTING.md)

Find Getting Started instructions for developers in [README-development.md](https://github.com/oracle/oci-mlflow/blob/main/README-development.md)

## Security

Consult the security guide [SECURITY.md](https://github.com/oracle/oci-mlflow/blob/main/SECURITY.md) for our responsible security vulnerability disclosure process.

## License

Copyright (c) 2023 Oracle and/or its affiliates. Licensed under the [Universal Permissive License v1.0](https://oss.oracle.com/licenses/upl/)
