summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pystan.spec162
-rw-r--r--sources1
3 files changed, 164 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..d3a462c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pystan-3.6.0.tar.gz
diff --git a/python-pystan.spec b/python-pystan.spec
new file mode 100644
index 0000000..626f9ab
--- /dev/null
+++ b/python-pystan.spec
@@ -0,0 +1,162 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pystan
+Version: 3.6.0
+Release: 1
+Summary: Python interface to Stan, a package for Bayesian inference
+License: ISC
+URL: https://mc-stan.org
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b4/34/c82f306600df2812996689d1d3fc5acb5fa1fd627ad895ede29cd3ee9605/pystan-3.6.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-aiohttp
+Requires: python3-httpstan
+Requires: python3-pysimdjson
+Requires: python3-numpy
+Requires: python3-clikit
+Requires: python3-setuptools
+
+%description
+Install PyStan with ``pip install pystan``. PyStan runs on Linux and macOS. You will also need a C++ compiler such as gcc ≥9.0 or clang ≥10.0.
+The following block of code shows how to use PyStan with a model which studied coaching effects across eight schools (see Section 5.5 of Gelman et al (2003)). This hierarchical model is often called the "eight schools" model.
+ import stan
+ schools_code = """
+ data {
+ int<lower=0> J; // number of schools
+ real y[J]; // estimated treatment effects
+ real<lower=0> sigma[J]; // standard error of effect estimates
+ }
+ parameters {
+ real mu; // population treatment effect
+ real<lower=0> tau; // standard deviation in treatment effects
+ vector[J] eta; // unscaled deviation from mu by school
+ }
+ transformed parameters {
+ vector[J] theta = mu + tau * eta; // school treatment effects
+ }
+ model {
+ target += normal_lpdf(eta | 0, 1); // prior log-density
+ target += normal_lpdf(y | theta, sigma); // log-likelihood
+ }
+ """
+ schools_data = {"J": 8,
+ "y": [28, 8, -3, 7, -1, 1, 18, 12],
+ "sigma": [15, 10, 16, 11, 9, 11, 10, 18]}
+ posterior = stan.build(schools_code, data=schools_data)
+ fit = posterior.sample(num_chains=4, num_samples=1000)
+ eta = fit["eta"] # array with shape (8, 4000)
+ df = fit.to_frame() # pandas `DataFrame`
+
+%package -n python3-pystan
+Summary: Python interface to Stan, a package for Bayesian inference
+Provides: python-pystan
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pystan
+Install PyStan with ``pip install pystan``. PyStan runs on Linux and macOS. You will also need a C++ compiler such as gcc ≥9.0 or clang ≥10.0.
+The following block of code shows how to use PyStan with a model which studied coaching effects across eight schools (see Section 5.5 of Gelman et al (2003)). This hierarchical model is often called the "eight schools" model.
+ import stan
+ schools_code = """
+ data {
+ int<lower=0> J; // number of schools
+ real y[J]; // estimated treatment effects
+ real<lower=0> sigma[J]; // standard error of effect estimates
+ }
+ parameters {
+ real mu; // population treatment effect
+ real<lower=0> tau; // standard deviation in treatment effects
+ vector[J] eta; // unscaled deviation from mu by school
+ }
+ transformed parameters {
+ vector[J] theta = mu + tau * eta; // school treatment effects
+ }
+ model {
+ target += normal_lpdf(eta | 0, 1); // prior log-density
+ target += normal_lpdf(y | theta, sigma); // log-likelihood
+ }
+ """
+ schools_data = {"J": 8,
+ "y": [28, 8, -3, 7, -1, 1, 18, 12],
+ "sigma": [15, 10, 16, 11, 9, 11, 10, 18]}
+ posterior = stan.build(schools_code, data=schools_data)
+ fit = posterior.sample(num_chains=4, num_samples=1000)
+ eta = fit["eta"] # array with shape (8, 4000)
+ df = fit.to_frame() # pandas `DataFrame`
+
+%package help
+Summary: Development documents and examples for pystan
+Provides: python3-pystan-doc
+%description help
+Install PyStan with ``pip install pystan``. PyStan runs on Linux and macOS. You will also need a C++ compiler such as gcc ≥9.0 or clang ≥10.0.
+The following block of code shows how to use PyStan with a model which studied coaching effects across eight schools (see Section 5.5 of Gelman et al (2003)). This hierarchical model is often called the "eight schools" model.
+ import stan
+ schools_code = """
+ data {
+ int<lower=0> J; // number of schools
+ real y[J]; // estimated treatment effects
+ real<lower=0> sigma[J]; // standard error of effect estimates
+ }
+ parameters {
+ real mu; // population treatment effect
+ real<lower=0> tau; // standard deviation in treatment effects
+ vector[J] eta; // unscaled deviation from mu by school
+ }
+ transformed parameters {
+ vector[J] theta = mu + tau * eta; // school treatment effects
+ }
+ model {
+ target += normal_lpdf(eta | 0, 1); // prior log-density
+ target += normal_lpdf(y | theta, sigma); // log-likelihood
+ }
+ """
+ schools_data = {"J": 8,
+ "y": [28, 8, -3, 7, -1, 1, 18, 12],
+ "sigma": [15, 10, 16, 11, 9, 11, 10, 18]}
+ posterior = stan.build(schools_code, data=schools_data)
+ fit = posterior.sample(num_chains=4, num_samples=1000)
+ eta = fit["eta"] # array with shape (8, 4000)
+ df = fit.to_frame() # pandas `DataFrame`
+
+%prep
+%autosetup -n pystan-3.6.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-pystan -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 3.6.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..9f5f3c6
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+2c70c720f8ecec0e3f238ec56283b47d pystan-3.6.0.tar.gz