%global _empty_manifest_terminate_build 0 Name: python-rubicon-ml Version: 0.4.4 Release: 1 Summary: "an ML library for model development and governance" License: "Apache License, Version 2.0" URL: https://github.com/capitalone/rubicon-ml Source0: https://mirrors.aliyun.com/pypi/web/packages/14/3f/cb5178e4f7d5031c82f80d2e49cb26123d948c9b59174bf24a404b2472c1/rubicon-ml-0.4.4.tar.gz BuildArch: noarch Requires: python3-click Requires: python3-fsspec Requires: python3-intake[dataframe] Requires: python3-numpy Requires: python3-pandas Requires: python3-pyarrow Requires: python3-PyYAML Requires: python3-scikit-learn Requires: python3-dash Requires: python3-dash-bootstrap-components Requires: python3-prefect Requires: python3-s3fs Requires: python3-prefect Requires: python3-s3fs Requires: python3-dash Requires: python3-dash-bootstrap-components Requires: python3-dash Requires: python3-dash-bootstrap-components %description ## Components rubicon-ml is composed of three parts: * A Python library for storing and retrieving model inputs, outputs, and analyses to filesystems that’s powered by [`fsspec`](https://filesystem-spec.readthedocs.io/en/latest/?badge=latest) * A dashboard for exploring, comparing, and visualizing logged data built with [`dash`](https://dash.plotly.com/) * And a process for sharing a selected subset of logged data with collaborators or reviewers that leverages [`intake`](https://intake.readthedocs.io/en/latest/) ## Workflow Use `rubicon_ml` to capture model inputs and outputs over time. It can be easily integrated into existing Python models or pipelines and supports both concurrent logging (so multiple experiments can be logged in parallel) and asynchronous communication with S3 (so network reads and writes won’t block). Meanwhile, periodically review the logged data within the Rubicon dashboard to steer the model tweaking process in the right direction. The dashboard lets you quickly spot trends by exploring and filtering your logged results and visualizes how the model inputs impacted the model outputs. When the model is ready for review, Rubicon makes it easy to share specific subsets of the data with model reviewers and stakeholders, giving them the context necessary for a complete model review and approval. ## Use Check out the [interactive notebooks in this Binder](https://mybinder.org/v2/gh/capitalone/rubicon-ml/main?labpath=binder%2Fwelcome.ipynb) to try `rubicon_ml` for yourself. Here's a simple example: ```python from rubicon_ml import Rubicon rubicon = Rubicon( persistence="filesystem", root_dir="/rubicon-root", auto_git_enabled=True ) project = rubicon.create_project( "Hello World", description="Using rubicon to track model results over time." ) experiment = project.log_experiment( training_metadata=[SklearnTrainingMetadata("sklearn.datasets", "my-data-set")], model_name="My Model Name", tags=["my_model_name"], ) experiment.log_parameter("n_estimators", n_estimators) experiment.log_parameter("n_features", n_features) experiment.log_parameter("random_state", random_state) accuracy = rfc.score(X_test, y_test) experiment.log_metric("accuracy", accuracy) ``` Then explore the project by running the dashboard: ``` rubicon_ml ui --root-dir /rubicon-root ``` ## Documentation For a full overview, visit the [docs](https://capitalone.github.io/rubicon-ml/). If you have suggestions or find a bug, [please open an issue](https://github.com/capitalone/rubicon-ml/issues/new/choose). ## Install The Python library is available on Conda Forge via `conda` and PyPi via `pip`. ``` conda config --add channels conda-forge conda install rubicon-ml ``` or ``` pip install rubicon-ml ``` ## Develop The project uses conda to manage environments. First, install [conda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html). Then use conda to setup a development environment: ```bash conda env create -f environment.yml conda activate rubicon-ml-dev ``` Finally, install `rubicon_ml` locally into the newly created environment. ```bash pip install -e ".[all]" ``` ## Testing The tests are separated into unit and integration tests. They can be run directly in the activated dev environment via `pytest tests/unit` or `pytest tests/integration`. Or by simply running `pytest` to execute all of them. **Note**: some integration tests are intentionally `marked` to control when they are run (i.e. not during CICD). These tests include: * Integration tests that write to physical filesystems - local and S3. Local files will be written to `./test-rubicon` relative to where the tests are run. An S3 path must also be provided to run these tests. By default, these tests are disabled. To enable them, run: ``` pytest -m "write_files" --s3-path "s3://my-bucket/my-key" ``` * Integration tests that run Jupyter notebooks. These tests are a bit slower than the rest of the tests in the suite as they need to launch Jupyter servers. By default, they are enabled. To disable them, run: ``` pytest -m "not run_notebooks and not write_files" ``` **Note**: When simply running `pytest`, `-m "not write_files"` is the default. So, we need to also apply it when disabling notebook tests. ## Code Formatting Install and configure pre-commit to automatically run `black`, `flake8`, and `isort` during commits: * [install pre-commit](https://pre-commit.com/#installation) * run `pre-commit install` to set up the git hook scripts Now `pre-commit` will run automatically on git commit and will ensure consistent code format throughout the project. You can format without committing via `pre-commit run` or skip these checks with `git commit --no-verify`. %package -n python3-rubicon-ml Summary: "an ML library for model development and governance" Provides: python-rubicon-ml BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-rubicon-ml ## Components rubicon-ml is composed of three parts: * A Python library for storing and retrieving model inputs, outputs, and analyses to filesystems that’s powered by [`fsspec`](https://filesystem-spec.readthedocs.io/en/latest/?badge=latest) * A dashboard for exploring, comparing, and visualizing logged data built with [`dash`](https://dash.plotly.com/) * And a process for sharing a selected subset of logged data with collaborators or reviewers that leverages [`intake`](https://intake.readthedocs.io/en/latest/) ## Workflow Use `rubicon_ml` to capture model inputs and outputs over time. It can be easily integrated into existing Python models or pipelines and supports both concurrent logging (so multiple experiments can be logged in parallel) and asynchronous communication with S3 (so network reads and writes won’t block). Meanwhile, periodically review the logged data within the Rubicon dashboard to steer the model tweaking process in the right direction. The dashboard lets you quickly spot trends by exploring and filtering your logged results and visualizes how the model inputs impacted the model outputs. When the model is ready for review, Rubicon makes it easy to share specific subsets of the data with model reviewers and stakeholders, giving them the context necessary for a complete model review and approval. ## Use Check out the [interactive notebooks in this Binder](https://mybinder.org/v2/gh/capitalone/rubicon-ml/main?labpath=binder%2Fwelcome.ipynb) to try `rubicon_ml` for yourself. Here's a simple example: ```python from rubicon_ml import Rubicon rubicon = Rubicon( persistence="filesystem", root_dir="/rubicon-root", auto_git_enabled=True ) project = rubicon.create_project( "Hello World", description="Using rubicon to track model results over time." ) experiment = project.log_experiment( training_metadata=[SklearnTrainingMetadata("sklearn.datasets", "my-data-set")], model_name="My Model Name", tags=["my_model_name"], ) experiment.log_parameter("n_estimators", n_estimators) experiment.log_parameter("n_features", n_features) experiment.log_parameter("random_state", random_state) accuracy = rfc.score(X_test, y_test) experiment.log_metric("accuracy", accuracy) ``` Then explore the project by running the dashboard: ``` rubicon_ml ui --root-dir /rubicon-root ``` ## Documentation For a full overview, visit the [docs](https://capitalone.github.io/rubicon-ml/). If you have suggestions or find a bug, [please open an issue](https://github.com/capitalone/rubicon-ml/issues/new/choose). ## Install The Python library is available on Conda Forge via `conda` and PyPi via `pip`. ``` conda config --add channels conda-forge conda install rubicon-ml ``` or ``` pip install rubicon-ml ``` ## Develop The project uses conda to manage environments. First, install [conda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html). Then use conda to setup a development environment: ```bash conda env create -f environment.yml conda activate rubicon-ml-dev ``` Finally, install `rubicon_ml` locally into the newly created environment. ```bash pip install -e ".[all]" ``` ## Testing The tests are separated into unit and integration tests. They can be run directly in the activated dev environment via `pytest tests/unit` or `pytest tests/integration`. Or by simply running `pytest` to execute all of them. **Note**: some integration tests are intentionally `marked` to control when they are run (i.e. not during CICD). These tests include: * Integration tests that write to physical filesystems - local and S3. Local files will be written to `./test-rubicon` relative to where the tests are run. An S3 path must also be provided to run these tests. By default, these tests are disabled. To enable them, run: ``` pytest -m "write_files" --s3-path "s3://my-bucket/my-key" ``` * Integration tests that run Jupyter notebooks. These tests are a bit slower than the rest of the tests in the suite as they need to launch Jupyter servers. By default, they are enabled. To disable them, run: ``` pytest -m "not run_notebooks and not write_files" ``` **Note**: When simply running `pytest`, `-m "not write_files"` is the default. So, we need to also apply it when disabling notebook tests. ## Code Formatting Install and configure pre-commit to automatically run `black`, `flake8`, and `isort` during commits: * [install pre-commit](https://pre-commit.com/#installation) * run `pre-commit install` to set up the git hook scripts Now `pre-commit` will run automatically on git commit and will ensure consistent code format throughout the project. You can format without committing via `pre-commit run` or skip these checks with `git commit --no-verify`. %package help Summary: Development documents and examples for rubicon-ml Provides: python3-rubicon-ml-doc %description help ## Components rubicon-ml is composed of three parts: * A Python library for storing and retrieving model inputs, outputs, and analyses to filesystems that’s powered by [`fsspec`](https://filesystem-spec.readthedocs.io/en/latest/?badge=latest) * A dashboard for exploring, comparing, and visualizing logged data built with [`dash`](https://dash.plotly.com/) * And a process for sharing a selected subset of logged data with collaborators or reviewers that leverages [`intake`](https://intake.readthedocs.io/en/latest/) ## Workflow Use `rubicon_ml` to capture model inputs and outputs over time. It can be easily integrated into existing Python models or pipelines and supports both concurrent logging (so multiple experiments can be logged in parallel) and asynchronous communication with S3 (so network reads and writes won’t block). Meanwhile, periodically review the logged data within the Rubicon dashboard to steer the model tweaking process in the right direction. The dashboard lets you quickly spot trends by exploring and filtering your logged results and visualizes how the model inputs impacted the model outputs. When the model is ready for review, Rubicon makes it easy to share specific subsets of the data with model reviewers and stakeholders, giving them the context necessary for a complete model review and approval. ## Use Check out the [interactive notebooks in this Binder](https://mybinder.org/v2/gh/capitalone/rubicon-ml/main?labpath=binder%2Fwelcome.ipynb) to try `rubicon_ml` for yourself. Here's a simple example: ```python from rubicon_ml import Rubicon rubicon = Rubicon( persistence="filesystem", root_dir="/rubicon-root", auto_git_enabled=True ) project = rubicon.create_project( "Hello World", description="Using rubicon to track model results over time." ) experiment = project.log_experiment( training_metadata=[SklearnTrainingMetadata("sklearn.datasets", "my-data-set")], model_name="My Model Name", tags=["my_model_name"], ) experiment.log_parameter("n_estimators", n_estimators) experiment.log_parameter("n_features", n_features) experiment.log_parameter("random_state", random_state) accuracy = rfc.score(X_test, y_test) experiment.log_metric("accuracy", accuracy) ``` Then explore the project by running the dashboard: ``` rubicon_ml ui --root-dir /rubicon-root ``` ## Documentation For a full overview, visit the [docs](https://capitalone.github.io/rubicon-ml/). If you have suggestions or find a bug, [please open an issue](https://github.com/capitalone/rubicon-ml/issues/new/choose). ## Install The Python library is available on Conda Forge via `conda` and PyPi via `pip`. ``` conda config --add channels conda-forge conda install rubicon-ml ``` or ``` pip install rubicon-ml ``` ## Develop The project uses conda to manage environments. First, install [conda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html). Then use conda to setup a development environment: ```bash conda env create -f environment.yml conda activate rubicon-ml-dev ``` Finally, install `rubicon_ml` locally into the newly created environment. ```bash pip install -e ".[all]" ``` ## Testing The tests are separated into unit and integration tests. They can be run directly in the activated dev environment via `pytest tests/unit` or `pytest tests/integration`. Or by simply running `pytest` to execute all of them. **Note**: some integration tests are intentionally `marked` to control when they are run (i.e. not during CICD). These tests include: * Integration tests that write to physical filesystems - local and S3. Local files will be written to `./test-rubicon` relative to where the tests are run. An S3 path must also be provided to run these tests. By default, these tests are disabled. To enable them, run: ``` pytest -m "write_files" --s3-path "s3://my-bucket/my-key" ``` * Integration tests that run Jupyter notebooks. These tests are a bit slower than the rest of the tests in the suite as they need to launch Jupyter servers. By default, they are enabled. To disable them, run: ``` pytest -m "not run_notebooks and not write_files" ``` **Note**: When simply running `pytest`, `-m "not write_files"` is the default. So, we need to also apply it when disabling notebook tests. ## Code Formatting Install and configure pre-commit to automatically run `black`, `flake8`, and `isort` during commits: * [install pre-commit](https://pre-commit.com/#installation) * run `pre-commit install` to set up the git hook scripts Now `pre-commit` will run automatically on git commit and will ensure consistent code format throughout the project. You can format without committing via `pre-commit run` or skip these checks with `git commit --no-verify`. %prep %autosetup -n rubicon-ml-0.4.4 %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-rubicon-ml -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 0.4.4-1 - Package Spec generated