diff options
Diffstat (limited to 'python-quantile-data-kit.spec')
| -rw-r--r-- | python-quantile-data-kit.spec | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/python-quantile-data-kit.spec b/python-quantile-data-kit.spec new file mode 100644 index 0000000..08b1740 --- /dev/null +++ b/python-quantile-data-kit.spec @@ -0,0 +1,162 @@ +%global _empty_manifest_terminate_build 0 +Name: python-quantile-data-kit +Version: 0.0.48 +Release: 1 +Summary: An internal Quantile development kit for making working with data easier +License: MIT License +URL: https://github.com/quantile-development/quantile-data-kit +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/76/8b/c4f62e5cf5f004297e045c7b0954d92cd73006457c929439a9f11093d0a1/quantile-data-kit-0.0.48.tar.gz +BuildArch: noarch + +Requires: python3-pandas +Requires: python3-dagster +Requires: python3-dagster-aws +Requires: python3-mlflow +Requires: python3-scikit-learn +Requires: python3-pyarrow +Requires: python3-markupsafe +Requires: python3-dask +Requires: python3-dask-ml +Requires: python3-distributed +Requires: python3-blosc +Requires: python3-lz4 +Requires: python3-s3fs +Requires: python3-psycopg2-binary +Requires: python3-stop-words +Requires: python3-yake +Requires: python3-gensim +Requires: python3-spacy +Requires: python3-nltk +Requires: python3-black +Requires: python3-isort +Requires: python3-setuptools +Requires: python3-wheel +Requires: python3-twine +Requires: python3-ipykernel +Requires: python3-pytest +Requires: python3-pytest + +%description +# Quantile Data Kit 🔍 + +## Publish to pypi +How to deploy a new version of the QDK? +1) Update the package version in `setup.py`. +2) Run the Makefile `make publish` + +## Components +There are four types of base components in the QDK. +1) `LoadComponent`. Takes nothing as input and outputs a DataFrame. +2) `TransformComponent`. Takes a DataFrame as input and outputs a DataFrame. +3) `TrainingComponent`. Takes data and a model as input and outputs a trained model. +4) `InferenceComponent`. Takes data and a model as input and ouputs prediction data. + +## Adding a new component? +Adding a new component to the QDK requires the following steps: +1) **Type of component:** Decide which type of the four components above you are adding. +2) **Add component:** Once you decide which type of component you are adding, add in the corresponding folder (e.g. `qdk/loader`) a new Python file that inherits from the parent component. In this file you can optionally overwrite `input_defs`, `output_defs` and `config_schema`. When adding a new component, you are required to add a classmethod with the same name as the `compute_function` attribute on the parent class. The keys in the `config_schema` are injected into the parameters of the compute function. Lastly, you need to import the new component to `qdk/__init__.py`. This allows you to import it from top-level. +4) **Write tests**: To continuously check the robustness of the components, we highly encourage you to add tests using `pytest`. The tests can be added at `qdk/tests`. Reminder to prefix the folder, files and functions with `test_`. One is able to test the components using either VScode testing or the terminal (e.g. with `pytest -s qdk/tests/test_loaders`). + + + + +%package -n python3-quantile-data-kit +Summary: An internal Quantile development kit for making working with data easier +Provides: python-quantile-data-kit +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-quantile-data-kit +# Quantile Data Kit 🔍 + +## Publish to pypi +How to deploy a new version of the QDK? +1) Update the package version in `setup.py`. +2) Run the Makefile `make publish` + +## Components +There are four types of base components in the QDK. +1) `LoadComponent`. Takes nothing as input and outputs a DataFrame. +2) `TransformComponent`. Takes a DataFrame as input and outputs a DataFrame. +3) `TrainingComponent`. Takes data and a model as input and outputs a trained model. +4) `InferenceComponent`. Takes data and a model as input and ouputs prediction data. + +## Adding a new component? +Adding a new component to the QDK requires the following steps: +1) **Type of component:** Decide which type of the four components above you are adding. +2) **Add component:** Once you decide which type of component you are adding, add in the corresponding folder (e.g. `qdk/loader`) a new Python file that inherits from the parent component. In this file you can optionally overwrite `input_defs`, `output_defs` and `config_schema`. When adding a new component, you are required to add a classmethod with the same name as the `compute_function` attribute on the parent class. The keys in the `config_schema` are injected into the parameters of the compute function. Lastly, you need to import the new component to `qdk/__init__.py`. This allows you to import it from top-level. +4) **Write tests**: To continuously check the robustness of the components, we highly encourage you to add tests using `pytest`. The tests can be added at `qdk/tests`. Reminder to prefix the folder, files and functions with `test_`. One is able to test the components using either VScode testing or the terminal (e.g. with `pytest -s qdk/tests/test_loaders`). + + + + +%package help +Summary: Development documents and examples for quantile-data-kit +Provides: python3-quantile-data-kit-doc +%description help +# Quantile Data Kit 🔍 + +## Publish to pypi +How to deploy a new version of the QDK? +1) Update the package version in `setup.py`. +2) Run the Makefile `make publish` + +## Components +There are four types of base components in the QDK. +1) `LoadComponent`. Takes nothing as input and outputs a DataFrame. +2) `TransformComponent`. Takes a DataFrame as input and outputs a DataFrame. +3) `TrainingComponent`. Takes data and a model as input and outputs a trained model. +4) `InferenceComponent`. Takes data and a model as input and ouputs prediction data. + +## Adding a new component? +Adding a new component to the QDK requires the following steps: +1) **Type of component:** Decide which type of the four components above you are adding. +2) **Add component:** Once you decide which type of component you are adding, add in the corresponding folder (e.g. `qdk/loader`) a new Python file that inherits from the parent component. In this file you can optionally overwrite `input_defs`, `output_defs` and `config_schema`. When adding a new component, you are required to add a classmethod with the same name as the `compute_function` attribute on the parent class. The keys in the `config_schema` are injected into the parameters of the compute function. Lastly, you need to import the new component to `qdk/__init__.py`. This allows you to import it from top-level. +4) **Write tests**: To continuously check the robustness of the components, we highly encourage you to add tests using `pytest`. The tests can be added at `qdk/tests`. Reminder to prefix the folder, files and functions with `test_`. One is able to test the components using either VScode testing or the terminal (e.g. with `pytest -s qdk/tests/test_loaders`). + + + + +%prep +%autosetup -n quantile-data-kit-0.0.48 + +%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-quantile-data-kit -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.48-1 +- Package Spec generated |
