# nutpie: A fast sampler for Bayesian posteriors
## 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)
# 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/cmdstan-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/ff/72/830b4d56961f2759641277476c93715d2b01435a376f68fbed659b2c86d0/nutpie-0.13.2.tar.gz",
"platform": null,
"description": "# nutpie: A fast sampler for Bayesian posteriors\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)\n# sampler.wait(timeout=0.1)\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/cmdstan-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.13.2",
"project_urls": {
"Source Code": "https://github.com/pymc-devs/nutpie"
},
"split_keywords": [
"statistics",
" bayes"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3026629bb17d78728cba3a8089ac15688d17dfa1d65e94ed3d9bc0ccae6f4786",
"md5": "ea136c341409b5c0b03f144b6c851dec",
"sha256": "4c731b6b32f51407ca973aefdcb0241c6dadfebcf47e781557344d28d346c0fa"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp310-cp310-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "ea136c341409b5c0b03f144b6c851dec",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1410667,
"upload_time": "2024-07-26T18:10:11",
"upload_time_iso_8601": "2024-07-26T18:10:11.801291Z",
"url": "https://files.pythonhosted.org/packages/30/26/629bb17d78728cba3a8089ac15688d17dfa1d65e94ed3d9bc0ccae6f4786/nutpie-0.13.2-cp310-cp310-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f3b3c5d2bc91948920ba39841ab75f8359df5ca5fe8589a6ad0c61e61c5c530e",
"md5": "9ee33e4b1ea7e543c553c2286881a4bf",
"sha256": "b69e62c4d25e62e670ef31244e65556ed562650dfbc56a068972e177c5e5e291"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9ee33e4b1ea7e543c553c2286881a4bf",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1356899,
"upload_time": "2024-07-26T18:10:18",
"upload_time_iso_8601": "2024-07-26T18:10:18.817738Z",
"url": "https://files.pythonhosted.org/packages/f3/b3/c5d2bc91948920ba39841ab75f8359df5ca5fe8589a6ad0c61e61c5c530e/nutpie-0.13.2-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "79064358bbe171c31b0c2585202c234386f094cdc80cab9514153ee286bb8460",
"md5": "be6e57b3b78f34fdae36d4ed186e00a0",
"sha256": "a7cfe73f29769f7185e677587755ba63818e9334d161a69216c8d6cefd9d66b7"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp310-cp310-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "be6e57b3b78f34fdae36d4ed186e00a0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1553346,
"upload_time": "2024-07-26T18:10:28",
"upload_time_iso_8601": "2024-07-26T18:10:28.534963Z",
"url": "https://files.pythonhosted.org/packages/79/06/4358bbe171c31b0c2585202c234386f094cdc80cab9514153ee286bb8460/nutpie-0.13.2-cp310-cp310-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c66eb2136595658a43aa5288aa1f48104f805a10973df77395591a1d55a1942a",
"md5": "62970723be7f567daec4e9ac9afa80c7",
"sha256": "0202a5b2352b065a269dd1467cacd4b9ef4020665373e4d12eede232425eaea8"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "62970723be7f567daec4e9ac9afa80c7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1532272,
"upload_time": "2024-07-26T18:10:30",
"upload_time_iso_8601": "2024-07-26T18:10:30.552840Z",
"url": "https://files.pythonhosted.org/packages/c6/6e/b2136595658a43aa5288aa1f48104f805a10973df77395591a1d55a1942a/nutpie-0.13.2-cp310-cp310-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "824d0fbdd1d5f14587e415809146c71681d04bd713741e10389eed52bab48521",
"md5": "48d679d373ed5d87a05eef894605cc60",
"sha256": "fa2f5f46fad31d9cdac486510a656a7e85df470662ffcd6c3c84534eb7d24c28"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "48d679d373ed5d87a05eef894605cc60",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 1345447,
"upload_time": "2024-07-26T18:10:32",
"upload_time_iso_8601": "2024-07-26T18:10:32.608441Z",
"url": "https://files.pythonhosted.org/packages/82/4d/0fbdd1d5f14587e415809146c71681d04bd713741e10389eed52bab48521/nutpie-0.13.2-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c94a4592c00fe811491531f95ec8c5385504689058c471068bb007fc11a4bd96",
"md5": "a88d980d1ead14090c6adbf9c203e4a2",
"sha256": "024fb04ddcaa2ce8a2cf6864bebe68acfb68518f6199c6d3de0c6b9b49d1ac75"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "a88d980d1ead14090c6adbf9c203e4a2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1410632,
"upload_time": "2024-07-26T18:10:34",
"upload_time_iso_8601": "2024-07-26T18:10:34.184895Z",
"url": "https://files.pythonhosted.org/packages/c9/4a/4592c00fe811491531f95ec8c5385504689058c471068bb007fc11a4bd96/nutpie-0.13.2-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f274aa80e4cf65f8db0f8cd76e1b1f2c5dea277f01fcdd565e65371e67cd3b12",
"md5": "3ddd130c2538831d35a8f6b59b0b0143",
"sha256": "225f17a15e33f731db43c55f821b988df2781568e2dc6f22ae9798e259386009"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "3ddd130c2538831d35a8f6b59b0b0143",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1356907,
"upload_time": "2024-07-26T18:10:36",
"upload_time_iso_8601": "2024-07-26T18:10:36.840983Z",
"url": "https://files.pythonhosted.org/packages/f2/74/aa80e4cf65f8db0f8cd76e1b1f2c5dea277f01fcdd565e65371e67cd3b12/nutpie-0.13.2-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fe4a813b41a959baa6ad073ca4c4366bfb307c51dc960df5528db0138f7fba7c",
"md5": "df860d0363ee086925a6bab976fb7670",
"sha256": "1a7a5e7012976327485349b581ae762cd6e60bb1805f9d323e0eed2d945c73a3"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp311-cp311-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "df860d0363ee086925a6bab976fb7670",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1553335,
"upload_time": "2024-07-26T18:10:39",
"upload_time_iso_8601": "2024-07-26T18:10:39.004549Z",
"url": "https://files.pythonhosted.org/packages/fe/4a/813b41a959baa6ad073ca4c4366bfb307c51dc960df5528db0138f7fba7c/nutpie-0.13.2-cp311-cp311-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c174de2d67427a2ba1083074b6c6335b2260db03dbff110cffdccbf038c8ff36",
"md5": "50593ace02a0be2d40071ba1c02d3420",
"sha256": "be1635cdd6ec19cc541e212ee95e11288dda7a234a2ae7f70c2c91fdaa677fe0"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp311-cp311-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "50593ace02a0be2d40071ba1c02d3420",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1532381,
"upload_time": "2024-07-26T18:10:40",
"upload_time_iso_8601": "2024-07-26T18:10:40.584538Z",
"url": "https://files.pythonhosted.org/packages/c1/74/de2d67427a2ba1083074b6c6335b2260db03dbff110cffdccbf038c8ff36/nutpie-0.13.2-cp311-cp311-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6e2632ef7579f02d5f8fec72e7b20d35b7f4badfd18da4ca72225c83e96eaf72",
"md5": "87d862759187bd98ac77c9270ab40e17",
"sha256": "d7d297a975737ca997890cae284adca74e429567503596cbf66a37640faf4f10"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "87d862759187bd98ac77c9270ab40e17",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.10",
"size": 1345420,
"upload_time": "2024-07-26T18:10:42",
"upload_time_iso_8601": "2024-07-26T18:10:42.491268Z",
"url": "https://files.pythonhosted.org/packages/6e/26/32ef7579f02d5f8fec72e7b20d35b7f4badfd18da4ca72225c83e96eaf72/nutpie-0.13.2-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "185f08465d154b674cf89e921f4cfb50aabbc2cc53f40d67883237467c0cf040",
"md5": "6d961cfb4cebf0cdc85de0d428380374",
"sha256": "1656a4e45981db30d9ca850e889c10ac69c3e327a994607924c2db1dcefb49c7"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp312-cp312-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "6d961cfb4cebf0cdc85de0d428380374",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1410696,
"upload_time": "2024-07-26T18:10:44",
"upload_time_iso_8601": "2024-07-26T18:10:44.912977Z",
"url": "https://files.pythonhosted.org/packages/18/5f/08465d154b674cf89e921f4cfb50aabbc2cc53f40d67883237467c0cf040/nutpie-0.13.2-cp312-cp312-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d364111aa857623e6c6f797a12d03b600681d9f0ba7fe5ecc60f0fb19d405450",
"md5": "624be5d3fdb5adce5c7eeb755f0816a4",
"sha256": "57b6f6640996d88b290285acdcf7978bf9f6257c2a80d38eb5d1903e11bb0301"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "624be5d3fdb5adce5c7eeb755f0816a4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1357332,
"upload_time": "2024-07-26T18:10:46",
"upload_time_iso_8601": "2024-07-26T18:10:46.551325Z",
"url": "https://files.pythonhosted.org/packages/d3/64/111aa857623e6c6f797a12d03b600681d9f0ba7fe5ecc60f0fb19d405450/nutpie-0.13.2-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "102293008b80652837f148369490677198d7bf32a35f33e859df6b5f1a8d4d12",
"md5": "2f035442125a3b3c9af00dd9f2568783",
"sha256": "e1419e53a5ce3bfba39157cb1381eb18f1835bd1b73312d485e1f543f9ce3748"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp312-cp312-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "2f035442125a3b3c9af00dd9f2568783",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1553905,
"upload_time": "2024-07-26T18:10:48",
"upload_time_iso_8601": "2024-07-26T18:10:48.528237Z",
"url": "https://files.pythonhosted.org/packages/10/22/93008b80652837f148369490677198d7bf32a35f33e859df6b5f1a8d4d12/nutpie-0.13.2-cp312-cp312-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "554c0f801fe8d421e5ad89b1430bfad9b57fa53c7df4ad41d943476be2894acf",
"md5": "f69b966aea1a36cfa84592aed2425631",
"sha256": "6d29babf3773544692153799b3579f9de1e084a06fd2dcc851e97bef4c92768b"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp312-cp312-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "f69b966aea1a36cfa84592aed2425631",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1534061,
"upload_time": "2024-07-26T18:10:50",
"upload_time_iso_8601": "2024-07-26T18:10:50.477958Z",
"url": "https://files.pythonhosted.org/packages/55/4c/0f801fe8d421e5ad89b1430bfad9b57fa53c7df4ad41d943476be2894acf/nutpie-0.13.2-cp312-cp312-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cbb1b270984c0df52991f6e09428c49a8f84df68287720430c410c4942e0f2fd",
"md5": "010df8bc27e4acf7d2d1a051a1ea43a0",
"sha256": "5b6f45e2e475eee1519f18b6cbcd56ef225dbcaeb6f35e248d829467097ab385"
},
"downloads": -1,
"filename": "nutpie-0.13.2-cp312-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "010df8bc27e4acf7d2d1a051a1ea43a0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 1348391,
"upload_time": "2024-07-26T18:10:51",
"upload_time_iso_8601": "2024-07-26T18:10:51.858207Z",
"url": "https://files.pythonhosted.org/packages/cb/b1/b270984c0df52991f6e09428c49a8f84df68287720430c410c4942e0f2fd/nutpie-0.13.2-cp312-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a7fe67a545daebbe468b8139067dd1172cc145769f5f0784b69768749588a157",
"md5": "138cae150e2a303f3b2a0817e4f2c3a6",
"sha256": "db240a317b1ded7eddf2ca8e2b4bcfcdbd4624256655aac61625c8f7d5ca39d0"
},
"downloads": -1,
"filename": "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "138cae150e2a303f3b2a0817e4f2c3a6",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 1553567,
"upload_time": "2024-07-26T18:10:53",
"upload_time_iso_8601": "2024-07-26T18:10:53.371919Z",
"url": "https://files.pythonhosted.org/packages/a7/fe/67a545daebbe468b8139067dd1172cc145769f5f0784b69768749588a157/nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ff2803b9b8362d55b10bd325b3ed0870f81995239487299f323f4d3664ec9988",
"md5": "b179bbc6e9a6fa70b2cf7130ccac59d1",
"sha256": "2100024275ec6ba6de899188a3a2111f4b68aee7bfdbd4e4eb02ed4c922a9f22"
},
"downloads": -1,
"filename": "nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "b179bbc6e9a6fa70b2cf7130ccac59d1",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.10",
"size": 1532724,
"upload_time": "2024-07-26T18:10:54",
"upload_time_iso_8601": "2024-07-26T18:10:54.869763Z",
"url": "https://files.pythonhosted.org/packages/ff/28/03b9b8362d55b10bd325b3ed0870f81995239487299f323f4d3664ec9988/nutpie-0.13.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ff72830b4d56961f2759641277476c93715d2b01435a376f68fbed659b2c86d0",
"md5": "5fdb39f0d38b87faf0348fb49f0f77ab",
"sha256": "f14282e2ac045c67a9b262a865b02a243178c55b541b236b21dfcb0c3678bcea"
},
"downloads": -1,
"filename": "nutpie-0.13.2.tar.gz",
"has_sig": false,
"md5_digest": "5fdb39f0d38b87faf0348fb49f0f77ab",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 183995,
"upload_time": "2024-07-26T18:10:56",
"upload_time_iso_8601": "2024-07-26T18:10:56.259304Z",
"url": "https://files.pythonhosted.org/packages/ff/72/830b4d56961f2759641277476c93715d2b01435a376f68fbed659b2c86d0/nutpie-0.13.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-26 18:10:56",
"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"
}