diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 08:20:32 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 08:20:32 +0000 |
| commit | 4165edbf3ba7f155f0438df51c17582466955c1c (patch) | |
| tree | 2eec3757383cd9ab6ce76aa879313ecaa300bd1a /python-nntm.spec | |
| parent | efd530c1244f74de9ccd9db0f98b07440f126bd9 (diff) | |
automatic import of python-nntm
Diffstat (limited to 'python-nntm.spec')
| -rw-r--r-- | python-nntm.spec | 874 |
1 files changed, 874 insertions, 0 deletions
diff --git a/python-nntm.spec b/python-nntm.spec new file mode 100644 index 0000000..53c4397 --- /dev/null +++ b/python-nntm.spec @@ -0,0 +1,874 @@ +%global _empty_manifest_terminate_build 0 +Name: python-nntm +Version: 1.6.2 +Release: 1 +Summary: A set of modules for the Numerai tournament. +License: MIT +URL: https://github.com/suud/nntm +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/76/aa/4b84c066e8b31a1139856306896edb8722e95ae384f475f28d47cbb8e87a/nntm-1.6.2.tar.gz +BuildArch: noarch + +Requires: python3-numerapi +Requires: python3-pandas +Requires: python3-pyarrow +Requires: python3-scikit-learn + +%description +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://nntm.readthedocs.io/en/latest) +[](https://github.com/psf/black) + +> **Warning** +> +> nntm can only be used with the **v3** dataset for now + +# nntm +A set of modules for the [Numerai tournament](https://numer.ai/tournament). + +## Installation +```sh +pip install nntm==1.6.2 +``` + +## Usage +```python +from getpass import getpass +from nntm.datasets import ( + fetch_numerai_training, + fetch_numerai_tournament, + submit_numerai_tournament, + COLUMN_NAMES_SMALL, +) +from sklearn.linear_model import LinearRegression + +# Leave some columns out to save RAM +columns = COLUMN_NAMES_SMALL + +# Fit +X_train, y_train = fetch_numerai_training(return_X_y=True, columns=columns) +model = LinearRegression() +model.fit(X_train, y_train) + +# Predict +X_tourn, _ = fetch_numerai_tournament(return_X_y=True, columns=columns) +y_pred = model.predict(X_tourn) + +# Submit +model_id = input("Model ID (numer.ai/models):") +public_id = input("API Key Public ID (numer.ai/account):") +secret_key = getpass("API Key Secret (numer.ai/account):") +submit_numerai_tournament( + y_pred, model_id=model_id, public_id=public_id, secret_key=secret_key +) +``` + +## Development +### Run Tests +```sh +pytest +``` + +### Docs +```sh +apt-get install -y python3-sphinx +pip install -r docs/requirements.txt +pip install . +cd docs +``` +#### Generate api documentation from docstrings + +```sh +sphinx-apidoc -f -o source/ ../src/nntm/ +``` + +#### Build html documentation +```sh +make html +``` + +## 1.6.2 (2022-09-11) + +### Fix + +- use version prefix when downloading dataset + +## 1.6.1 (2022-06-19) + +### Fix + +- remove submission version + +## 1.6.0 (2021-12-05) + +### Feat + +- add function to submit tournament prediction + +## 1.5.0 (2021-11-30) + +### Feat + +- add round_num attribute to datasets +- add metrics to public api + +## 1.4.1 (2021-11-14) + +### Fix + +- set factory args +- don't pass eras to predict method +- pass eras to scorers on call +- convert ndarray to series + +## 1.4.0 (2021-11-11) + +### Feat + +- add validation_curve +- add numerai correlation score +- add utility function to build cv + +### Refactor + +- simplify function + +## 1.3.0 (2021-11-04) + +### Feat + +- add argument to keep downloaded file + +## 1.2.2 (2021-11-04) + +### Fix + +- explicitly check if groups is None + +## 1.2.1 (2021-11-04) + +### Fix + +- explicitly check if groups is None + +## 1.2.0 (2021-10-30) + +### Feat + +- add constants for feature and target names + +## 1.1.1 (2021-10-30) + +### Fix + +- add suffix only to filepath + +## 1.1.0 (2021-10-30) + +### Feat + +- add fetcher for feature metadata +- add argument to fetch custom round + +## 1.0.0 (2021-10-29) + +### Feat + +- add fetcher for validation predictions +- add fetcher for example predictions +- add fetcher for live data +- add fetcher for test data +- add fetcher for tournament data +- add targets attribute +- remove na_value argument +- use original data types +- return metadata as separate attributes + +### BREAKING CHANGE + +- remove support for NaN value replacement in fetchers. +- don't convert `era`s to int. +- replace the dataset's `info` attribute by `id`, `era` +and `data_type` attributes. + +## 0.3.0 (2021-10-28) + +### Feat + +- add PurgedKFold cross-validator + +### Perf + +- fill NaNs only when necessary + +## 0.2.0 (2021-10-08) + +### Feat + +- add fetcher for validation data + +## 0.1.2 (2021-10-07) + +### Fix + +- support earlier python versions + +## 0.1.1 (2021-10-07) + +### Refactor + +- remove icons + +## 0.1.0 (2021-10-07) + +### Feat + +- add fetcher for training data + +MIT License + +Copyright (c) 2021 Timo Sutterer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +BSD 3-Clause License + +Copyright (c) 2007-2021 The scikit-learn developers. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +%package -n python3-nntm +Summary: A set of modules for the Numerai tournament. +Provides: python-nntm +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-nntm +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://nntm.readthedocs.io/en/latest) +[](https://github.com/psf/black) + +> **Warning** +> +> nntm can only be used with the **v3** dataset for now + +# nntm +A set of modules for the [Numerai tournament](https://numer.ai/tournament). + +## Installation +```sh +pip install nntm==1.6.2 +``` + +## Usage +```python +from getpass import getpass +from nntm.datasets import ( + fetch_numerai_training, + fetch_numerai_tournament, + submit_numerai_tournament, + COLUMN_NAMES_SMALL, +) +from sklearn.linear_model import LinearRegression + +# Leave some columns out to save RAM +columns = COLUMN_NAMES_SMALL + +# Fit +X_train, y_train = fetch_numerai_training(return_X_y=True, columns=columns) +model = LinearRegression() +model.fit(X_train, y_train) + +# Predict +X_tourn, _ = fetch_numerai_tournament(return_X_y=True, columns=columns) +y_pred = model.predict(X_tourn) + +# Submit +model_id = input("Model ID (numer.ai/models):") +public_id = input("API Key Public ID (numer.ai/account):") +secret_key = getpass("API Key Secret (numer.ai/account):") +submit_numerai_tournament( + y_pred, model_id=model_id, public_id=public_id, secret_key=secret_key +) +``` + +## Development +### Run Tests +```sh +pytest +``` + +### Docs +```sh +apt-get install -y python3-sphinx +pip install -r docs/requirements.txt +pip install . +cd docs +``` +#### Generate api documentation from docstrings + +```sh +sphinx-apidoc -f -o source/ ../src/nntm/ +``` + +#### Build html documentation +```sh +make html +``` + +## 1.6.2 (2022-09-11) + +### Fix + +- use version prefix when downloading dataset + +## 1.6.1 (2022-06-19) + +### Fix + +- remove submission version + +## 1.6.0 (2021-12-05) + +### Feat + +- add function to submit tournament prediction + +## 1.5.0 (2021-11-30) + +### Feat + +- add round_num attribute to datasets +- add metrics to public api + +## 1.4.1 (2021-11-14) + +### Fix + +- set factory args +- don't pass eras to predict method +- pass eras to scorers on call +- convert ndarray to series + +## 1.4.0 (2021-11-11) + +### Feat + +- add validation_curve +- add numerai correlation score +- add utility function to build cv + +### Refactor + +- simplify function + +## 1.3.0 (2021-11-04) + +### Feat + +- add argument to keep downloaded file + +## 1.2.2 (2021-11-04) + +### Fix + +- explicitly check if groups is None + +## 1.2.1 (2021-11-04) + +### Fix + +- explicitly check if groups is None + +## 1.2.0 (2021-10-30) + +### Feat + +- add constants for feature and target names + +## 1.1.1 (2021-10-30) + +### Fix + +- add suffix only to filepath + +## 1.1.0 (2021-10-30) + +### Feat + +- add fetcher for feature metadata +- add argument to fetch custom round + +## 1.0.0 (2021-10-29) + +### Feat + +- add fetcher for validation predictions +- add fetcher for example predictions +- add fetcher for live data +- add fetcher for test data +- add fetcher for tournament data +- add targets attribute +- remove na_value argument +- use original data types +- return metadata as separate attributes + +### BREAKING CHANGE + +- remove support for NaN value replacement in fetchers. +- don't convert `era`s to int. +- replace the dataset's `info` attribute by `id`, `era` +and `data_type` attributes. + +## 0.3.0 (2021-10-28) + +### Feat + +- add PurgedKFold cross-validator + +### Perf + +- fill NaNs only when necessary + +## 0.2.0 (2021-10-08) + +### Feat + +- add fetcher for validation data + +## 0.1.2 (2021-10-07) + +### Fix + +- support earlier python versions + +## 0.1.1 (2021-10-07) + +### Refactor + +- remove icons + +## 0.1.0 (2021-10-07) + +### Feat + +- add fetcher for training data + +MIT License + +Copyright (c) 2021 Timo Sutterer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +BSD 3-Clause License + +Copyright (c) 2007-2021 The scikit-learn developers. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +%package help +Summary: Development documents and examples for nntm +Provides: python3-nntm-doc +%description help +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://pypi.python.org/pypi/nntm/) +[](https://nntm.readthedocs.io/en/latest) +[](https://github.com/psf/black) + +> **Warning** +> +> nntm can only be used with the **v3** dataset for now + +# nntm +A set of modules for the [Numerai tournament](https://numer.ai/tournament). + +## Installation +```sh +pip install nntm==1.6.2 +``` + +## Usage +```python +from getpass import getpass +from nntm.datasets import ( + fetch_numerai_training, + fetch_numerai_tournament, + submit_numerai_tournament, + COLUMN_NAMES_SMALL, +) +from sklearn.linear_model import LinearRegression + +# Leave some columns out to save RAM +columns = COLUMN_NAMES_SMALL + +# Fit +X_train, y_train = fetch_numerai_training(return_X_y=True, columns=columns) +model = LinearRegression() +model.fit(X_train, y_train) + +# Predict +X_tourn, _ = fetch_numerai_tournament(return_X_y=True, columns=columns) +y_pred = model.predict(X_tourn) + +# Submit +model_id = input("Model ID (numer.ai/models):") +public_id = input("API Key Public ID (numer.ai/account):") +secret_key = getpass("API Key Secret (numer.ai/account):") +submit_numerai_tournament( + y_pred, model_id=model_id, public_id=public_id, secret_key=secret_key +) +``` + +## Development +### Run Tests +```sh +pytest +``` + +### Docs +```sh +apt-get install -y python3-sphinx +pip install -r docs/requirements.txt +pip install . +cd docs +``` +#### Generate api documentation from docstrings + +```sh +sphinx-apidoc -f -o source/ ../src/nntm/ +``` + +#### Build html documentation +```sh +make html +``` + +## 1.6.2 (2022-09-11) + +### Fix + +- use version prefix when downloading dataset + +## 1.6.1 (2022-06-19) + +### Fix + +- remove submission version + +## 1.6.0 (2021-12-05) + +### Feat + +- add function to submit tournament prediction + +## 1.5.0 (2021-11-30) + +### Feat + +- add round_num attribute to datasets +- add metrics to public api + +## 1.4.1 (2021-11-14) + +### Fix + +- set factory args +- don't pass eras to predict method +- pass eras to scorers on call +- convert ndarray to series + +## 1.4.0 (2021-11-11) + +### Feat + +- add validation_curve +- add numerai correlation score +- add utility function to build cv + +### Refactor + +- simplify function + +## 1.3.0 (2021-11-04) + +### Feat + +- add argument to keep downloaded file + +## 1.2.2 (2021-11-04) + +### Fix + +- explicitly check if groups is None + +## 1.2.1 (2021-11-04) + +### Fix + +- explicitly check if groups is None + +## 1.2.0 (2021-10-30) + +### Feat + +- add constants for feature and target names + +## 1.1.1 (2021-10-30) + +### Fix + +- add suffix only to filepath + +## 1.1.0 (2021-10-30) + +### Feat + +- add fetcher for feature metadata +- add argument to fetch custom round + +## 1.0.0 (2021-10-29) + +### Feat + +- add fetcher for validation predictions +- add fetcher for example predictions +- add fetcher for live data +- add fetcher for test data +- add fetcher for tournament data +- add targets attribute +- remove na_value argument +- use original data types +- return metadata as separate attributes + +### BREAKING CHANGE + +- remove support for NaN value replacement in fetchers. +- don't convert `era`s to int. +- replace the dataset's `info` attribute by `id`, `era` +and `data_type` attributes. + +## 0.3.0 (2021-10-28) + +### Feat + +- add PurgedKFold cross-validator + +### Perf + +- fill NaNs only when necessary + +## 0.2.0 (2021-10-08) + +### Feat + +- add fetcher for validation data + +## 0.1.2 (2021-10-07) + +### Fix + +- support earlier python versions + +## 0.1.1 (2021-10-07) + +### Refactor + +- remove icons + +## 0.1.0 (2021-10-07) + +### Feat + +- add fetcher for training data + +MIT License + +Copyright (c) 2021 Timo Sutterer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +BSD 3-Clause License + +Copyright (c) 2007-2021 The scikit-learn developers. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +%prep +%autosetup -n nntm-1.6.2 + +%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-nntm -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.2-1 +- Package Spec generated |
