Skip to main content

Huawei Cloud OBS store plugin for MLflow

This repository provides a MLflow plugin that allows users to use a Huawei Cloud OBS as the artifact store for MLflow.

Implementation overview

  • huaweicloudstoreplugin: this package includes the HuaweiCloudObsArtifactRepository class that is used to read and write artifacts from Huawei Cloud OBS storage.
  • setup.py file defines entrypoints that tell MLflow to automatically associate the obs URIs with the HuaweiCloudObsArtifactRepository implementation when the huaweicloudstoreplugin library is installed. The entrypoints are configured as follows:
entry_points={
        "mlflow.artifact_repository":
            "obs=huaweicloudstoreplugin.store.artifact.huaweicloud_obs_artifact_repo.py:HuaweiCloudObsArtifactRepository"
        ]
    },

Usage

Install by pip on both your client and the server, and then use MLflow as normal. The Huawei Cloud OBS artifact store support will be provided automatically.

pip install huaweicloudstoreplugin

The plugin implements all of the MLflow artifact store APIs. It expects Huawei Cloud Storage access credentials in the MLFLOW_OBS_REGION, MLFLOW_OBS_ACCESS_KEY_ID and MLFLOW_OBS_SECRET_ACCESS_KEY environment variables, so you must set these variables on both your client application and your MLflow tracking server. To use Huawei Cloud OBS as an artifact store, an OBS URI of the form obs://<bucket>/<path> must be provided, as shown in the example below:

import mlflow


class DemoModel(mlflow.pyfunc.PythonModel):
    def predict(self, ctx, inp) -> int:
        return 1

    
experiment = "demo"
mlflow.create_experiment(experiment, artifact_location="obs://mlflow-test/")
mlflow.set_experiment(experiment)
mlflow.pyfunc.log_model('model_test', python_model=DemoModel())

In the example provided above, the log_model operation creates three entries in the OBS storage obs://mlflow-test/$RUN_ID/artifacts/model_test/, the MLmodel file and the conda.yaml file associated with the model.

Metadata

Release files for huaweicloudstoreplugin 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for huaweicloudstoreplugin 0.2.0
File Size Uploaded
huaweicloudstoreplugin-0.2.0.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for huaweicloudstoreplugin 0.2.0
File Interpreter ABI Platform
huaweicloudstoreplugin-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.1 kB

Release files / huaweicloudstoreplugin-0.2.0.tar.gz

Download URL huaweicloudstoreplugin-0.2.0.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
af9a1bc91512864c730b8de1606da99e4bdf3161e2c452c1ab44ddb09ded314b
BLAKE2b-256 checksum
How to use checksums
06f1bf5f44cd6f5cbc6e9261b61d45879fef0386b9fb0fdd3cee7ab79479a248
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.2

Release files / huaweicloudstoreplugin-0.2.0-py3-none-any.whl

Download URL huaweicloudstoreplugin-0.2.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cf28c5e50e79d380fcde622ec08812c5126d6b59ea14caa256504ec7124c94d
BLAKE2b-256 checksum
How to use checksums
a0290f52a94c2742c2c52deb26e1a5c2485d1d20b26b826167a393252eef3183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.2

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page