%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
# GPBoost Python Package
[![License](https://img.shields.io/badge/Licence-Apache%202.0-green.svg)](https://github.com/fabsig/GPBoost/blob/master/LICENSE)
[](https://pypi.org/project/gpboost)
[](https://pypi.org/project/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``.
* 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
# GPBoost Python Package
[![License](https://img.shields.io/badge/Licence-Apache%202.0-green.svg)](https://github.com/fabsig/GPBoost/blob/master/LICENSE)
[](https://pypi.org/project/gpboost)
[](https://pypi.org/project/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``.
* 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
# GPBoost Python Package
[![License](https://img.shields.io/badge/Licence-Apache%202.0-green.svg)](https://github.com/fabsig/GPBoost/blob/master/LICENSE)
[](https://pypi.org/project/gpboost)
[](https://pypi.org/project/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``.
* 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
* Tue May 30 2023 Python_Bot - 1.1.0-1
- Package Spec generated