%global _empty_manifest_terminate_build 0 Name: python-dbnd-mlflow Version: 1.0.12.12 Release: 1 Summary: Machine Learning Orchestration License: Apache Software License URL: https://github.com/databand-ai/dbnd Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a6/ce/2ef49e9247b1b108330eba6fd9854266336e00f7af51d238f057ef1503d5/dbnd-mlflow-1.0.12.12.tar.gz BuildArch: noarch Requires: python3-dbnd Requires: python3-six %description # Overview The `dbnd-mlflow` plugin allows storing [mlflow](https://github.com/mlflow/mlflow) metrics to DBND tracker together with duplicating them to the mlflow store. # Install ```bash pip install dbnd-mlflow # or pip install databand[mlflow] ``` # Config ```ini [core] # Databand store url should be defined databand_url=http://localhost:8080 [mlflow_tracking] # Enable tracking to Databand store databand_tracking=True # Optionally, define a URI for mlflow store, # mlflow.get_tracking_uri() is used by default ; duplicate_tracking_to=http://mlflow-store/ ``` # Run example You might need to install examples at first `pip install dbnd-examples`. ```bash dbnd run dbnd_examples.tracking.tracking_mlflow.task_with_mflow # or set configs manually dbnd run dbnd_examples.tracking.tracking_mlflow.task_with_mflow --set-config mlflow_tracking.databand_tracking=True ``` # Explanation
mlflow_example code

```python from dbnd import task from mlflow import start_run, end_run from mlflow import log_metric, log_param @task def mlflow_example(): start_run() # params log_param("param1", randint(0, 100)) log_param("param2", randint(0, 100)) # metrics log_metric("foo1", random()) log_metric("foo2", random()) end_run() ```

## Execution flow: 1. Run `dbnd run mlflow_example --set-config mlflow_tracking.databand_tracking=True` 2. dbnd creates a new dbnd context 3. `dbnd_on_pre_init_context` hook from `dbnd_mlflow` is triggered - a new uri is computed to be used by mlflow, e.g.: - `dbnd://localhost:8080?duplicate_tracking_to=http%253A%252F%252Fmlflow-store%253A80%252F` - the new uri is set to be used with `mlflow.set_tracking_uri()` 4. `mlflow_example` task starts: 1. `mlflow.start_run()` 1. `mlflow` reads `entry_points` for each installed package and finds: - "dbnd = dbnd_mlflow.tracking_store:get_dbnd_store", - "dbnd+s = dbnd_mlflow.tracking_store:get_dbnd_store", - "databand = dbnd_mlflow.tracking_store:get_dbnd_store", - "databand+s = dbnd_mlflow.tracking_store:get_dbnd_store", 2. `mlflow` creates `TrackingStoreClient` using the new uri 3. uri schema instructs to use `dbnd_mlflow.tracking_store:get_dbnd_store` - `get_dbnd_store` creates dbnd `TrackingAPIClient` - `get_dbnd_store` creates mlflow tracking store to duplicate tracking to - `get_dbnd_store` returns `DatabandStore` instance 2. `log_param()`/`log_metric()` - calls to `DatabandStore` - calls to `TrackingAPIClient` - calls to mlflow tracking store to duplicate tracking to 3. `mlflow.end_run()` 5. `mlflow_example` ends 6. `dbnd_on_exit_context` hook from `dbnd_mlflow` is triggered - restore original mlflow tracking uri %package -n python3-dbnd-mlflow Summary: Machine Learning Orchestration Provides: python-dbnd-mlflow BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-dbnd-mlflow # Overview The `dbnd-mlflow` plugin allows storing [mlflow](https://github.com/mlflow/mlflow) metrics to DBND tracker together with duplicating them to the mlflow store. # Install ```bash pip install dbnd-mlflow # or pip install databand[mlflow] ``` # Config ```ini [core] # Databand store url should be defined databand_url=http://localhost:8080 [mlflow_tracking] # Enable tracking to Databand store databand_tracking=True # Optionally, define a URI for mlflow store, # mlflow.get_tracking_uri() is used by default ; duplicate_tracking_to=http://mlflow-store/ ``` # Run example You might need to install examples at first `pip install dbnd-examples`. ```bash dbnd run dbnd_examples.tracking.tracking_mlflow.task_with_mflow # or set configs manually dbnd run dbnd_examples.tracking.tracking_mlflow.task_with_mflow --set-config mlflow_tracking.databand_tracking=True ``` # Explanation
mlflow_example code

```python from dbnd import task from mlflow import start_run, end_run from mlflow import log_metric, log_param @task def mlflow_example(): start_run() # params log_param("param1", randint(0, 100)) log_param("param2", randint(0, 100)) # metrics log_metric("foo1", random()) log_metric("foo2", random()) end_run() ```

