nutpie


Namenutpie JSON
Version 0.13.3 PyPI version JSON
download
home_pageNone
SummarySample Stan or PyMC models
upload_time2025-02-12 13:56:16
maintainerNone
docs_urlNone
authorAdrian Seyboldt <adrian.seyboldt@gmail.com>, PyMC Developers <pymc.devs@gmail.com>
requires_python<3.13,>=3.10
licenseMIT
keywords statistics bayes
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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)
# 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/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.13,>=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/70/28/741a95b1e42e1dfe6e7da319a8c5854250ba230160c2ef4fc7742544df67/nutpie-0.13.3.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)\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/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.3",
    "project_urls": {
        "Source Code": "https://github.com/pymc-devs/nutpie"
    },
    "split_keywords": [
        "statistics",
        " bayes"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "72cda9f0526118a713a79d70b2444b19c88291118e611645d2db3423eb4efcca",
                "md5": "71217452dec4b41e1dd3e5eadbe87351",
                "sha256": "a5d03ce3379faefd26445da18d15857fd7277572c50ae6323272f47fd37f6e2f"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "71217452dec4b41e1dd3e5eadbe87351",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.13,>=3.10",
            "size": 1352676,
            "upload_time": "2025-02-12T13:55:51",
            "upload_time_iso_8601": "2025-02-12T13:55:51.219301Z",
            "url": "https://files.pythonhosted.org/packages/72/cd/a9f0526118a713a79d70b2444b19c88291118e611645d2db3423eb4efcca/nutpie-0.13.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b07237836ca697172246e8bf70ad7e677771a950cab9608028b2b804e89d758",
                "md5": "1f030d007cfdcff89597e3df4ebadaa6",
                "sha256": "457ece5705cae02adbbe97f9bc7c20b9cf7e052bfec33f7e72a03483bb0427a7"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1f030d007cfdcff89597e3df4ebadaa6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.13,>=3.10",
            "size": 1403589,
            "upload_time": "2025-02-12T13:56:00",
            "upload_time_iso_8601": "2025-02-12T13:56:00.718523Z",
            "url": "https://files.pythonhosted.org/packages/0b/07/237836ca697172246e8bf70ad7e677771a950cab9608028b2b804e89d758/nutpie-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0141ceb01c49dce316f1dcedd223e952732c5418ec52a18ad0932249cfd13a98",
                "md5": "fd691e34ea5bc2a1b1e89ca5c202cdc0",
                "sha256": "8e135535c50521e2b8d959bf615b257643798aa7ddede19d9b8261813510a782"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fd691e34ea5bc2a1b1e89ca5c202cdc0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.13,>=3.10",
            "size": 1368863,
            "upload_time": "2025-02-12T13:56:18",
            "upload_time_iso_8601": "2025-02-12T13:56:18.785851Z",
            "url": "https://files.pythonhosted.org/packages/01/41/ceb01c49dce316f1dcedd223e952732c5418ec52a18ad0932249cfd13a98/nutpie-0.13.3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6b6091b6f2cac76148cca9b6a8987e0b925c77bfbd7c2b85974fa965dd34bbed",
                "md5": "ddb3d68979412dca7344793ef7383e8f",
                "sha256": "053e666c37902e2d4d9a4a4dd10197f0167735bc6b47d01535194ff55ef77bd4"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ddb3d68979412dca7344793ef7383e8f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.13,>=3.10",
            "size": 1445455,
            "upload_time": "2025-02-12T13:56:13",
            "upload_time_iso_8601": "2025-02-12T13:56:13.242252Z",
            "url": "https://files.pythonhosted.org/packages/6b/60/91b6f2cac76148cca9b6a8987e0b925c77bfbd7c2b85974fa965dd34bbed/nutpie-0.13.3-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8eb8c32a9b94805b042a491da0354a8541ea852563110bff6d0a5523725e424d",
                "md5": "644358b8756ff5650ff0816928572faa",
                "sha256": "21806f9385e9355be69d7353cabad66be9b367403285a6ec8920529d154bc32f"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "644358b8756ff5650ff0816928572faa",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.13,>=3.10",
            "size": 1389768,
            "upload_time": "2025-02-12T13:56:06",
            "upload_time_iso_8601": "2025-02-12T13:56:06.668569Z",
            "url": "https://files.pythonhosted.org/packages/8e/b8/c32a9b94805b042a491da0354a8541ea852563110bff6d0a5523725e424d/nutpie-0.13.3-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4e6c3e6de44ab98f8e17fb0549ebcfc60358c2a3470009187a5571356b7f6cf4",
                "md5": "033a4add6b03d1a26de6affaa4445afa",
                "sha256": "ecdcd96e4c90967f2f8bc105e1d1b58844662b19bc5e2b8de517de69786d706d"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "033a4add6b03d1a26de6affaa4445afa",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.13,>=3.10",
            "size": 1352821,
            "upload_time": "2025-02-12T13:55:53",
            "upload_time_iso_8601": "2025-02-12T13:55:53.281536Z",
            "url": "https://files.pythonhosted.org/packages/4e/6c/3e6de44ab98f8e17fb0549ebcfc60358c2a3470009187a5571356b7f6cf4/nutpie-0.13.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "98dcd0eb5cda06f5f7d214ca629f73e1c3741174ce23c69df1301dfaadc189a5",
                "md5": "746b2b7221a8755de40f2d6de0aeebcf",
                "sha256": "fcb880553c86ece16f1bfb72d75c34f28d626f717821b02f0c85eeccb14094b0"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "746b2b7221a8755de40f2d6de0aeebcf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.13,>=3.10",
            "size": 1368697,
            "upload_time": "2025-02-12T13:56:20",
            "upload_time_iso_8601": "2025-02-12T13:56:20.365158Z",
            "url": "https://files.pythonhosted.org/packages/98/dc/d0eb5cda06f5f7d214ca629f73e1c3741174ce23c69df1301dfaadc189a5/nutpie-0.13.3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8c2e0fcb2401527a6fd112596301985cffb35c37f3fce1eafba79310ad5c0a51",
                "md5": "25f928e4e2280c73c0aebc3b97f40dce",
                "sha256": "f3ee0cbd3f8c3a6c5469dc022b8aecc39108d2be3ca6f802979fb83dcbc0d726"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "25f928e4e2280c73c0aebc3b97f40dce",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.13,>=3.10",
            "size": 1447447,
            "upload_time": "2025-02-12T13:56:15",
            "upload_time_iso_8601": "2025-02-12T13:56:15.420439Z",
            "url": "https://files.pythonhosted.org/packages/8c/2e/0fcb2401527a6fd112596301985cffb35c37f3fce1eafba79310ad5c0a51/nutpie-0.13.3-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "29007f9aabfcffcfd148ef0f8436f150133f9d2494749b879d485a11e7a068b7",
                "md5": "0e9ea8d8347e223cbfc60b2a0b1241c2",
                "sha256": "25713bbad783a6b6777979934ea99fb190beafed0b190c6b99c41eee825553d4"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0e9ea8d8347e223cbfc60b2a0b1241c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.13,>=3.10",
            "size": 1392016,
            "upload_time": "2025-02-12T13:56:11",
            "upload_time_iso_8601": "2025-02-12T13:56:11.381524Z",
            "url": "https://files.pythonhosted.org/packages/29/00/7f9aabfcffcfd148ef0f8436f150133f9d2494749b879d485a11e7a068b7/nutpie-0.13.3-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c0b22f6a046a369af793ea53b3f1632612a8862776be8084f9ef550140353035",
                "md5": "35cc550da7efe15affd40e2eb9309e15",
                "sha256": "1dc76b73f1d8c15239b9f2ed3a06a7a3d671c467ac5bd32b2e69f59717a0da0f"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "35cc550da7efe15affd40e2eb9309e15",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.13,>=3.10",
            "size": 1354072,
            "upload_time": "2025-02-12T13:55:55",
            "upload_time_iso_8601": "2025-02-12T13:55:55.522772Z",
            "url": "https://files.pythonhosted.org/packages/c0/b2/2f6a046a369af793ea53b3f1632612a8862776be8084f9ef550140353035/nutpie-0.13.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f5140804c236c29d112299ac6c1eeef2a2931524bae68a40a348abe8945cad62",
                "md5": "550ff9a902ca3ed7ab16ab87d56e3727",
                "sha256": "ce94ffd40122d4ee3ddde182cfd8492628ab7fa05edddaa74a2b26647ab46c38"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "550ff9a902ca3ed7ab16ab87d56e3727",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.13,>=3.10",
            "size": 1405730,
            "upload_time": "2025-02-12T13:56:03",
            "upload_time_iso_8601": "2025-02-12T13:56:03.687744Z",
            "url": "https://files.pythonhosted.org/packages/f5/14/0804c236c29d112299ac6c1eeef2a2931524bae68a40a348abe8945cad62/nutpie-0.13.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8312aba03f3ea5b03a743ec0a42f28a65f1b5f04a8f858cce2092f367f44ae53",
                "md5": "30337f9b73c82c88cb417fb7c6cb315e",
                "sha256": "040bb92231464982076ffcc7f8328608242aa8dfdd2a8a1527ca43a85e69669e"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "30337f9b73c82c88cb417fb7c6cb315e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.13,>=3.10",
            "size": 1371451,
            "upload_time": "2025-02-12T13:56:21",
            "upload_time_iso_8601": "2025-02-12T13:56:21.861557Z",
            "url": "https://files.pythonhosted.org/packages/83/12/aba03f3ea5b03a743ec0a42f28a65f1b5f04a8f858cce2092f367f44ae53/nutpie-0.13.3-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3b62ef30c40407d41c6fd99d000260a8a64017ca6fb5091ba4c266a962de877f",
                "md5": "74646ed2d7350499e57883a6491eed62",
                "sha256": "1290cef9ec1d0f02e483a2b0a320a87add3953a2dd333fca26feb5e3903fe06e"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "74646ed2d7350499e57883a6491eed62",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "<3.13,>=3.10",
            "size": 1352528,
            "upload_time": "2025-02-12T13:55:58",
            "upload_time_iso_8601": "2025-02-12T13:55:58.879387Z",
            "url": "https://files.pythonhosted.org/packages/3b/62/ef30c40407d41c6fd99d000260a8a64017ca6fb5091ba4c266a962de877f/nutpie-0.13.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7028741a95b1e42e1dfe6e7da319a8c5854250ba230160c2ef4fc7742544df67",
                "md5": "1b3f6ff51a936f9df84c72e78344f150",
                "sha256": "7ffaa5aeb1947fa12928dd34d50c2d12ded263ae5e21e3a26a3b5fcdf3050503"
            },
            "downloads": -1,
            "filename": "nutpie-0.13.3.tar.gz",
            "has_sig": false,
            "md5_digest": "1b3f6ff51a936f9df84c72e78344f150",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.10",
            "size": 59592,
            "upload_time": "2025-02-12T13:56:16",
            "upload_time_iso_8601": "2025-02-12T13:56:16.974954Z",
            "url": "https://files.pythonhosted.org/packages/70/28/741a95b1e42e1dfe6e7da319a8c5854250ba230160c2ef4fc7742544df67/nutpie-0.13.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-12 13:56:16",
    "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"
}
        
Elapsed time: 2.05336s