pyamg


Namepyamg JSON
Version 5.1.0 PyPI version JSON
download
home_pagehttps://github.com/pyamg/pyamg
SummaryPyAMG: Algebraic Multigrid Solvers in Python
upload_time2024-03-19 15:55:06
maintainerLuke Olson
docs_urlNone
authorNathan Bell, Luke Olson, and Jacob Schroder
requires_python>=3.8
licenseMIT
keywords algebraic multigrid amg sparse matrix preconditioning
VCS
bugtrack_url
requirements numpy scipy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![ci](https://img.shields.io/github/actions/workflow/status/pyamg/pyamg/ci.yml?style=flat-square&label=tests)](https://github.com/pyamg/pyamg/actions?query=workflow%3ACI-test+branch%3Amain)
[![lint](https://img.shields.io/github/actions/workflow/status/pyamg/pyamg/lint.yml?style=flat-square&label=lint)](https://github.com/pyamg/pyamg/actions?query=workflow%3ACI-lint+branch%3Amain)
[![PyPI - Version](https://img.shields.io/pypi/v/pyamg?style=flat-square)](https://pypi.org/project/pyamg/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyamg?style=flat-square)](https://pypi.org/project/pyamg/)
[![Codecov](https://img.shields.io/codecov/c/github/pyamg/pyamg?style=flat-square)](https://app.codecov.io/gh/pyamg/pyamg)
[![joss](https://joss.theoj.org/papers/10.21105/joss.05495/status.svg?style=flat-square)](https://doi.org/10.21105/joss.05495)

# Installation
PyAMG requires `numpy` and `scipy`

```
pip install pyamg
```

or from source:

```
pip install .
```

(`python setup.py install` will no longer work)

or with conda (see details below)

```
conda config --add channels conda-forge
conda install pyamg
```

# Introduction

PyAMG is a library of **Algebraic Multigrid (AMG)** solvers with a convenient Python interface.

![](https://raw.githubusercontent.com/pyamg/pyamg/main/docs/logo/pyamg_logo_withtext.png)

PyAMG is currently developed and maintained by
[Luke Olson](http://lukeo.cs.illinois.edu),
[Jacob Schroder](https://www.unm.edu/~jbschroder), and
[Ben Southworth](https://arxiv.org/a/southworth_b_1.html).
The organization of the project can be found in [`organization.md`](organization.md) and
examples of use can be found in [`pyamg-examples`](https://github.com/pyamg/pyamg-examples).

**Acknowledgements:**
PyAMG was created by
[Nathan Bell](http://wnbell.com/), 
[Luke Olson](http://lukeo.cs.illinois.edu), and
[Jacob Schroder](https://www.unm.edu/~jbschroder).
Portions of the project were partially supported by the NSF under award DMS-0612448.

# Citing

If you use PyAMG in your work, please consider using the following citation:

<pre>
@article{pyamg2023,
  author    = {Nathan Bell and Luke N. Olson and Jacob Schroder and Ben Southworth},
  title     = {{PyAMG}: Algebraic Multigrid Solvers in Python},
  journal   = {Journal of Open Source Software},
  year      = {2023},
  publisher = {The Open Journal},
  volume    = {8},
  number    = {87},
  pages     = {5495},
  doi       = {10.21105/joss.05495},
  url       = {https://doi.org/10.21105/joss.05495},
}
</pre>

# Getting Help

- For documentation see [http://pyamg.readthedocs.io/en/latest/](http://pyamg.readthedocs.io/en/latest/).

- Create an [issue](https://github.com/pyamg/pyamg/issues).

- Look at the [Tutorial](https://github.com/pyamg/pyamg/wiki/Tutorial) or the [examples](https://github.com/pyamg/pyamg-examples) (for instance  the [0_start_here](https://github.com/pyamg/pyamg-examples/blob/main/0_start_here/demo.py) example).

- Run the unit tests (`pip install pytest`):
  - With PyAMG installed and from a non-source directory:
  ```python
  import pyamg
  pyamg.test()
  ```
  - From the PyAMG source directory and installed (e.g. with `pip install -e .`):
  ```python
  pytest .
  ```

# What is AMG?

 AMG is a multilevel technique for solving large-scale linear systems with optimal or near-optimal efficiency.  Unlike geometric multigrid, AMG requires little or no geometric information about the underlying problem and develops a sequence of coarser grids directly from the input matrix.  This feature is especially important for problems discretized on unstructured meshes and irregular grids.

# PyAMG Features

PyAMG features implementations of:

- **Ruge-Stuben (RS)** or *Classical AMG*
- AMG based on **Smoothed Aggregation (SA)**

and experimental support for:

- **Adaptive Smoothed Aggregation (αSA)**
- **Compatible Relaxation (CR)**

The predominant portion of PyAMG is written in Python with a smaller amount of supporting C++ code for performance critical operations.

# Example Usage

PyAMG is easy to use!  The following code constructs a two-dimensional Poisson problem and solves the resulting linear system with Classical AMG.

````python
import pyamg
import numpy as np
A = pyamg.gallery.poisson((500,500), format='csr')  # 2D Poisson problem on 500x500 grid
ml = pyamg.ruge_stuben_solver(A)                    # construct the multigrid hierarchy
print(ml)                                           # print hierarchy information
b = np.random.rand(A.shape[0])                      # pick a random right hand side
x = ml.solve(b, tol=1e-10)                          # solve Ax=b to a tolerance of 1e-10
print("residual: ", np.linalg.norm(b-A*x))          # compute norm of residual vector
````

Program output:

<pre>
multilevel_solver
Number of Levels:     9
Operator Complexity:  2.199
Grid Complexity:      1.667
Coarse Solver:        'pinv2'
  level   unknowns     nonzeros
    0       250000      1248000 [45.47%]
    1       125000      1121002 [40.84%]
    2        31252       280662 [10.23%]
    3         7825        70657 [ 2.57%]
    4         1937        17971 [ 0.65%]
    5          483         4725 [ 0.17%]
    6          124         1352 [ 0.05%]
    7           29          293 [ 0.01%]
    8            7           41 [ 0.00%]

residual:  1.24748994988e-08
</pre>

# Conda

More information can be found at [conda-forge/pyamg-feedstock](https://github.com/conda-forge/pyamg-feedstock).

*Linux:*
[![Circle CI](https://circleci.com/gh/conda-forge/pyamg-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/pyamg-feedstock)

*OSX:*
[![TravisCI](https://travis-ci.org/conda-forge/pyamg-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/pyamg-feedstock)

*Windows:*
[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/pyamg-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/pyamg-feedstock/branch/master)

*Version:*
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/version.svg)](https://anaconda.org/conda-forge/pyamg)

*Downloads:*
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/downloads.svg)](https://anaconda.org/conda-forge/pyamg)

Installing `pyamg` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with:

```
conda config --add channels conda-forge
```

Once the `conda-forge` channel has been enabled, `pyamg` can be installed with:

```
conda install pyamg
```

It is possible to list all of the versions of `pyamg` available on your platform with:

```
conda search pyamg --channel conda-forge
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pyamg/pyamg",
    "name": "pyamg",
    "maintainer": "Luke Olson",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "luke.olson@gmail.com",
    "keywords": "algebraic multigrid,AMG,sparse matrix,preconditioning",
    "author": "Nathan Bell, Luke Olson, and Jacob Schroder",
    "author_email": "luke.olson@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/00/37/bdc7f3d8622ff1a6e96ed62fe7d3a068bab62aafcf7cd434b065f62634ff/pyamg-5.1.0.tar.gz",
    "platform": null,
    "description": "[![ci](https://img.shields.io/github/actions/workflow/status/pyamg/pyamg/ci.yml?style=flat-square&label=tests)](https://github.com/pyamg/pyamg/actions?query=workflow%3ACI-test+branch%3Amain)\n[![lint](https://img.shields.io/github/actions/workflow/status/pyamg/pyamg/lint.yml?style=flat-square&label=lint)](https://github.com/pyamg/pyamg/actions?query=workflow%3ACI-lint+branch%3Amain)\n[![PyPI - Version](https://img.shields.io/pypi/v/pyamg?style=flat-square)](https://pypi.org/project/pyamg/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyamg?style=flat-square)](https://pypi.org/project/pyamg/)\n[![Codecov](https://img.shields.io/codecov/c/github/pyamg/pyamg?style=flat-square)](https://app.codecov.io/gh/pyamg/pyamg)\n[![joss](https://joss.theoj.org/papers/10.21105/joss.05495/status.svg?style=flat-square)](https://doi.org/10.21105/joss.05495)\n\n# Installation\nPyAMG requires `numpy` and `scipy`\n\n```\npip install pyamg\n```\n\nor from source:\n\n```\npip install .\n```\n\n(`python setup.py install` will no longer work)\n\nor with conda (see details below)\n\n```\nconda config --add channels conda-forge\nconda install pyamg\n```\n\n# Introduction\n\nPyAMG is a library of **Algebraic Multigrid (AMG)** solvers with a convenient Python interface.\n\n![](https://raw.githubusercontent.com/pyamg/pyamg/main/docs/logo/pyamg_logo_withtext.png)\n\nPyAMG is currently developed and maintained by\n[Luke Olson](http://lukeo.cs.illinois.edu),\n[Jacob Schroder](https://www.unm.edu/~jbschroder), and\n[Ben Southworth](https://arxiv.org/a/southworth_b_1.html).\nThe organization of the project can be found in [`organization.md`](organization.md) and\nexamples of use can be found in [`pyamg-examples`](https://github.com/pyamg/pyamg-examples).\n\n**Acknowledgements:**\nPyAMG was created by\n[Nathan Bell](http://wnbell.com/), \n[Luke Olson](http://lukeo.cs.illinois.edu), and\n[Jacob Schroder](https://www.unm.edu/~jbschroder).\nPortions of the project were partially supported by the NSF under award DMS-0612448.\n\n# Citing\n\nIf you use PyAMG in your work, please consider using the following citation:\n\n<pre>\n@article{pyamg2023,\n  author    = {Nathan Bell and Luke N. Olson and Jacob Schroder and Ben Southworth},\n  title     = {{PyAMG}: Algebraic Multigrid Solvers in Python},\n  journal   = {Journal of Open Source Software},\n  year      = {2023},\n  publisher = {The Open Journal},\n  volume    = {8},\n  number    = {87},\n  pages     = {5495},\n  doi       = {10.21105/joss.05495},\n  url       = {https://doi.org/10.21105/joss.05495},\n}\n</pre>\n\n# Getting Help\n\n- For documentation see [http://pyamg.readthedocs.io/en/latest/](http://pyamg.readthedocs.io/en/latest/).\n\n- Create an [issue](https://github.com/pyamg/pyamg/issues).\n\n- Look at the [Tutorial](https://github.com/pyamg/pyamg/wiki/Tutorial) or the [examples](https://github.com/pyamg/pyamg-examples) (for instance  the [0_start_here](https://github.com/pyamg/pyamg-examples/blob/main/0_start_here/demo.py) example).\n\n- Run the unit tests (`pip install pytest`):\n  - With PyAMG installed and from a non-source directory:\n  ```python\n  import pyamg\n  pyamg.test()\n  ```\n  - From the PyAMG source directory and installed (e.g. with `pip install -e .`):\n  ```python\n  pytest .\n  ```\n\n# What is AMG?\n\n AMG is a multilevel technique for solving large-scale linear systems with optimal or near-optimal efficiency.  Unlike geometric multigrid, AMG requires little or no geometric information about the underlying problem and develops a sequence of coarser grids directly from the input matrix.  This feature is especially important for problems discretized on unstructured meshes and irregular grids.\n\n# PyAMG Features\n\nPyAMG features implementations of:\n\n- **Ruge-Stuben (RS)** or *Classical AMG*\n- AMG based on **Smoothed Aggregation (SA)**\n\nand experimental support for:\n\n- **Adaptive Smoothed Aggregation (\u03b1SA)**\n- **Compatible Relaxation (CR)**\n\nThe predominant portion of PyAMG is written in Python with a smaller amount of supporting C++ code for performance critical operations.\n\n# Example Usage\n\nPyAMG is easy to use!  The following code constructs a two-dimensional Poisson problem and solves the resulting linear system with Classical AMG.\n\n````python\nimport pyamg\nimport numpy as np\nA = pyamg.gallery.poisson((500,500), format='csr')  # 2D Poisson problem on 500x500 grid\nml = pyamg.ruge_stuben_solver(A)                    # construct the multigrid hierarchy\nprint(ml)                                           # print hierarchy information\nb = np.random.rand(A.shape[0])                      # pick a random right hand side\nx = ml.solve(b, tol=1e-10)                          # solve Ax=b to a tolerance of 1e-10\nprint(\"residual: \", np.linalg.norm(b-A*x))          # compute norm of residual vector\n````\n\nProgram output:\n\n<pre>\nmultilevel_solver\nNumber of Levels:     9\nOperator Complexity:  2.199\nGrid Complexity:      1.667\nCoarse Solver:        'pinv2'\n  level   unknowns     nonzeros\n    0       250000      1248000 [45.47%]\n    1       125000      1121002 [40.84%]\n    2        31252       280662 [10.23%]\n    3         7825        70657 [ 2.57%]\n    4         1937        17971 [ 0.65%]\n    5          483         4725 [ 0.17%]\n    6          124         1352 [ 0.05%]\n    7           29          293 [ 0.01%]\n    8            7           41 [ 0.00%]\n\nresidual:  1.24748994988e-08\n</pre>\n\n# Conda\n\nMore information can be found at [conda-forge/pyamg-feedstock](https://github.com/conda-forge/pyamg-feedstock).\n\n*Linux:*\n[![Circle CI](https://circleci.com/gh/conda-forge/pyamg-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/pyamg-feedstock)\n\n*OSX:*\n[![TravisCI](https://travis-ci.org/conda-forge/pyamg-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/pyamg-feedstock)\n\n*Windows:*\n[![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/pyamg-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/pyamg-feedstock/branch/master)\n\n*Version:*\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/version.svg)](https://anaconda.org/conda-forge/pyamg)\n\n*Downloads:*\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyamg/badges/downloads.svg)](https://anaconda.org/conda-forge/pyamg)\n\nInstalling `pyamg` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with:\n\n```\nconda config --add channels conda-forge\n```\n\nOnce the `conda-forge` channel has been enabled, `pyamg` can be installed with:\n\n```\nconda install pyamg\n```\n\nIt is possible to list all of the versions of `pyamg` available on your platform with:\n\n```\nconda search pyamg --channel conda-forge\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "PyAMG: Algebraic Multigrid Solvers in Python",
    "version": "5.1.0",
    "project_urls": {
        "Download": "https://github.com/pyamg/pyamg/releases",
        "Homepage": "https://github.com/pyamg/pyamg"
    },
    "split_keywords": [
        "algebraic multigrid",
        "amg",
        "sparse matrix",
        "preconditioning"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56da538e3c530f11516e1ff44adc9349c14639c9612f1aec57e81eab29c0abc7",
                "md5": "dc8559709296a954db55ecaa51e919bf",
                "sha256": "3be3d4e6d74cc30e344ee0aa2f995ef3712e24ed161d5ca9e84e67bc2415a97f"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "dc8559709296a954db55ecaa51e919bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2506607,
            "upload_time": "2024-03-19T15:53:54",
            "upload_time_iso_8601": "2024-03-19T15:53:54.237119Z",
            "url": "https://files.pythonhosted.org/packages/56/da/538e3c530f11516e1ff44adc9349c14639c9612f1aec57e81eab29c0abc7/pyamg-5.1.0-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "332186840ab8343e67401131c5b0228a884592c5c5bc9c123f03a7670d62f59b",
                "md5": "663aacc194c1dbb679c130fb4cfede5a",
                "sha256": "9ae5b83f68224daf9b9c59cb7c1b34a535ff0a01d7abb129a99ae4455478de2e"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "663aacc194c1dbb679c130fb4cfede5a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1674234,
            "upload_time": "2024-03-19T15:53:56",
            "upload_time_iso_8601": "2024-03-19T15:53:56.861491Z",
            "url": "https://files.pythonhosted.org/packages/33/21/86840ab8343e67401131c5b0228a884592c5c5bc9c123f03a7670d62f59b/pyamg-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a0cd5fe73cac24dfba5b4756ef87a7de8fde4ab05e9e802d377fbd614cbf293",
                "md5": "c2896e89ff919153b964a047d71f1351",
                "sha256": "9df3e4a4de0f90796dea272ab6aa9a1f52d4912e175e121a669cf7a9974dd7a6"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c2896e89ff919153b964a047d71f1351",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1598607,
            "upload_time": "2024-03-19T15:53:58",
            "upload_time_iso_8601": "2024-03-19T15:53:58.665537Z",
            "url": "https://files.pythonhosted.org/packages/2a/0c/d5fe73cac24dfba5b4756ef87a7de8fde4ab05e9e802d377fbd614cbf293/pyamg-5.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "128c72cd639664a55d81741c7f9ed8ec1b4bcbeafa5838f3f5ce3e4f8dc45fd1",
                "md5": "15db477070dfb7ba42ae048be469fa5d",
                "sha256": "63116832e812e840c562ad66f144b2547fb209399a60520ca37f764e174d4a3d"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "15db477070dfb7ba42ae048be469fa5d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1920776,
            "upload_time": "2024-03-19T15:54:00",
            "upload_time_iso_8601": "2024-03-19T15:54:00.583550Z",
            "url": "https://files.pythonhosted.org/packages/12/8c/72cd639664a55d81741c7f9ed8ec1b4bcbeafa5838f3f5ce3e4f8dc45fd1/pyamg-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed060ecd1a13301242c4533dee12ec0825158a43068e5f14df3069165e45f925",
                "md5": "44b9cc8f84a4084d2558c7068386a9e8",
                "sha256": "8e9fb2579a6a2477f887a61f7c61a759caeb3b3fb864b255c8c009c0ab2bf17b"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "44b9cc8f84a4084d2558c7068386a9e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2218930,
            "upload_time": "2024-03-19T15:54:02",
            "upload_time_iso_8601": "2024-03-19T15:54:02.523456Z",
            "url": "https://files.pythonhosted.org/packages/ed/06/0ecd1a13301242c4533dee12ec0825158a43068e5f14df3069165e45f925/pyamg-5.1.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1016489b50b9b84bdf9695f2cd51c085184abca2891a08c6bf11d16a36e2dcff",
                "md5": "9aa731c35532449a32af4dc08573d43b",
                "sha256": "027d90eb1e4254caa7f19c604d26f569547f4e013587411d94d3c1cc11c8d1b0"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "9aa731c35532449a32af4dc08573d43b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1415972,
            "upload_time": "2024-03-19T15:54:04",
            "upload_time_iso_8601": "2024-03-19T15:54:04.405616Z",
            "url": "https://files.pythonhosted.org/packages/10/16/489b50b9b84bdf9695f2cd51c085184abca2891a08c6bf11d16a36e2dcff/pyamg-5.1.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3771604857aef7039934534bf5771463038340ae20afcc4bb599960f9592d9ab",
                "md5": "a77f49a5bea1966a093497d0c75619b4",
                "sha256": "d2005dbfba9230c000731c8b5e874d36307768178ccdc7f1f87a8b1302357451"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a77f49a5bea1966a093497d0c75619b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1559790,
            "upload_time": "2024-03-19T15:54:06",
            "upload_time_iso_8601": "2024-03-19T15:54:06.712564Z",
            "url": "https://files.pythonhosted.org/packages/37/71/604857aef7039934534bf5771463038340ae20afcc4bb599960f9592d9ab/pyamg-5.1.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76e6827f867893d2dbc35c7c0ab32de6e34b4d69e4838d1c6b23ba07f2d2c029",
                "md5": "95453aeaf053fafd348a310b2d9aa7cb",
                "sha256": "18262da25d46daeae6d05b900c93fc7dc13abfc518a877e0e895258969a0e062"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "95453aeaf053fafd348a310b2d9aa7cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2531509,
            "upload_time": "2024-03-19T15:54:09",
            "upload_time_iso_8601": "2024-03-19T15:54:09.167686Z",
            "url": "https://files.pythonhosted.org/packages/76/e6/827f867893d2dbc35c7c0ab32de6e34b4d69e4838d1c6b23ba07f2d2c029/pyamg-5.1.0-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "89d530dad1033c05535fe77c2119845091e007623cbd544081182c3a492b2784",
                "md5": "176eb68462e8db60f3f0dcc037539a1e",
                "sha256": "fbfd14c5e1bec11e2e7c7ddedbb5194f32a00dacc3078b02626d432eae1389d6"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "176eb68462e8db60f3f0dcc037539a1e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1687212,
            "upload_time": "2024-03-19T15:54:11",
            "upload_time_iso_8601": "2024-03-19T15:54:11.499461Z",
            "url": "https://files.pythonhosted.org/packages/89/d5/30dad1033c05535fe77c2119845091e007623cbd544081182c3a492b2784/pyamg-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "597ccb1a415427fe24cef931f323ec0c8a5d10fc54f8e7bd3e0bb64bcfcc928c",
                "md5": "87a6f1fbe880c87e5a5ba780d6f0a0ab",
                "sha256": "58d1cf0f512e047311605e14532a16203cdb7ab4af845db4275d04a8b90e8bc9"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "87a6f1fbe880c87e5a5ba780d6f0a0ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1609469,
            "upload_time": "2024-03-19T15:54:13",
            "upload_time_iso_8601": "2024-03-19T15:54:13.251703Z",
            "url": "https://files.pythonhosted.org/packages/59/7c/cb1a415427fe24cef931f323ec0c8a5d10fc54f8e7bd3e0bb64bcfcc928c/pyamg-5.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e3b02c74a638c533781b45018c503f7c87f3376b5c1d8e9c99716904e07dc569",
                "md5": "aac082c1bea3fe1baf69a7efeef26e6f",
                "sha256": "d1b9e9fdb61b861387f73b6716427792c29ba3fa7b0ca7641c6db8aac80f5eb6"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aac082c1bea3fe1baf69a7efeef26e6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1931872,
            "upload_time": "2024-03-19T15:54:15",
            "upload_time_iso_8601": "2024-03-19T15:54:15.010206Z",
            "url": "https://files.pythonhosted.org/packages/e3/b0/2c74a638c533781b45018c503f7c87f3376b5c1d8e9c99716904e07dc569/pyamg-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0fb25863408d2d1cf4460a273eaaea7fe57769fdbf2232df43095dff319bbbd",
                "md5": "cfd8229c2d17bab53d10ba3f02cd9fbd",
                "sha256": "4e5b75c0815f2949e17b6fc9f2ee93486a28f623575b5f55d4eb7c620e0cfb9b"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cfd8229c2d17bab53d10ba3f02cd9fbd",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2229543,
            "upload_time": "2024-03-19T15:54:17",
            "upload_time_iso_8601": "2024-03-19T15:54:17.429870Z",
            "url": "https://files.pythonhosted.org/packages/e0/fb/25863408d2d1cf4460a273eaaea7fe57769fdbf2232df43095dff319bbbd/pyamg-5.1.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db398c36ff3176e5c1d2084943264e67f77ea89e8b1b5b303ae05c623d20323d",
                "md5": "7af9f832864a73782a418607882cf357",
                "sha256": "a1acacd509be8c4a343338377b9b63b1edf9afb30876dbc52847f2b6b45d8e1f"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "7af9f832864a73782a418607882cf357",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1425712,
            "upload_time": "2024-03-19T15:54:19",
            "upload_time_iso_8601": "2024-03-19T15:54:19.001570Z",
            "url": "https://files.pythonhosted.org/packages/db/39/8c36ff3176e5c1d2084943264e67f77ea89e8b1b5b303ae05c623d20323d/pyamg-5.1.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aa7700666e55a314303c6b05ddb4e86dc5978be15b199f7274cb6f304cf4285d",
                "md5": "4874c53fd2782db0c9363f2854622844",
                "sha256": "d05fe91e150dfd104c6e5c239a0c29cf9274df935642dfe682a38608f48967f3"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4874c53fd2782db0c9363f2854622844",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1568740,
            "upload_time": "2024-03-19T15:54:21",
            "upload_time_iso_8601": "2024-03-19T15:54:21.624877Z",
            "url": "https://files.pythonhosted.org/packages/aa/77/00666e55a314303c6b05ddb4e86dc5978be15b199f7274cb6f304cf4285d/pyamg-5.1.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68c96a2e6456d5af9b7635947b917bfa357a204a6beb2b2ab0d9992ddda17a30",
                "md5": "f02a0ba5390c0b72f5d0081483404c69",
                "sha256": "be0380b60e6713dc5a003ffe9258b12fc67c392433904083725105520b6b882e"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "f02a0ba5390c0b72f5d0081483404c69",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2496052,
            "upload_time": "2024-03-19T15:54:23",
            "upload_time_iso_8601": "2024-03-19T15:54:23.759938Z",
            "url": "https://files.pythonhosted.org/packages/68/c9/6a2e6456d5af9b7635947b917bfa357a204a6beb2b2ab0d9992ddda17a30/pyamg-5.1.0-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e86a5420416ecfecec2c28bdf719d49ad747a19c45b81d91a75e6dd57fe8e85b",
                "md5": "e56b1d5e728a55b4f8081655cc115219",
                "sha256": "fe641ab04b922f1db9f7c4b07493604642235d1ce70ef5c057c2a94b4a46f150"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e56b1d5e728a55b4f8081655cc115219",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1672204,
            "upload_time": "2024-03-19T15:54:26",
            "upload_time_iso_8601": "2024-03-19T15:54:26.091514Z",
            "url": "https://files.pythonhosted.org/packages/e8/6a/5420416ecfecec2c28bdf719d49ad747a19c45b81d91a75e6dd57fe8e85b/pyamg-5.1.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "50b65dd8474bdcc9ab4be0540f45bfdf827780170c006b5e49f0a1dd2fe8d448",
                "md5": "916ce2daae5817f4c74461cdb6c8e63a",
                "sha256": "78161bde9398165ef8b492ef99fad624727317823a7975cc60952817a0cdff77"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "916ce2daae5817f4c74461cdb6c8e63a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1590445,
            "upload_time": "2024-03-19T15:54:28",
            "upload_time_iso_8601": "2024-03-19T15:54:28.325273Z",
            "url": "https://files.pythonhosted.org/packages/50/b6/5dd8474bdcc9ab4be0540f45bfdf827780170c006b5e49f0a1dd2fe8d448/pyamg-5.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5887d94acafccebab2ed8d173f9987abce21b44620c3c95b7c40c47b8d904885",
                "md5": "99e271c9b4ddbc7ee1ce69513e110856",
                "sha256": "e19e085a88bd33efdc8f2f9c6432b3d0bd4d42c058e7fad6ac5a31bd5a322fd6"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "99e271c9b4ddbc7ee1ce69513e110856",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1926394,
            "upload_time": "2024-03-19T15:54:30",
            "upload_time_iso_8601": "2024-03-19T15:54:30.780169Z",
            "url": "https://files.pythonhosted.org/packages/58/87/d94acafccebab2ed8d173f9987abce21b44620c3c95b7c40c47b8d904885/pyamg-5.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a85e33262043c3fba4fb0df1a57388b30562e4d52521e6f3912623d0f206a89",
                "md5": "f64dc6ea3b5366af65e31ff7872459da",
                "sha256": "a3c4df638ac5c2bde1d13e96514c043f975eb6f7431adfca27f991569018f5e3"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f64dc6ea3b5366af65e31ff7872459da",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2227167,
            "upload_time": "2024-03-19T15:54:32",
            "upload_time_iso_8601": "2024-03-19T15:54:32.527127Z",
            "url": "https://files.pythonhosted.org/packages/2a/85/e33262043c3fba4fb0df1a57388b30562e4d52521e6f3912623d0f206a89/pyamg-5.1.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02e6e6d5c22c783e5e33f7b1ec02ee0fcf61d1359f1554000a8e436f1520faa1",
                "md5": "4f058e590b51a521a7c164e80fe70575",
                "sha256": "b1f4e754ddfc22d391b7ef5b6909485fe1327159d131fb6b51c4a1bdf25cfe85"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "4f058e590b51a521a7c164e80fe70575",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1418053,
            "upload_time": "2024-03-19T15:54:34",
            "upload_time_iso_8601": "2024-03-19T15:54:34.926890Z",
            "url": "https://files.pythonhosted.org/packages/02/e6/e6d5c22c783e5e33f7b1ec02ee0fcf61d1359f1554000a8e436f1520faa1/pyamg-5.1.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33072a9c3deb7e59ea24bb5c5e9f6604c824e486274acb5a80fe0fcc4811b95a",
                "md5": "33bde3ec7b95924bcbfb2afde2fcba11",
                "sha256": "73860f5c831338c0440813770dbf42bb957c7d332235d2d9435359d0ab41fdcc"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "33bde3ec7b95924bcbfb2afde2fcba11",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1561795,
            "upload_time": "2024-03-19T15:54:36",
            "upload_time_iso_8601": "2024-03-19T15:54:36.611093Z",
            "url": "https://files.pythonhosted.org/packages/33/07/2a9c3deb7e59ea24bb5c5e9f6604c824e486274acb5a80fe0fcc4811b95a/pyamg-5.1.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a8da08cc530d7af00fb12dff1b7ec3f93be5ecf49ee256a1c50189c8023df65",
                "md5": "3fdd43ef8898b4b14123b613be56f606",
                "sha256": "0b8bdff27984852294904c4c7def8e755529445ef744da9274de4c3f00f85ea2"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "3fdd43ef8898b4b14123b613be56f606",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2504724,
            "upload_time": "2024-03-19T15:54:38",
            "upload_time_iso_8601": "2024-03-19T15:54:38.695517Z",
            "url": "https://files.pythonhosted.org/packages/6a/8d/a08cc530d7af00fb12dff1b7ec3f93be5ecf49ee256a1c50189c8023df65/pyamg-5.1.0-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d832b6912077f7dc62183422cee5fa791231bf698a34bb36b50bf5bb2ae11fb",
                "md5": "a2f2bcb61bf109046e94d2473420ef33",
                "sha256": "6e7e51aaeeb5fcc97bf1dd0a6ba148e9fc26feb1989e78ebeca940b63e6761c8"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a2f2bcb61bf109046e94d2473420ef33",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1673510,
            "upload_time": "2024-03-19T15:54:40",
            "upload_time_iso_8601": "2024-03-19T15:54:40.325335Z",
            "url": "https://files.pythonhosted.org/packages/7d/83/2b6912077f7dc62183422cee5fa791231bf698a34bb36b50bf5bb2ae11fb/pyamg-5.1.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c70479671aaea4394e352fdca8ffebe29847660798ea02b4a5f83d62fcf0dcba",
                "md5": "c385fb9f867e1c54a55c1c11553d05eb",
                "sha256": "6c1e2dd4821e43773247e23d16c935c33223fbb7bfb3023b97a0151ddff38c90"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c385fb9f867e1c54a55c1c11553d05eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1597519,
            "upload_time": "2024-03-19T15:54:42",
            "upload_time_iso_8601": "2024-03-19T15:54:42.689131Z",
            "url": "https://files.pythonhosted.org/packages/c7/04/79671aaea4394e352fdca8ffebe29847660798ea02b4a5f83d62fcf0dcba/pyamg-5.1.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25b26357df92d9f1404ebb7aa8404f5f7df7a4cba7d5c905d523a935f38f9fb3",
                "md5": "03e4aff35feebfb197f61de239bf4364",
                "sha256": "5473f3a7267543c3e88f0f9bf38d7a8e5a2d13702a088963c622941737ee84db"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "03e4aff35feebfb197f61de239bf4364",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1918412,
            "upload_time": "2024-03-19T15:54:44",
            "upload_time_iso_8601": "2024-03-19T15:54:44.338533Z",
            "url": "https://files.pythonhosted.org/packages/25/b2/6357df92d9f1404ebb7aa8404f5f7df7a4cba7d5c905d523a935f38f9fb3/pyamg-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "569e27676cb98fd296e8d6ec755aa947546d7fa664cdc2644edbf33512fc76ad",
                "md5": "664767ee1212d8e6db955f2743551c4c",
                "sha256": "bfdb7ccf4fff812d9335453b8794282c7bcb7ad01de7bfd0881377243c757859"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "664767ee1212d8e6db955f2743551c4c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2216904,
            "upload_time": "2024-03-19T15:54:45",
            "upload_time_iso_8601": "2024-03-19T15:54:45.846975Z",
            "url": "https://files.pythonhosted.org/packages/56/9e/27676cb98fd296e8d6ec755aa947546d7fa664cdc2644edbf33512fc76ad/pyamg-5.1.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e57209cf9b6398ca827c783db923d9f86071d19bf960fc80281a270836cb88b5",
                "md5": "51de7a85a07dd1cd1c8bb8df57b55158",
                "sha256": "a04259e8707befb333b9a0be0d2fe68966a284b2a95581c84a2472452767bf77"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "51de7a85a07dd1cd1c8bb8df57b55158",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1416789,
            "upload_time": "2024-03-19T15:54:47",
            "upload_time_iso_8601": "2024-03-19T15:54:47.421264Z",
            "url": "https://files.pythonhosted.org/packages/e5/72/09cf9b6398ca827c783db923d9f86071d19bf960fc80281a270836cb88b5/pyamg-5.1.0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "16a94a845b46c722ffd864a6623666bb5b62dabbc760a6b3674e8939550a1617",
                "md5": "79dd0457fb9fc9525865fef5685970b3",
                "sha256": "59dc814213ba6ca26b556fe010718cbbe4b08bb8964e140dc3e6327cbcc8dd88"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "79dd0457fb9fc9525865fef5685970b3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1560713,
            "upload_time": "2024-03-19T15:54:49",
            "upload_time_iso_8601": "2024-03-19T15:54:49.834281Z",
            "url": "https://files.pythonhosted.org/packages/16/a9/4a845b46c722ffd864a6623666bb5b62dabbc760a6b3674e8939550a1617/pyamg-5.1.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e7255875d5ce7e3dc5efed77b68ac2ebed9bccd5b54f37d3db8b177e5708e9e",
                "md5": "61496e248904499b5afc9f0369283ee2",
                "sha256": "638e6717dc14b8ff088c8aaec9261872fba7ca986c1403cfe5880d0687f06743"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "61496e248904499b5afc9f0369283ee2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2509279,
            "upload_time": "2024-03-19T15:54:52",
            "upload_time_iso_8601": "2024-03-19T15:54:52.175451Z",
            "url": "https://files.pythonhosted.org/packages/8e/72/55875d5ce7e3dc5efed77b68ac2ebed9bccd5b54f37d3db8b177e5708e9e/pyamg-5.1.0-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6cd13e4a88961ec1f7199da22c6e520e6cc25595bcace27e1609228039903ace",
                "md5": "dd2ba60e70681b9a152447f8df5de113",
                "sha256": "46e69b705b03ef55cf5fb63bc9afbdf8e9ee5c983826b78a60b25e833bf76242"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "dd2ba60e70681b9a152447f8df5de113",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1675598,
            "upload_time": "2024-03-19T15:54:53",
            "upload_time_iso_8601": "2024-03-19T15:54:53.883740Z",
            "url": "https://files.pythonhosted.org/packages/6c/d1/3e4a88961ec1f7199da22c6e520e6cc25595bcace27e1609228039903ace/pyamg-5.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2ab3399be00da30d9838ca1bd38988f4825d873b69e39d2dc87f155a75ff9a3",
                "md5": "8a2f6a151395895bd39a499cb49a9f52",
                "sha256": "ff2fe7ef6b3092c0f495ab8ff25355c5f8ef82cb05e5970f541955188522e146"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8a2f6a151395895bd39a499cb49a9f52",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1599843,
            "upload_time": "2024-03-19T15:54:55",
            "upload_time_iso_8601": "2024-03-19T15:54:55.887684Z",
            "url": "https://files.pythonhosted.org/packages/c2/ab/3399be00da30d9838ca1bd38988f4825d873b69e39d2dc87f155a75ff9a3/pyamg-5.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68a9aed9f557e7eb779d2cb4fa090663f8540979e0c04dadd16e9a0bdc9632c5",
                "md5": "24e1bba7526c597d2d401802e3764700",
                "sha256": "5817d4567fb240dab4779bb1630bbb3035b3827731fcdaeb9ecc9c8814319995"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "24e1bba7526c597d2d401802e3764700",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1922408,
            "upload_time": "2024-03-19T15:54:57",
            "upload_time_iso_8601": "2024-03-19T15:54:57.567475Z",
            "url": "https://files.pythonhosted.org/packages/68/a9/aed9f557e7eb779d2cb4fa090663f8540979e0c04dadd16e9a0bdc9632c5/pyamg-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25347a50668e90fc280658a1ea0c3809b612268fe3102db4c4fa7c197d51c575",
                "md5": "5f125a557787483fa2676429e46fd63a",
                "sha256": "991dc5031c14c6fda68334fac660fe5000ea039e991db211061771093ea9ece7"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5f125a557787483fa2676429e46fd63a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2220462,
            "upload_time": "2024-03-19T15:54:59",
            "upload_time_iso_8601": "2024-03-19T15:54:59.403843Z",
            "url": "https://files.pythonhosted.org/packages/25/34/7a50668e90fc280658a1ea0c3809b612268fe3102db4c4fa7c197d51c575/pyamg-5.1.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ca02efaad5cbd23ca60f908931eb809ad33629e4dc062be7f2a0f8e862a4047",
                "md5": "4d2e1f88b74f11271ca5dbc9ebe7424b",
                "sha256": "c5c43ea803595c31feda8ec00552432b1ca7c5754d99437c409db66a5f06fad9"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "4d2e1f88b74f11271ca5dbc9ebe7424b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1417619,
            "upload_time": "2024-03-19T15:55:02",
            "upload_time_iso_8601": "2024-03-19T15:55:02.729727Z",
            "url": "https://files.pythonhosted.org/packages/2c/a0/2efaad5cbd23ca60f908931eb809ad33629e4dc062be7f2a0f8e862a4047/pyamg-5.1.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2bd57094ba47bca2ce45dbb988450ac63dc7c89db7b61047fd4ed4aac2add86",
                "md5": "92b84db1bc1d12a13f9c4cae2c76768c",
                "sha256": "f89cbbeca79320c34b8f98aa80041112fa769dcef9c6ccc421b412cc276c33d8"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "92b84db1bc1d12a13f9c4cae2c76768c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1547602,
            "upload_time": "2024-03-19T15:55:04",
            "upload_time_iso_8601": "2024-03-19T15:55:04.682518Z",
            "url": "https://files.pythonhosted.org/packages/d2/bd/57094ba47bca2ce45dbb988450ac63dc7c89db7b61047fd4ed4aac2add86/pyamg-5.1.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0037bdc7f3d8622ff1a6e96ed62fe7d3a068bab62aafcf7cd434b065f62634ff",
                "md5": "c88cc0b50e4af3d997d5821023a7d118",
                "sha256": "f90f9de795b4e29589edd2eb446d11ddb466678ebe823ed329fcf35759ea390c"
            },
            "downloads": -1,
            "filename": "pyamg-5.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c88cc0b50e4af3d997d5821023a7d118",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 4145737,
            "upload_time": "2024-03-19T15:55:06",
            "upload_time_iso_8601": "2024-03-19T15:55:06.400443Z",
            "url": "https://files.pythonhosted.org/packages/00/37/bdc7f3d8622ff1a6e96ed62fe7d3a068bab62aafcf7cd434b065f62634ff/pyamg-5.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-19 15:55:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pyamg",
    "github_project": "pyamg",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.8.0"
                ]
            ]
        }
    ],
    "lcname": "pyamg"
}
        
Elapsed time: 0.23089s