{"library":"pystan","title":"PyStan","description":"PyStan is a Python interface to Stan, a powerful platform for Bayesian inference and high-performance statistical computation. It allows users to define statistical models using Stan's probabilistic programming language and fit them using Hamiltonian Monte Carlo (HMC) methods. Currently at version 3.10.1, PyStan focuses on providing a reliable HMC sampler, with a development cadence that sees frequent updates to minor versions.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pystan"],"cli":null},"imports":["import stan"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import stan\nimport numpy as np\n\nschools_code = \"\"\"\ndata {\n  int<lower=0> J; // number of schools\n  array[J] real y; // estimated treatment effects\n  array[J] real<lower=0> sigma; // standard error of effect estimates\n}\nparameters {\n  real mu; // population treatment effect\n  real<lower=0> tau; // standard deviation in treatment effects\n  vector[J] eta; // unscaled deviation from mu by school\n}\ntransformed parameters {\n  vector[J] theta = mu + tau * eta; // school treatment effects\n}\nmodel {\n  target += normal_lpdf(eta | 0, 1); // prior log-density\n  target += normal_lpdf(y | theta, sigma); // log-likelihood\n}\n\"\"\"\n\nschools_data = {\n    \"J\": 8,\n    \"y\": [28, 8, -3, 7, -1, 1, 18, 12],\n    \"sigma\": [15, 10, 16, 11, 9, 11, 10, 18],\n}\n\n# Build the model (compiles Stan code to C++ and then to executable)\nposterior = stan.build(schools_code, data=schools_data, random_seed=1)\n\n# Sample from the posterior distribution\nfit = posterior.sample(num_chains=4, num_samples=1000)\n\n# Extract samples for a parameter\nmu_samples = fit[\"mu\"]\nprint(f\"Mean of mu samples: {np.mean(mu_samples)}\")\n\n# To get a pandas DataFrame (requires pandas installed):\n# import pandas as pd\n# df = fit.to_frame()\n# print(df.head())","lang":"python","description":"This quickstart demonstrates how to define a Stan model, provide data, build the model, sample from the posterior distribution using HMC, and extract results for analysis. It uses the classic 'Eight Schools' hierarchical model. The `stan.build()` step compiles the model, which can take some time. `posterior.sample()` then runs the MCMC chains.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"3.9.1","pypi_latest":"3.10.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":10.9,"avg_import_s":1.6,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pystan","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pystan","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":11.9,"import_time_s":1.27,"mem_mb":32.4,"disk_size":"358M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pystan","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pystan","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":10.1,"import_time_s":1.92,"mem_mb":35.2,"disk_size":"367M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pystan","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pystan","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":9.9,"import_time_s":1.66,"mem_mb":29.6,"disk_size":"370M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pystan","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pystan","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":9.7,"import_time_s":1.56,"mem_mb":30,"disk_size":"369M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pystan","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pystan","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":13.1,"import_time_s":1.61,"mem_mb":34,"disk_size":"367M"}]}}