## Execution flow: 1. Run `dbnd run mlflow_example --set-config mlflow_tracking.databand_tracking=True` 2. dbnd creates a new dbnd context 3. `dbnd_on_pre_init_context` hook from `dbnd_mlflow` is triggered - a new uri is computed to be used by mlflow, e.g.: - `dbnd://localhost:8080?duplicate_tracking_to=http%253A%252F%252Fmlflow-store%253A80%252F` - the new uri is set to be used with `mlflow.set_tracking_uri()` 4. `mlflow_example` task starts: 1. `mlflow.start_run()` 1. `mlflow` reads `entry_points` for each installed package and finds: - "dbnd = dbnd_mlflow.tracking_store:get_dbnd_store", - "dbnd+s = dbnd_mlflow.tracking_store:get_dbnd_store", - "databand = dbnd_mlflow.tracking_store:get_dbnd_store", - "databand+s = dbnd_mlflow.tracking_store:get_dbnd_store", 2. `mlflow` creates `TrackingStoreClient` using the new uri 3. uri schema instructs to use `dbnd_mlflow.tracking_store:get_dbnd_store` - `get_dbnd_store` creates dbnd `TrackingAPIClient` - `get_dbnd_store` creates mlflow tracking store to duplicate tracking to - `get_dbnd_store` returns `DatabandStore` instance 2. `log_param()`/`log_metric()` - calls to `DatabandStore` - calls to `TrackingAPIClient` - calls to mlflow tracking store to duplicate tracking to 3. `mlflow.end_run()` 5. `mlflow_example` ends 6. `dbnd_on_exit_context` hook from `dbnd_mlflow` is triggered - restore original mlflow tracking uri %package help Summary: Development documents and examples for dbnd-mlflow Provides: python3-dbnd-mlflow-doc %description help # Overview The `dbnd-mlflow` plugin allows storing [mlflow](https://github.com/mlflow/mlflow) metrics to DBND tracker together with duplicating them to the mlflow store. # Install ```bash pip install dbnd-mlflow # or pip install databand[mlflow] ``` # Config ```ini [core] # Databand store url should be defined databand_url=http://localhost:8080 [mlflow_tracking] # Enable tracking to Databand store databand_tracking=True # Optionally, define a URI for mlflow store, # mlflow.get_tracking_uri() is used by default ; duplicate_tracking_to=http://mlflow-store/ ``` # Run example You might need to install examples at first `pip install dbnd-examples`. ```bash dbnd run dbnd_examples.tracking.tracking_mlflow.task_with_mflow # or set configs manually dbnd run dbnd_examples.tracking.tracking_mlflow.task_with_mflow --set-config mlflow_tracking.databand_tracking=True ``` # Explanation
mlflow_example code

```python from dbnd import task from mlflow import start_run, end_run from mlflow import log_metric, log_param @task def mlflow_example(): start_run() # params log_param("param1", randint(0, 100)) log_param("param2", randint(0, 100)) # metrics log_metric("foo1", random()) log_metric("foo2", random()) end_run() ```

## Execution flow: 1. Run `dbnd run mlflow_example --set-config mlflow_tracking.databand_tracking=True` 2. dbnd creates a new dbnd context 3. `dbnd_on_pre_init_context` hook from `dbnd_mlflow` is triggered - a new uri is computed to be used by mlflow, e.g.: - `dbnd://localhost:8080?duplicate_tracking_to=http%253A%252F%252Fmlflow-store%253A80%252F` - the new uri is set to be used with `mlflow.set_tracking_uri()` 4. `mlflow_example` task starts: 1. `mlflow.start_run()` 1. `mlflow` reads `entry_points` for each installed package and finds: - "dbnd = dbnd_mlflow.tracking_store:get_dbnd_store", - "dbnd+s = dbnd_mlflow.tracking_store:get_dbnd_store", - "databand = dbnd_mlflow.tracking_store:get_dbnd_store", - "databand+s = dbnd_mlflow.tracking_store:get_dbnd_store", 2. `mlflow` creates `TrackingStoreClient` using the new uri 3. uri schema instructs to use `dbnd_mlflow.tracking_store:get_dbnd_store` - `get_dbnd_store` creates dbnd `TrackingAPIClient` - `get_dbnd_store` creates mlflow tracking store to duplicate tracking to - `get_dbnd_store` returns `DatabandStore` instance 2. `log_param()`/`log_metric()` - calls to `DatabandStore` - calls to `TrackingAPIClient` - calls to mlflow tracking store to duplicate tracking to 3. `mlflow.end_run()` 5. `mlflow_example` ends 6. `dbnd_on_exit_context` hook from `dbnd_mlflow` is triggered - restore original mlflow tracking uri %prep %autosetup -n dbnd-mlflow-1.0.12.12 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-dbnd-mlflow -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 11 2023 Python_Bot - 1.0.12.12-1 - Package Spec generated