# nutpie: A fast sampler for Bayesian posteriors
The `nutpie` package provides a fast NUTS sampler for PyMC and Stan models.
See the [documentation](https://pymc-devs.github.io/nutpie/) for more details.
## Installation
nutpie can be installed using Conda or Mamba from conda-forge with
```bash
mamba install -c conda-forge nutpie
```
Or using pip:
```bash
pip install nutpie
```
To install it from source, install a Rust compiler and maturin and then
```bash
maturin develop --release
```
If you want to use the nightly SIMD implementation for some of the math functions,
switch to Rust nightly and then install with the `simd_support` feature in then
nutpie directory:
```bash
rustup override set nightly
maturin develop --release --features=simd_support
```
## Usage with PyMC
First, PyMC and Numba need to be installed, for example using
```bash
mamba install -c conda-forge pymc numba
```
We need to create a model:
```python
import pymc as pm
import numpy as np
import nutpie
import pandas as pd
import seaborn as sns
# Load the radon dataset
data = pd.read_csv(pm.get_data("radon.csv"))
data["log_radon"] = data["log_radon"].astype(np.float64)
county_idx, counties = pd.factorize(data.county)
coords = {"county": counties, "obs_id": np.arange(len(county_idx))}
# Create a simple hierarchical model for the radon dataset
with pm.Model(coords=coords, check_bounds=False) as pymc_model:
intercept = pm.Normal("intercept", sigma=10)
# County effects
raw = pm.ZeroSumNormal("county_raw", dims="county")
sd = pm.HalfNormal("county_sd")
county_effect = pm.Deterministic("county_effect", raw * sd, dims="county")
# Global floor effect
floor_effect = pm.Normal("floor_effect", sigma=2)
# County:floor interaction
raw = pm.ZeroSumNormal("county_floor_raw", dims="county")
sd = pm.HalfNormal("county_floor_sd")
county_floor_effect = pm.Deterministic(
"county_floor_effect", raw * sd, dims="county"
)
mu = (
intercept
+ county_effect[county_idx]
+ floor_effect * data.floor.values
+ county_floor_effect[county_idx] * data.floor.values
)
sigma = pm.HalfNormal("sigma", sigma=1.5)
pm.Normal(
"log_radon", mu=mu, sigma=sigma, observed=data.log_radon.values, dims="obs_id"
)
```
We then compile this model and sample form the posterior:
```python
compiled_model = nutpie.compile_pymc_model(pymc_model)
trace_pymc = nutpie.sample(compiled_model)
```
`trace_pymc` now contains an ArviZ `InferenceData` object, including sampling
statistics and the posterior of the variables defined above.
We can also control the sampler in a non-blocking way:
```python
# The sampler will now run the the background
sampler = nutpie.sample(compiled_model, blocking=False)
# Pause and resume the sampling
sampler.pause()
sampler.resume()
# Wait for the sampler to finish (up to timeout seconds)
sampler.wait(timeout=0.1)
# Note that not passing any timeout to `wait` will
# wait until the sampler finishes, then return the InferenceData object:
idata = sampler.wait()
# or we can also abort the sampler (and return the incomplete trace)
incomplete_trace = sampler.abort()
# or cancel and discard all progress:
sampler.cancel()
```
## Usage with Stan
In order to sample from Stan model, `bridgestan` needs to be installed.
A pip package is available, but right now this can not be installed using Conda.
```bash
pip install bridgestan
```
When we install nutpie with pip, we can also specify that we want optional
dependencies for Stan models using
```
pip install 'nutpie[stan]'
```
In addition, a C++ compiler needs to be available. For details see
[the Stan docs](https://mc-stan.org/docs/cmdstan-guide/installation.html#cpp-toolchain).
We can then compile a Stan model, and sample using nutpie:
```python
import nutpie
code = """
data {
real mu;
}
parameters {
real x;
}
model {
x ~ normal(mu, 1);
}
"""
compiled = nutpie.compile_stan_model(code=code)
# Provide data
compiled = compiled.with_data(mu=3.)
trace = nutpie.sample(compiled)
```
## Advantages
nutpie uses [`nuts-rs`](https://github.com/pymc-devs/nuts-rs), a library written in Rust, that implements NUTS as in
PyMC and Stan, but with a slightly different mass matrix tuning method as
those. It often produces a higher effective sample size per gradient
evaluation, and tends to converge faster and with fewer gradient evaluation.
Raw data
{
"_id": null,
"home_page": null,
"name": "nutpie",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "statistics, bayes",
"author": "Adrian Seyboldt <adrian.seyboldt@gmail.com>, PyMC Developers <pymc.devs@gmail.com>",
"author_email": "PyMC Developers <pymc.devs@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/3f/7a/da9a37ea85ed42b2eae525642938f138b08a624f3c0da0c5e3452d825332/nutpie-0.15.2.tar.gz",
"platform": null,
"description": "# nutpie: A fast sampler for Bayesian posteriors\n\nThe `nutpie` package provides a fast NUTS sampler for PyMC and Stan models.\n\nSee the [documentation](https://pymc-devs.github.io/nutpie/) for more details.\n\n## Installation\n\nnutpie can be installed using Conda or Mamba from conda-forge with\n\n```bash\nmamba install -c conda-forge nutpie\n```\n\nOr using pip:\n\n```bash\npip install nutpie\n```\n\nTo install it from source, install a Rust compiler and maturin and then\n\n```bash\nmaturin develop --release\n```\n\nIf you want to use the nightly SIMD implementation for some of the math functions,\nswitch to Rust nightly and then install with the `simd_support` feature in then\nnutpie directory:\n\n```bash\nrustup override set nightly\nmaturin develop --release --features=simd_support\n```\n\n## Usage with PyMC\n\nFirst, PyMC and Numba need to be installed, for example using\n\n```bash\nmamba install -c conda-forge pymc numba\n```\n\nWe need to create a model:\n\n```python\nimport pymc as pm\nimport numpy as np\nimport nutpie\nimport pandas as pd\nimport seaborn as sns\n\n# Load the radon dataset\ndata = pd.read_csv(pm.get_data(\"radon.csv\"))\ndata[\"log_radon\"] = data[\"log_radon\"].astype(np.float64)\ncounty_idx, counties = pd.factorize(data.county)\ncoords = {\"county\": counties, \"obs_id\": np.arange(len(county_idx))}\n\n# Create a simple hierarchical model for the radon dataset\nwith pm.Model(coords=coords, check_bounds=False) as pymc_model:\n intercept = pm.Normal(\"intercept\", sigma=10)\n\n # County effects\n raw = pm.ZeroSumNormal(\"county_raw\", dims=\"county\")\n sd = pm.HalfNormal(\"county_sd\")\n county_effect = pm.Deterministic(\"county_effect\", raw * sd, dims=\"county\")\n\n # Global floor effect\n floor_effect = pm.Normal(\"floor_effect\", sigma=2)\n\n # County:floor interaction\n raw = pm.ZeroSumNormal(\"county_floor_raw\", dims=\"county\")\n sd = pm.HalfNormal(\"county_floor_sd\")\n county_floor_effect = pm.Deterministic(\n \"county_floor_effect\", raw * sd, dims=\"county\"\n )\n\n mu = (\n intercept\n + county_effect[county_idx]\n + floor_effect * data.floor.values\n + county_floor_effect[county_idx] * data.floor.values\n )\n\n sigma = pm.HalfNormal(\"sigma\", sigma=1.5)\n pm.Normal(\n \"log_radon\", mu=mu, sigma=sigma, observed=data.log_radon.values, dims=\"obs_id\"\n )\n```\n\nWe then compile this model and sample form the posterior:\n\n```python\ncompiled_model = nutpie.compile_pymc_model(pymc_model)\ntrace_pymc = nutpie.sample(compiled_model)\n```\n\n`trace_pymc` now contains an ArviZ `InferenceData` object, including sampling\nstatistics and the posterior of the variables defined above.\n\nWe can also control the sampler in a non-blocking way:\n\n```python\n# The sampler will now run the the background\nsampler = nutpie.sample(compiled_model, blocking=False)\n\n# Pause and resume the sampling\nsampler.pause()\nsampler.resume()\n\n# Wait for the sampler to finish (up to timeout seconds)\nsampler.wait(timeout=0.1)\n# Note that not passing any timeout to `wait` will\n# wait until the sampler finishes, then return the InferenceData object:\nidata = sampler.wait()\n\n# or we can also abort the sampler (and return the incomplete trace)\nincomplete_trace = sampler.abort()\n\n# or cancel and discard all progress:\nsampler.cancel()\n```\n\n## Usage with Stan\n\nIn order to sample from Stan model, `bridgestan` needs to be installed.\nA pip package is available, but right now this can not be installed using Conda.\n\n```bash\npip install bridgestan\n```\n\nWhen we install nutpie with pip, we can also specify that we want optional\ndependencies for Stan models using\n\n```\npip install 'nutpie[stan]'\n```\n\nIn addition, a C++ compiler needs to be available. For details see\n[the Stan docs](https://mc-stan.org/docs/cmdstan-guide/installation.html#cpp-toolchain).\n\nWe can then compile a Stan model, and sample using nutpie:\n\n```python\nimport nutpie\n\ncode = \"\"\"\ndata {\n real mu;\n}\nparameters {\n real x;\n}\nmodel {\n x ~ normal(mu, 1);\n}\n\"\"\"\n\ncompiled = nutpie.compile_stan_model(code=code)\n# Provide data\ncompiled = compiled.with_data(mu=3.)\ntrace = nutpie.sample(compiled)\n```\n\n## Advantages\n\nnutpie uses [`nuts-rs`](https://github.com/pymc-devs/nuts-rs), a library written in Rust, that implements NUTS as in\nPyMC and Stan, but with a slightly different mass matrix tuning method as\nthose. It often produces a higher effective sample size per gradient\nevaluation, and tends to converge faster and with fewer gradient evaluation.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Sample Stan or PyMC models",
"version": "0.15.2",
"project_urls": {
"Homepage": "https://pymc-devs.github.io/nutpie/",
"Repository": "https://github.com/pymc-devs/nutpie"
},
"split_keywords": [
"statistics",
" bayes"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "36792871bc79988ceefb8ef136f88fbef9281c1e4967dfc7deea9af166dfcb41",
"md5": "5ad4fc80e2e2b2a8d886178e98c99d30",
"sha256": "02ee02f1ad3856974a05032936a5676d679cc4be4e02f82d57182860f50da5e1"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp310-cp310-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "5ad4fc80e2e2b2a8d886178e98c99d30",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1528620,
"upload_time": "2025-07-16T18:56:58",
"upload_time_iso_8601": "2025-07-16T18:56:58.606508Z",
"url": "https://files.pythonhosted.org/packages/36/79/2871bc79988ceefb8ef136f88fbef9281c1e4967dfc7deea9af166dfcb41/nutpie-0.15.2-cp310-cp310-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d9076a181e8843346f1be23c43b772b0a0bd55033f9d92601e3d714f76a66af8",
"md5": "fc60723ef37826741d77e7f0cdf7433d",
"sha256": "30f5156f284fad88453d47bc6e624e5b8ec089f09467649a2f284eaecbe232e8"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "fc60723ef37826741d77e7f0cdf7433d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1437691,
"upload_time": "2025-07-16T18:56:53",
"upload_time_iso_8601": "2025-07-16T18:56:53.121484Z",
"url": "https://files.pythonhosted.org/packages/d9/07/6a181e8843346f1be23c43b772b0a0bd55033f9d92601e3d714f76a66af8/nutpie-0.15.2-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8debc52e3161d6c9e594fa63af5ca1f2423c6659028ae612f613c38acf580c30",
"md5": "b0a886f14848cbdb6fb363d07ce209be",
"sha256": "70531454cfc014d99054a6fbf1b558e35ad3a76bb6d58489faaa88ad5281663e"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "b0a886f14848cbdb6fb363d07ce209be",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1359995,
"upload_time": "2025-07-16T18:56:36",
"upload_time_iso_8601": "2025-07-16T18:56:36.279602Z",
"url": "https://files.pythonhosted.org/packages/8d/eb/c52e3161d6c9e594fa63af5ca1f2423c6659028ae612f613c38acf580c30/nutpie-0.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "928c287fce54ebb1ba6f7cf021346feb3a09f7ebadc5a18839659579075f3439",
"md5": "9d27a925a29c094a21282db7840a6ac9",
"sha256": "bd4376a4188a95e2cf93a8fec9c4df08c7d81a6da2ef7cc0230653060e806514"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9d27a925a29c094a21282db7840a6ac9",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1456070,
"upload_time": "2025-07-16T18:56:47",
"upload_time_iso_8601": "2025-07-16T18:56:47.798346Z",
"url": "https://files.pythonhosted.org/packages/92/8c/287fce54ebb1ba6f7cf021346feb3a09f7ebadc5a18839659579075f3439/nutpie-0.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ac5d4e6a042476be856904a67b09afd04664a9518b42ccf4f6f064136b5a5a82",
"md5": "564727f3e7e8d5ffdeb2eed73d331805",
"sha256": "03527200891c92808c0fe49c7a08f6e25e6a603b88f574de85384aef6e08da12"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "564727f3e7e8d5ffdeb2eed73d331805",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1538084,
"upload_time": "2025-07-16T18:57:05",
"upload_time_iso_8601": "2025-07-16T18:57:05.717361Z",
"url": "https://files.pythonhosted.org/packages/ac/5d/4e6a042476be856904a67b09afd04664a9518b42ccf4f6f064136b5a5a82/nutpie-0.15.2-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1e52454aa9fd4f39e312277fbe9eac8eff85b2c25294af19ab623965b9df6086",
"md5": "f7119fbcd425e592b135b2c124bfec16",
"sha256": "24288e5328a38b04703c7198d2be3b90f02593d391a13523fbce30c8d6aabcbb"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "f7119fbcd425e592b135b2c124bfec16",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1528579,
"upload_time": "2025-07-16T18:57:00",
"upload_time_iso_8601": "2025-07-16T18:57:00.165799Z",
"url": "https://files.pythonhosted.org/packages/1e/52/454aa9fd4f39e312277fbe9eac8eff85b2c25294af19ab623965b9df6086/nutpie-0.15.2-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6c319081a0b04b30c4a2b8da7d5095b87368b99b64c83173b9270fd1fe5e7b49",
"md5": "e6a97c0a6d0e666ab6b72e7593be359f",
"sha256": "e5d34df9e66e5f4b48b32a7f51db8518b7653e41a51de5f75330ca3e5aa621de"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e6a97c0a6d0e666ab6b72e7593be359f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1437956,
"upload_time": "2025-07-16T18:56:54",
"upload_time_iso_8601": "2025-07-16T18:56:54.396158Z",
"url": "https://files.pythonhosted.org/packages/6c/31/9081a0b04b30c4a2b8da7d5095b87368b99b64c83173b9270fd1fe5e7b49/nutpie-0.15.2-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d6b44de4220ee576d5be5e98e08b1f39e3c450e8ec83db05effddf791ba12081",
"md5": "d201021e54d66ce09efbc1b69e41007d",
"sha256": "759300f7097e24ec760c8b41a144d0f3e9569c3ea225188d95f4c737b7276339"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d201021e54d66ce09efbc1b69e41007d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1359908,
"upload_time": "2025-07-16T18:56:38",
"upload_time_iso_8601": "2025-07-16T18:56:38.827512Z",
"url": "https://files.pythonhosted.org/packages/d6/b4/4de4220ee576d5be5e98e08b1f39e3c450e8ec83db05effddf791ba12081/nutpie-0.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "690778bc2352bae5f0890a905ae217f92a9831b08ef5f54c0c8bbf4f5b51fc03",
"md5": "035f692afda450747a5fbe743d10791c",
"sha256": "07fc46cf10a34612d098a08ab42f623ab2ba3618166403a325284ade3206eb83"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "035f692afda450747a5fbe743d10791c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1456136,
"upload_time": "2025-07-16T18:56:48",
"upload_time_iso_8601": "2025-07-16T18:56:48.964119Z",
"url": "https://files.pythonhosted.org/packages/69/07/78bc2352bae5f0890a905ae217f92a9831b08ef5f54c0c8bbf4f5b51fc03/nutpie-0.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c3a2a4d90db2dcf474a0fcdc8a1fcd4e447541f7fa45d5f994d43bd1d747a880",
"md5": "8d44df7e99d1efb1edcb835feed397eb",
"sha256": "c294bd141128c17087b224822f4259e4292a8b4874c87e2086dd68b8bf8cb7c0"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "8d44df7e99d1efb1edcb835feed397eb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1538185,
"upload_time": "2025-07-16T18:57:06",
"upload_time_iso_8601": "2025-07-16T18:57:06.853514Z",
"url": "https://files.pythonhosted.org/packages/c3/a2/a4d90db2dcf474a0fcdc8a1fcd4e447541f7fa45d5f994d43bd1d747a880/nutpie-0.15.2-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ef699b207c6dd00f653bbbf53f21579d2d9455890b81d7facb15797134c0ba3a",
"md5": "c799e67ed008bdc70cefdb39ae47ebbb",
"sha256": "1b5d6f90c4b4690bdcd05fcbe25c5dbc27f15e276ff575fd464636baad8a4caa"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp312-cp312-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "c799e67ed008bdc70cefdb39ae47ebbb",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1525579,
"upload_time": "2025-07-16T18:57:02",
"upload_time_iso_8601": "2025-07-16T18:57:02.079238Z",
"url": "https://files.pythonhosted.org/packages/ef/69/9b207c6dd00f653bbbf53f21579d2d9455890b81d7facb15797134c0ba3a/nutpie-0.15.2-cp312-cp312-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ad2baf762aee33a7896aaa1d7f33d14d095ea8fcc367e611efcb67642f7c6ea2",
"md5": "5c07e5c7f3c7c2e6b945163311515f77",
"sha256": "9cf6207f5b60878481bea758607cda9a6393d7b21742942b24aecd5657edb787"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "5c07e5c7f3c7c2e6b945163311515f77",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1430269,
"upload_time": "2025-07-16T18:56:56",
"upload_time_iso_8601": "2025-07-16T18:56:56.206195Z",
"url": "https://files.pythonhosted.org/packages/ad/2b/af762aee33a7896aaa1d7f33d14d095ea8fcc367e611efcb67642f7c6ea2/nutpie-0.15.2-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "95b36ca27325076f084cd45aad9934694631917924d7de61f984e40155d25a68",
"md5": "10217471aef24f5663edb1ec6cbeced6",
"sha256": "c2cce218ebf7448a6824003577ffa39b59173197046a07ebb0df761dfdeaa87f"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "10217471aef24f5663edb1ec6cbeced6",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1357521,
"upload_time": "2025-07-16T18:56:42",
"upload_time_iso_8601": "2025-07-16T18:56:42.635139Z",
"url": "https://files.pythonhosted.org/packages/95/b3/6ca27325076f084cd45aad9934694631917924d7de61f984e40155d25a68/nutpie-0.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a1efd10cdbf6655043b50b58f29bd39a6d2a7fc0b55c797005179d11697bd075",
"md5": "cc24295bd1ba79053cae7a2fff41a4e0",
"sha256": "b3bfe2a4cc223b1d9a74989d36045c384a829aa0586a793daeb54513d39933d4"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "cc24295bd1ba79053cae7a2fff41a4e0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1454246,
"upload_time": "2025-07-16T18:56:50",
"upload_time_iso_8601": "2025-07-16T18:56:50.240639Z",
"url": "https://files.pythonhosted.org/packages/a1/ef/d10cdbf6655043b50b58f29bd39a6d2a7fc0b55c797005179d11697bd075/nutpie-0.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f6448a82a5d58a0a14c8140987d3dcf6bc626c226444fa8adf9510d3b0894a5",
"md5": "0b8657d1d752c65e4c006517e955f3d7",
"sha256": "9d6f8b6d54d855d407e2f1da3fdbc9fe4d7fbdef32374bfffa55730d374fd2a6"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "0b8657d1d752c65e4c006517e955f3d7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1536797,
"upload_time": "2025-07-16T18:57:08",
"upload_time_iso_8601": "2025-07-16T18:57:08.104632Z",
"url": "https://files.pythonhosted.org/packages/6f/64/48a82a5d58a0a14c8140987d3dcf6bc626c226444fa8adf9510d3b0894a5/nutpie-0.15.2-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5200fe2ca650fe87a06284034f99166ba01e1f89dcb3d0e7d9425c675038ca15",
"md5": "b2b03fcf69a9f223ede5d1be12270310",
"sha256": "ff4b2292786d986dbd27b853efe11a1475d9340c156326f9a4a81921dd1df842"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp313-cp313-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "b2b03fcf69a9f223ede5d1be12270310",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1525240,
"upload_time": "2025-07-16T18:57:03",
"upload_time_iso_8601": "2025-07-16T18:57:03.410236Z",
"url": "https://files.pythonhosted.org/packages/52/00/fe2ca650fe87a06284034f99166ba01e1f89dcb3d0e7d9425c675038ca15/nutpie-0.15.2-cp313-cp313-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d351d72e2e088540f8035f25534a762be62ebddf259f0d98763cee5d5eec870b",
"md5": "baa088628f46cc61e8e198ad16733a4e",
"sha256": "b381c567178f50d1f45e09278cdc46f960ce66807d669ac2c46a966c8969e14a"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "baa088628f46cc61e8e198ad16733a4e",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1430129,
"upload_time": "2025-07-16T18:56:57",
"upload_time_iso_8601": "2025-07-16T18:56:57.394381Z",
"url": "https://files.pythonhosted.org/packages/d3/51/d72e2e088540f8035f25534a762be62ebddf259f0d98763cee5d5eec870b/nutpie-0.15.2-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "80ac931f5110b421583c32f73d08340ca411d0fc03169948bae32750272f1a7c",
"md5": "da758733852df6761c81254107b10c62",
"sha256": "4cd3eeb3a77b9b13bff10d574da7d1e03327ca30e30432c0926f342f3f54a1a4"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "da758733852df6761c81254107b10c62",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1357425,
"upload_time": "2025-07-16T18:56:44",
"upload_time_iso_8601": "2025-07-16T18:56:44.956429Z",
"url": "https://files.pythonhosted.org/packages/80/ac/931f5110b421583c32f73d08340ca411d0fc03169948bae32750272f1a7c/nutpie-0.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f358a6b4501d654536f9c7501ff726be8549fa97c83f6b1d7403f5691129eef5",
"md5": "2acde8e25e46394ce97b4a0f9dfccd50",
"sha256": "a7f3ce0f7e8e2434ac98b2b80e69cebda43877610160898e111c6353739d1095"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2acde8e25e46394ce97b4a0f9dfccd50",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1453824,
"upload_time": "2025-07-16T18:56:51",
"upload_time_iso_8601": "2025-07-16T18:56:51.486929Z",
"url": "https://files.pythonhosted.org/packages/f3/58/a6b4501d654536f9c7501ff726be8549fa97c83f6b1d7403f5691129eef5/nutpie-0.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "344472c4847094960479b119061b28d6f39322f2ab85fb8b51773ba8c344069b",
"md5": "5b5baf4651b460cf99e1939086fb8176",
"sha256": "7a0993db5b6881f15abd877472e8409dc98ca454f9e5d1fab47b38f0be703a3c"
},
"downloads": -1,
"filename": "nutpie-0.15.2-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "5b5baf4651b460cf99e1939086fb8176",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.10",
"size": 1536293,
"upload_time": "2025-07-16T18:57:09",
"upload_time_iso_8601": "2025-07-16T18:57:09.287913Z",
"url": "https://files.pythonhosted.org/packages/34/44/72c4847094960479b119061b28d6f39322f2ab85fb8b51773ba8c344069b/nutpie-0.15.2-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3f7ada9a37ea85ed42b2eae525642938f138b08a624f3c0da0c5e3452d825332",
"md5": "069770ef13dcabd60b11ac104d0fa5c2",
"sha256": "87b15617dbf5d38808c12f262742916035625a604ebcc6dc97545087d40b2e0b"
},
"downloads": -1,
"filename": "nutpie-0.15.2.tar.gz",
"has_sig": false,
"md5_digest": "069770ef13dcabd60b11ac104d0fa5c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 683005,
"upload_time": "2025-07-16T18:57:04",
"upload_time_iso_8601": "2025-07-16T18:57:04.656504Z",
"url": "https://files.pythonhosted.org/packages/3f/7a/da9a37ea85ed42b2eae525642938f138b08a624f3c0da0c5e3452d825332/nutpie-0.15.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-16 18:57:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pymc-devs",
"github_project": "nutpie",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nutpie"
}