summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 06:13:54 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 06:13:54 +0000
commit9d3306c97da2209fdbdf8df82e7ed915d9bd6816 (patch)
treee20cf528b863f8e116f398ccb6a492f1a17998b0
parent4183de8d666eab05fe18bca66d911c1ef9ce422e (diff)
automatic import of python-rubicon-mlopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-rubicon-ml.spec396
-rw-r--r--sources1
3 files changed, 398 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..19ddac7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/rubicon-ml-0.4.4.tar.gz
diff --git a/python-rubicon-ml.spec b/python-rubicon-ml.spec
new file mode 100644
index 0000000..6b46080
--- /dev/null
+++ b/python-rubicon-ml.spec
@@ -0,0 +1,396 @@
+%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 <Python_Bot@openeuler.org> - 0.4.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..49bad8e
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+1b8b4868231fd7abf33c9124048cfd29 rubicon-ml-0.4.4.tar.gz