diff options
Diffstat (limited to 'python-gpboost.spec')
-rw-r--r-- | python-gpboost.spec | 494 |
1 files changed, 494 insertions, 0 deletions
diff --git a/python-gpboost.spec b/python-gpboost.spec new file mode 100644 index 0000000..c1de5d8 --- /dev/null +++ b/python-gpboost.spec @@ -0,0 +1,494 @@ +%global _empty_manifest_terminate_build 0 +Name: python-gpboost +Version: 1.1.0 +Release: 1 +Summary: GPBoost Python Package +License: Apache License, Version 2.0, + see LICENSE file +URL: https://github.com/fabsig/GPBoost +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/03/fc/0533efd81975d0ae3ae0c9540394d851f9afdb1d6a8c31b6b2e9dbf9e83f/gpboost-1.1.0.tar.gz + +Requires: python3-wheel +Requires: python3-numpy +Requires: python3-pandas +Requires: python3-scipy +Requires: python3-scikit-learn +Requires: python3-dask[array] +Requires: python3-dask[dataframe] +Requires: python3-dask[distributed] +Requires: python3-pandas + +%description +<img src="https://github.com/fabsig/GPBoost/blob/master/docs/logo/gpboost_logo.png?raw=true" + alt="GPBoost icon" + align = "right" + width="30%" /> + +# GPBoost Python Package + +[](https://github.com/fabsig/GPBoost/blob/master/LICENSE) +[<img src="https://img.shields.io/pypi/pyversions/gpboost.svg?logo=python&logoColor=white">](https://pypi.org/project/gpboost) +[<img src="https://img.shields.io/pypi/v/gpboost.svg?logo=pypi&logoColor=white">](https://pypi.org/project/gpboost) +[<img src="https://pepy.tech/badge/gpboost">](https://pepy.tech/project/gpboost) + +This is the Python package implementation of the GPBoost library. See https://github.com/fabsig/GPBoost for more information on the modeling background and the software implementation. + +### Table of Contents +* [Examples and documentation](#examples-and-documentation) +* [Installation](#installation) + * [Installation from PyPI](#installation-from-pypi-using-precompiled-binaries) + * [Installation from source](#installation-from-source) + + +## Examples and documentation + +* [**Detailed Python examples**](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide): + * [GPBoost and LaGaBoost algorithms](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/GPBoost_algorithm.py) for Gaussian data ("regression") and non-Gaussian data ("classification", etc.) combining tree-boosting with Gaussian process and random effects models + * [Parameter tuning](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/parameter_tuning.py) using deterministic or random grid search + * [Generalized linear Gaussian process and mixed effects models](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/generalized_linear_Gaussian_process_mixed_effects_models.py) + * [GPBoost algorithm applied to panel data](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/panel_data_example.py) +* The **documentation at [https://gpboost.readthedocs.io](https://gpboost.readthedocs.io/en/latest/Python_package.html)** +* Blog posts on how to + * [Combine tree-boosting with grouped random effects models](https://towardsdatascience.com/tree-boosted-mixed-effects-models-4df610b624cb) + * [Combine tree-boosting with Gaussian processes for spatial data](https://towardsdatascience.com/tree-boosting-for-spatial-data-789145d6d97d) + * [GPBoost for generalized linear mixed effects models (GLMMs)](https://towardsdatascience.com/generalized-linear-mixed-effects-models-in-r-and-python-with-gpboost-89297622820c) +* [Demo](https://htmlpreview.github.io/?https://github.com/fabsig/GPBoost/blob/master/examples/GPBoost_demo.html) on how GPBoost can be used in R and Python + + +## Installation + +#### Before you install + +* [setuptools](https://pypi.org/project/setuptools) is needed. You can install this using ``pip install setuptools -U`` + +* 32-bit Python is not supported. Please install the 64-bit version. See [build 32-bit version with 32-bit Python section](#build-32-bit-version-with-32-bit-python). + +### Installation from [PyPI](https://pypi.org/project/gpboost) using precompiled binaries + +```sh +pip install gpboost -U +``` + +#### Requirements + +* For **Windows** users, [VC runtime](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) is needed if **Visual Studio** (2015 or newer) is not installed. + +* For **Linux** users, **glibc** >= 2.14 is required. + + * If you get an error message ``version `GLIBC_2.27' not found``, you need to [install from source](#installation-from-source). + + * In rare cases, when you get the ``OSError: libgomp.so.1: cannot open shared object file: No such file or directory`` error when importing GPBoost, you need to install the OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). + +* For **macOS** users: + + * The library file in distribution wheels is built by the **Apple Clang** compiler. You need to install the **OpenMP** library. You can install the **OpenMP** library by the following command: ``brew install libomp``. <!-- (Xcode version 12.3 is used starting from GPBoost version 0.3.0) --> + + * If you have an **arm64 Apple silicon** processor (e.g., M1 or M2) and experience problems, try the following steps: + + * [uninstall homebrew](https://stackoverflow.com/questions/72890277/i-cant-uninstall-brew-on-macos-apple-silicon) (in case you have migrated from an older non-arm64 Mac) + * [install homebrew](https://treehouse.github.io/installation-guides/mac/homebrew) (to make sure that you have an arm64 version of libomp) + * install OpenMP (``brew install libomp``) + * remove existing python environments and install Miniforge (``brew install miniforge`` and ``conda init "$(basename "${SHELL}")"``) + +### Installation from source + +Installation from source can be either done from PyPI or GitHub. + +#### Requirements for installation from source + +* Installation from source requires that you have installed [**CMake**](https://cmake.org/). + +* For **Linux** users, **glibc** >= 2.14 is required. + + * In rare cases, you may need to install the OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). + +* For **macOS** users, you can perform installation either with **Apple Clang** or **gcc**. + + * In case you prefer **Apple Clang**, you should install **OpenMP** (details for installation can be found in the [Installation Guide](https://github.com/fabsig/GPBoost/blob/master/docs/Installation_guide.rst#apple-clang)) first and **CMake** version 3.16 or higher is required. Only Apple Clang version 8.1 or higher is supported. + + * In case you prefer **gcc**, you need to install it (details for installation can be found in the [Installation Guide](https://github.com/fabsig/GPBoost/blob/master/docs/Installation_guide.rst#gcc)) and specify compilers by running ``export CXX=g++-7 CC=gcc-7`` (replace "7" with the version of **gcc** installed on your machine) first. + +* For **Windows** users, **Visual Studio** (or [VS Build Tools](https://visualstudio.microsoft.com/downloads/)) is needed. + + +#### Installation from source from PyPI + +```sh +pip install --no-binary :all: gpboost +``` + +##### Build with MinGW-w64 on Windows + +```sh +pip install gpboost --install-option=--mingw +``` + +* [CMake](https://cmake.org/) and [MinGW-w64](https://www.mingw-w64.org/) should be installed first. + + +##### Build 32-bit version with 32-bit Python + +```sh +pip install gpboost --install-option=--bit32 +``` + +By default, installation in an environment with 32-bit Python is prohibited. However, you can remove this prohibition on your own risk by passing the ``bit32`` option (not recommended). + + +#### Installation from source from GitHub + +```sh +git clone --recursive https://github.com/fabsig/GPBoost.git +cd GPBoost/python-package +# export CXX=g++-7 CC=gcc-7 # macOS users, if you decided to compile with gcc, don't forget to specify compilers (replace "7" with version of gcc installed on your machine) +python setup.py install +``` + +Note: ``sudo`` (or administrator rights in **Windows**) may be needed to perform the command. + +##### Build with MinGW-w64 on Windows + +```sh +python setup.py install --mingw +``` +* [CMake](https://cmake.org/) and [MinGW-w64](https://www.mingw-w64.org/) should be installed first. + +If you get any errors during installation or due to any other reasons, you may want to build a dynamic library from source by any method you prefer and then just run ``python setup.py install --precompile``. + + + + +%package -n python3-gpboost +Summary: GPBoost Python Package +Provides: python-gpboost +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-gpboost +<img src="https://github.com/fabsig/GPBoost/blob/master/docs/logo/gpboost_logo.png?raw=true" + alt="GPBoost icon" + align = "right" + width="30%" /> + +# GPBoost Python Package + +[](https://github.com/fabsig/GPBoost/blob/master/LICENSE) +[<img src="https://img.shields.io/pypi/pyversions/gpboost.svg?logo=python&logoColor=white">](https://pypi.org/project/gpboost) +[<img src="https://img.shields.io/pypi/v/gpboost.svg?logo=pypi&logoColor=white">](https://pypi.org/project/gpboost) +[<img src="https://pepy.tech/badge/gpboost">](https://pepy.tech/project/gpboost) + +This is the Python package implementation of the GPBoost library. See https://github.com/fabsig/GPBoost for more information on the modeling background and the software implementation. + +### Table of Contents +* [Examples and documentation](#examples-and-documentation) +* [Installation](#installation) + * [Installation from PyPI](#installation-from-pypi-using-precompiled-binaries) + * [Installation from source](#installation-from-source) + + +## Examples and documentation + +* [**Detailed Python examples**](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide): + * [GPBoost and LaGaBoost algorithms](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/GPBoost_algorithm.py) for Gaussian data ("regression") and non-Gaussian data ("classification", etc.) combining tree-boosting with Gaussian process and random effects models + * [Parameter tuning](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/parameter_tuning.py) using deterministic or random grid search + * [Generalized linear Gaussian process and mixed effects models](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/generalized_linear_Gaussian_process_mixed_effects_models.py) + * [GPBoost algorithm applied to panel data](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/panel_data_example.py) +* The **documentation at [https://gpboost.readthedocs.io](https://gpboost.readthedocs.io/en/latest/Python_package.html)** +* Blog posts on how to + * [Combine tree-boosting with grouped random effects models](https://towardsdatascience.com/tree-boosted-mixed-effects-models-4df610b624cb) + * [Combine tree-boosting with Gaussian processes for spatial data](https://towardsdatascience.com/tree-boosting-for-spatial-data-789145d6d97d) + * [GPBoost for generalized linear mixed effects models (GLMMs)](https://towardsdatascience.com/generalized-linear-mixed-effects-models-in-r-and-python-with-gpboost-89297622820c) +* [Demo](https://htmlpreview.github.io/?https://github.com/fabsig/GPBoost/blob/master/examples/GPBoost_demo.html) on how GPBoost can be used in R and Python + + +## Installation + +#### Before you install + +* [setuptools](https://pypi.org/project/setuptools) is needed. You can install this using ``pip install setuptools -U`` + +* 32-bit Python is not supported. Please install the 64-bit version. See [build 32-bit version with 32-bit Python section](#build-32-bit-version-with-32-bit-python). + +### Installation from [PyPI](https://pypi.org/project/gpboost) using precompiled binaries + +```sh +pip install gpboost -U +``` + +#### Requirements + +* For **Windows** users, [VC runtime](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) is needed if **Visual Studio** (2015 or newer) is not installed. + +* For **Linux** users, **glibc** >= 2.14 is required. + + * If you get an error message ``version `GLIBC_2.27' not found``, you need to [install from source](#installation-from-source). + + * In rare cases, when you get the ``OSError: libgomp.so.1: cannot open shared object file: No such file or directory`` error when importing GPBoost, you need to install the OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). + +* For **macOS** users: + + * The library file in distribution wheels is built by the **Apple Clang** compiler. You need to install the **OpenMP** library. You can install the **OpenMP** library by the following command: ``brew install libomp``. <!-- (Xcode version 12.3 is used starting from GPBoost version 0.3.0) --> + + * If you have an **arm64 Apple silicon** processor (e.g., M1 or M2) and experience problems, try the following steps: + + * [uninstall homebrew](https://stackoverflow.com/questions/72890277/i-cant-uninstall-brew-on-macos-apple-silicon) (in case you have migrated from an older non-arm64 Mac) + * [install homebrew](https://treehouse.github.io/installation-guides/mac/homebrew) (to make sure that you have an arm64 version of libomp) + * install OpenMP (``brew install libomp``) + * remove existing python environments and install Miniforge (``brew install miniforge`` and ``conda init "$(basename "${SHELL}")"``) + +### Installation from source + +Installation from source can be either done from PyPI or GitHub. + +#### Requirements for installation from source + +* Installation from source requires that you have installed [**CMake**](https://cmake.org/). + +* For **Linux** users, **glibc** >= 2.14 is required. + + * In rare cases, you may need to install the OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). + +* For **macOS** users, you can perform installation either with **Apple Clang** or **gcc**. + + * In case you prefer **Apple Clang**, you should install **OpenMP** (details for installation can be found in the [Installation Guide](https://github.com/fabsig/GPBoost/blob/master/docs/Installation_guide.rst#apple-clang)) first and **CMake** version 3.16 or higher is required. Only Apple Clang version 8.1 or higher is supported. + + * In case you prefer **gcc**, you need to install it (details for installation can be found in the [Installation Guide](https://github.com/fabsig/GPBoost/blob/master/docs/Installation_guide.rst#gcc)) and specify compilers by running ``export CXX=g++-7 CC=gcc-7`` (replace "7" with the version of **gcc** installed on your machine) first. + +* For **Windows** users, **Visual Studio** (or [VS Build Tools](https://visualstudio.microsoft.com/downloads/)) is needed. + + +#### Installation from source from PyPI + +```sh +pip install --no-binary :all: gpboost +``` + +##### Build with MinGW-w64 on Windows + +```sh +pip install gpboost --install-option=--mingw +``` + +* [CMake](https://cmake.org/) and [MinGW-w64](https://www.mingw-w64.org/) should be installed first. + + +##### Build 32-bit version with 32-bit Python + +```sh +pip install gpboost --install-option=--bit32 +``` + +By default, installation in an environment with 32-bit Python is prohibited. However, you can remove this prohibition on your own risk by passing the ``bit32`` option (not recommended). + + +#### Installation from source from GitHub + +```sh +git clone --recursive https://github.com/fabsig/GPBoost.git +cd GPBoost/python-package +# export CXX=g++-7 CC=gcc-7 # macOS users, if you decided to compile with gcc, don't forget to specify compilers (replace "7" with version of gcc installed on your machine) +python setup.py install +``` + +Note: ``sudo`` (or administrator rights in **Windows**) may be needed to perform the command. + +##### Build with MinGW-w64 on Windows + +```sh +python setup.py install --mingw +``` +* [CMake](https://cmake.org/) and [MinGW-w64](https://www.mingw-w64.org/) should be installed first. + +If you get any errors during installation or due to any other reasons, you may want to build a dynamic library from source by any method you prefer and then just run ``python setup.py install --precompile``. + + + + +%package help +Summary: Development documents and examples for gpboost +Provides: python3-gpboost-doc +%description help +<img src="https://github.com/fabsig/GPBoost/blob/master/docs/logo/gpboost_logo.png?raw=true" + alt="GPBoost icon" + align = "right" + width="30%" /> + +# GPBoost Python Package + +[](https://github.com/fabsig/GPBoost/blob/master/LICENSE) +[<img src="https://img.shields.io/pypi/pyversions/gpboost.svg?logo=python&logoColor=white">](https://pypi.org/project/gpboost) +[<img src="https://img.shields.io/pypi/v/gpboost.svg?logo=pypi&logoColor=white">](https://pypi.org/project/gpboost) +[<img src="https://pepy.tech/badge/gpboost">](https://pepy.tech/project/gpboost) + +This is the Python package implementation of the GPBoost library. See https://github.com/fabsig/GPBoost for more information on the modeling background and the software implementation. + +### Table of Contents +* [Examples and documentation](#examples-and-documentation) +* [Installation](#installation) + * [Installation from PyPI](#installation-from-pypi-using-precompiled-binaries) + * [Installation from source](#installation-from-source) + + +## Examples and documentation + +* [**Detailed Python examples**](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide): + * [GPBoost and LaGaBoost algorithms](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/GPBoost_algorithm.py) for Gaussian data ("regression") and non-Gaussian data ("classification", etc.) combining tree-boosting with Gaussian process and random effects models + * [Parameter tuning](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/parameter_tuning.py) using deterministic or random grid search + * [Generalized linear Gaussian process and mixed effects models](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/generalized_linear_Gaussian_process_mixed_effects_models.py) + * [GPBoost algorithm applied to panel data](https://github.com/fabsig/GPBoost/tree/master/examples/python-guide/panel_data_example.py) +* The **documentation at [https://gpboost.readthedocs.io](https://gpboost.readthedocs.io/en/latest/Python_package.html)** +* Blog posts on how to + * [Combine tree-boosting with grouped random effects models](https://towardsdatascience.com/tree-boosted-mixed-effects-models-4df610b624cb) + * [Combine tree-boosting with Gaussian processes for spatial data](https://towardsdatascience.com/tree-boosting-for-spatial-data-789145d6d97d) + * [GPBoost for generalized linear mixed effects models (GLMMs)](https://towardsdatascience.com/generalized-linear-mixed-effects-models-in-r-and-python-with-gpboost-89297622820c) +* [Demo](https://htmlpreview.github.io/?https://github.com/fabsig/GPBoost/blob/master/examples/GPBoost_demo.html) on how GPBoost can be used in R and Python + + +## Installation + +#### Before you install + +* [setuptools](https://pypi.org/project/setuptools) is needed. You can install this using ``pip install setuptools -U`` + +* 32-bit Python is not supported. Please install the 64-bit version. See [build 32-bit version with 32-bit Python section](#build-32-bit-version-with-32-bit-python). + +### Installation from [PyPI](https://pypi.org/project/gpboost) using precompiled binaries + +```sh +pip install gpboost -U +``` + +#### Requirements + +* For **Windows** users, [VC runtime](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) is needed if **Visual Studio** (2015 or newer) is not installed. + +* For **Linux** users, **glibc** >= 2.14 is required. + + * If you get an error message ``version `GLIBC_2.27' not found``, you need to [install from source](#installation-from-source). + + * In rare cases, when you get the ``OSError: libgomp.so.1: cannot open shared object file: No such file or directory`` error when importing GPBoost, you need to install the OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). + +* For **macOS** users: + + * The library file in distribution wheels is built by the **Apple Clang** compiler. You need to install the **OpenMP** library. You can install the **OpenMP** library by the following command: ``brew install libomp``. <!-- (Xcode version 12.3 is used starting from GPBoost version 0.3.0) --> + + * If you have an **arm64 Apple silicon** processor (e.g., M1 or M2) and experience problems, try the following steps: + + * [uninstall homebrew](https://stackoverflow.com/questions/72890277/i-cant-uninstall-brew-on-macos-apple-silicon) (in case you have migrated from an older non-arm64 Mac) + * [install homebrew](https://treehouse.github.io/installation-guides/mac/homebrew) (to make sure that you have an arm64 version of libomp) + * install OpenMP (``brew install libomp``) + * remove existing python environments and install Miniforge (``brew install miniforge`` and ``conda init "$(basename "${SHELL}")"``) + +### Installation from source + +Installation from source can be either done from PyPI or GitHub. + +#### Requirements for installation from source + +* Installation from source requires that you have installed [**CMake**](https://cmake.org/). + +* For **Linux** users, **glibc** >= 2.14 is required. + + * In rare cases, you may need to install the OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). + +* For **macOS** users, you can perform installation either with **Apple Clang** or **gcc**. + + * In case you prefer **Apple Clang**, you should install **OpenMP** (details for installation can be found in the [Installation Guide](https://github.com/fabsig/GPBoost/blob/master/docs/Installation_guide.rst#apple-clang)) first and **CMake** version 3.16 or higher is required. Only Apple Clang version 8.1 or higher is supported. + + * In case you prefer **gcc**, you need to install it (details for installation can be found in the [Installation Guide](https://github.com/fabsig/GPBoost/blob/master/docs/Installation_guide.rst#gcc)) and specify compilers by running ``export CXX=g++-7 CC=gcc-7`` (replace "7" with the version of **gcc** installed on your machine) first. + +* For **Windows** users, **Visual Studio** (or [VS Build Tools](https://visualstudio.microsoft.com/downloads/)) is needed. + + +#### Installation from source from PyPI + +```sh +pip install --no-binary :all: gpboost +``` + +##### Build with MinGW-w64 on Windows + +```sh +pip install gpboost --install-option=--mingw +``` + +* [CMake](https://cmake.org/) and [MinGW-w64](https://www.mingw-w64.org/) should be installed first. + + +##### Build 32-bit version with 32-bit Python + +```sh +pip install gpboost --install-option=--bit32 +``` + +By default, installation in an environment with 32-bit Python is prohibited. However, you can remove this prohibition on your own risk by passing the ``bit32`` option (not recommended). + + +#### Installation from source from GitHub + +```sh +git clone --recursive https://github.com/fabsig/GPBoost.git +cd GPBoost/python-package +# export CXX=g++-7 CC=gcc-7 # macOS users, if you decided to compile with gcc, don't forget to specify compilers (replace "7" with version of gcc installed on your machine) +python setup.py install +``` + +Note: ``sudo`` (or administrator rights in **Windows**) may be needed to perform the command. + +##### Build with MinGW-w64 on Windows + +```sh +python setup.py install --mingw +``` +* [CMake](https://cmake.org/) and [MinGW-w64](https://www.mingw-w64.org/) should be installed first. + +If you get any errors during installation or due to any other reasons, you may want to build a dynamic library from source by any method you prefer and then just run ``python setup.py install --precompile``. + + + + +%prep +%autosetup -n gpboost-1.1.0 + +%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-gpboost -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.0-1 +- Package Spec generated |