ldpc


Nameldpc JSON
Version 2.3.9 PyPI version JSON
download
home_pageNone
SummaryLDPC: Python Tools for Low Density Parity Check Codes
upload_time2025-09-12 20:23:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT License Copyright (c) 2024 Joschka Roffe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## LDPC: Software for Decoding Classical and Quantum Codes

LDPC Version 2: A C++ rewrite of the `LDPCv1` package for decoding low density parity check checks.
Warning, whilst efforts have been made to provide backwards compatability with LDPCv1, the new version may introduce breaking changes.

## Documentation

The documentation for `LDPCv2` can be found [here](https://roffe.eu/software/ldpc)

## Installation

The easiest way to install the package is via pip. Python versions `>=3.9` are supported.

```pip install -U ldpc```

## Python - Installation from source

The C++ source code can be found in src_cpp. Python bindings are implemented using Cython and can be found in src/ldpc. To install the Python version of the repository follows the instructions below: 

- Download the repo.
- Navigate to the root.
- Pip install with `python>=3.8`.
Note: installation requires a `C` compiler. Eg. `gcc` on Linux or `clang` on Windows.

```
git clone git@github.com:quantumgizmos/ldpc_v2.git
cd ldpc
pip install -Ue .
```

## LDPCv1
If your package requires LDPCv1, this can be installed from PyPi as follows:

```pip install -U ldpc==0.1.60```

## New features

- A new C++ template class `GF2Sparse`. This is a more flexible implementation of the `mod2sparse` data structure used in the LDPCv1. This will make it much easier to expand the package.
- Serial schedules for the BP decoder.
- Run-time improvements for BP+OSD OSD-0. The decoder now implements the fast-syndrome OSD-0 implementation (https://arxiv.org/abs/1904.02703), where Gaussian elimination is terminated as soon as the syndrome becomes linearly dependent on the reduced columns.
- BP+LSD: Belief propagation plus localised statistics decoding. A parallel decoding algorithm that matches the perforance of BP+OSD. Note that the version implemented currenlty runs in serial. We are working on the parallel version! See our paper: https://arxiv.org/abs/2406.18655
- The union-find matching decoder (https://arxiv.org/abs/1709.06218). This is an implementation of the Delfosse-Nickerson union-find decoder that is suitable for decoding surface codes and other codes with "matchable" syndromes.
- The BeliefFind decoder. A decoder that first runs belief propagation, and falls back on union-find if if the BP decoder fails to converge as proposed by Oscar Higgott in https://arxiv.org/abs/2203.04948
- Flip and P-flip decoders as introduced by Thomas Scruby in https://arxiv.org/abs/2212.06985.
- Improved GF2 linear algebra routines (useful for computing code parameters)

## ToDos

`LDPCv2` is still a work in progress. Ongoing projects are listed below:
- Implement parallel version of BP+LSD algorithm using OpenMP.
- Improve support for parallel processing across the package.
- More decoders could be implemented (eg. small set-flip, https://arxiv.org/abs/1810.03681)
- Stabiliser inactivation BP (https://arxiv.org/abs/2205.06125)
- Generalised BP (https://arxiv.org/abs/2212.03214)
- Functions need to be properly documented (in progress)
- Further STIM integration
- More functionality for studying classical codes. Eg. support for received vector decoding and the AWGN noise channel.

## BP+LSD Quickstart

Usage of the new BP+LSD decoder from https://arxiv.org/abs/2406.18655. Similar to BP+OSD, the LSD decoder can be applied to any parity check matrix. We recommend you start with `lsd_order=0`. The speed/accuracy trade-off for higher order values can be explored from there. Example below:

```python
import numpy as np
import ldpc.codes
from ldpc.bplsd_decoder import BpLsdDecoder

H = ldpc.codes.hamming_code(5)

## The
bp_osd = BpLsdDecoder(
            H,
            error_rate = 0.1,
            bp_method = 'product_sum',
            max_iter = 2,
            schedule = 'serial',
            lsd_method = 'lsd_cs',
            lsd_order = 0
        )

syndrome = np.random.randint(size=H.shape[0], low=0, high=2).astype(np.uint8)

print(f"Syndrome: {syndrome}")
decoding = bp_osd.decode(syndrome)
print(f"Decoding: {decoding}")
decoding_syndrome = H@decoding % 2
print(f"Decoding syndrome: {decoding_syndrome}")
``` 

## Attribution

If you use this software in your research please cite as follows:

```
@software{Roffe_LDPC_Python_tools_2022,
author = {Roffe, Joschka},
title = {{LDPC: Python tools for low density parity check codes}},
url = {https://pypi.org/project/ldpc/},
year = {2022}
}
```

If you have used the BP+OSD class for quantum error correction, please also cite the following paper:

```
@article{roffe_decoding_2020,
   title={Decoding across the quantum low-density parity-check code landscape},
   volume={2},
   ISSN={2643-1564},
   url={http://dx.doi.org/10.1103/PhysRevResearch.2.043423},
   DOI={10.1103/physrevresearch.2.043423},
   number={4},
   journal={Physical Review Research},
   publisher={American Physical Society (APS)},
   author={Roffe, Joschka and White, David R. and Burton, Simon and Campbell, Earl},
   year={2020},
   month={Dec}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ldpc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Joschka Roffe <joschka@roffe.eu>",
    "download_url": "https://files.pythonhosted.org/packages/bc/a2/036259b5f079fdb854f6e6b260757705c678cb2e87d3808c35865ad4960f/ldpc-2.3.9.tar.gz",
    "platform": null,
    "description": "## LDPC: Software for Decoding Classical and Quantum Codes\n\nLDPC Version 2: A C++ rewrite of the `LDPCv1` package for decoding low density parity check checks.\nWarning, whilst efforts have been made to provide backwards compatability with LDPCv1, the new version may introduce breaking changes.\n\n## Documentation\n\nThe documentation for `LDPCv2` can be found [here](https://roffe.eu/software/ldpc)\n\n## Installation\n\nThe easiest way to install the package is via pip. Python versions `>=3.9` are supported.\n\n```pip install -U ldpc```\n\n## Python - Installation from source\n\nThe C++ source code can be found in src_cpp. Python bindings are implemented using Cython and can be found in src/ldpc. To install the Python version of the repository follows the instructions below: \n\n- Download the repo.\n- Navigate to the root.\n- Pip install with `python>=3.8`.\nNote: installation requires a `C` compiler. Eg. `gcc` on Linux or `clang` on Windows.\n\n```\ngit clone git@github.com:quantumgizmos/ldpc_v2.git\ncd ldpc\npip install -Ue .\n```\n\n## LDPCv1\nIf your package requires LDPCv1, this can be installed from PyPi as follows:\n\n```pip install -U ldpc==0.1.60```\n\n## New features\n\n- A new C++ template class `GF2Sparse`. This is a more flexible implementation of the `mod2sparse` data structure used in the LDPCv1. This will make it much easier to expand the package.\n- Serial schedules for the BP decoder.\n- Run-time improvements for BP+OSD OSD-0. The decoder now implements the fast-syndrome OSD-0 implementation (https://arxiv.org/abs/1904.02703), where Gaussian elimination is terminated as soon as the syndrome becomes linearly dependent on the reduced columns.\n- BP+LSD: Belief propagation plus localised statistics decoding. A parallel decoding algorithm that matches the perforance of BP+OSD. Note that the version implemented currenlty runs in serial. We are working on the parallel version! See our paper: https://arxiv.org/abs/2406.18655\n- The union-find matching decoder (https://arxiv.org/abs/1709.06218). This is an implementation of the Delfosse-Nickerson union-find decoder that is suitable for decoding surface codes and other codes with \"matchable\" syndromes.\n- The BeliefFind decoder. A decoder that first runs belief propagation, and falls back on union-find if if the BP decoder fails to converge as proposed by Oscar Higgott in https://arxiv.org/abs/2203.04948\n- Flip and P-flip decoders as introduced by Thomas Scruby in https://arxiv.org/abs/2212.06985.\n- Improved GF2 linear algebra routines (useful for computing code parameters)\n\n## ToDos\n\n`LDPCv2` is still a work in progress. Ongoing projects are listed below:\n- Implement parallel version of BP+LSD algorithm using OpenMP.\n- Improve support for parallel processing across the package.\n- More decoders could be implemented (eg. small set-flip, https://arxiv.org/abs/1810.03681)\n- Stabiliser inactivation BP (https://arxiv.org/abs/2205.06125)\n- Generalised BP (https://arxiv.org/abs/2212.03214)\n- Functions need to be properly documented (in progress)\n- Further STIM integration\n- More functionality for studying classical codes. Eg. support for received vector decoding and the AWGN noise channel.\n\n## BP+LSD Quickstart\n\nUsage of the new BP+LSD decoder from https://arxiv.org/abs/2406.18655. Similar to BP+OSD, the LSD decoder can be applied to any parity check matrix. We recommend you start with `lsd_order=0`. The speed/accuracy trade-off for higher order values can be explored from there. Example below:\n\n```python\nimport numpy as np\nimport ldpc.codes\nfrom ldpc.bplsd_decoder import BpLsdDecoder\n\nH = ldpc.codes.hamming_code(5)\n\n## The\nbp_osd = BpLsdDecoder(\n            H,\n            error_rate = 0.1,\n            bp_method = 'product_sum',\n            max_iter = 2,\n            schedule = 'serial',\n            lsd_method = 'lsd_cs',\n            lsd_order = 0\n        )\n\nsyndrome = np.random.randint(size=H.shape[0], low=0, high=2).astype(np.uint8)\n\nprint(f\"Syndrome: {syndrome}\")\ndecoding = bp_osd.decode(syndrome)\nprint(f\"Decoding: {decoding}\")\ndecoding_syndrome = H@decoding % 2\nprint(f\"Decoding syndrome: {decoding_syndrome}\")\n``` \n\n## Attribution\n\nIf you use this software in your research please cite as follows:\n\n```\n@software{Roffe_LDPC_Python_tools_2022,\nauthor = {Roffe, Joschka},\ntitle = {{LDPC: Python tools for low density parity check codes}},\nurl = {https://pypi.org/project/ldpc/},\nyear = {2022}\n}\n```\n\nIf you have used the BP+OSD class for quantum error correction, please also cite the following paper:\n\n```\n@article{roffe_decoding_2020,\n   title={Decoding across the quantum low-density parity-check code landscape},\n   volume={2},\n   ISSN={2643-1564},\n   url={http://dx.doi.org/10.1103/PhysRevResearch.2.043423},\n   DOI={10.1103/physrevresearch.2.043423},\n   number={4},\n   journal={Physical Review Research},\n   publisher={American Physical Society (APS)},\n   author={Roffe, Joschka and White, David R. and Burton, Simon and Campbell, Earl},\n   year={2020},\n   month={Dec}\n}\n```\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2024 Joschka Roffe\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ",
    "summary": "LDPC: Python Tools for Low Density Parity Check Codes",
    "version": "2.3.9",
    "project_urls": {
        "Documentation": "https://software.roffe.eu/ldpc"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "711507d7e107e2319dfd8f5305d834607db765ce7fa5480873c554e321c568c2",
                "md5": "8e6f29a255feb5db2a843fe9e6ed7819",
                "sha256": "7841c8d6fad2cb82aa5b7119f4286b5ab67a8ba16d7c7e813f1203ed09ed0647"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8e6f29a255feb5db2a843fe9e6ed7819",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 1808780,
            "upload_time": "2025-09-12T20:22:57",
            "upload_time_iso_8601": "2025-09-12T20:22:57.554673Z",
            "url": "https://files.pythonhosted.org/packages/71/15/07d7e107e2319dfd8f5305d834607db765ce7fa5480873c554e321c568c2/ldpc-2.3.9-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "572692737802558f96fb6c9b4f6bf97aab64c1d020cf13d59a4fec31217d6409",
                "md5": "c0c4c5867823877b518a3d9d7a22eed5",
                "sha256": "7235274c1e9731dbe38b5df12a49bd1b4e0acef8965116118b5e955ba86b91ef"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c0c4c5867823877b518a3d9d7a22eed5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 1769779,
            "upload_time": "2025-09-12T20:22:59",
            "upload_time_iso_8601": "2025-09-12T20:22:59.745688Z",
            "url": "https://files.pythonhosted.org/packages/57/26/92737802558f96fb6c9b4f6bf97aab64c1d020cf13d59a4fec31217d6409/ldpc-2.3.9-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fb9b0f135b101ee8fe1ee054ad8ea5eb05744b320b67363e354ef08cfc88afe5",
                "md5": "c9ea2ea4a549bbef8b2f6b9824bf5729",
                "sha256": "8a9c39e26d38e4ce271a6e8d54ad288f357ae138df3cb3e3c28de1e12e68447b"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c9ea2ea4a549bbef8b2f6b9824bf5729",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 8223261,
            "upload_time": "2025-09-12T20:23:01",
            "upload_time_iso_8601": "2025-09-12T20:23:01.574497Z",
            "url": "https://files.pythonhosted.org/packages/fb/9b/0f135b101ee8fe1ee054ad8ea5eb05744b320b67363e354ef08cfc88afe5/ldpc-2.3.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc22808d639cbd3209c24372969a33638f35c401b69742489904f18f25ab1a0f",
                "md5": "acfd14e55b5eb185f74bad451dc53c55",
                "sha256": "5b8d7d4d655372799cea1afc027f8c8714f2f4b59913f8ac7e748e642723a2da"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "acfd14e55b5eb185f74bad451dc53c55",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 1696370,
            "upload_time": "2025-09-12T20:23:03",
            "upload_time_iso_8601": "2025-09-12T20:23:03.296488Z",
            "url": "https://files.pythonhosted.org/packages/cc/22/808d639cbd3209c24372969a33638f35c401b69742489904f18f25ab1a0f/ldpc-2.3.9-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63d0e01e3144ab6c2042e10f21ca9f8bc4011d863c0288b8eb7774c4dc8f6d2e",
                "md5": "07e19b7160002636a3a482aadf2da7cb",
                "sha256": "a077559b601745dc2af96178f11589bcd97e4077194f0d3a00592a702cec91a1"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "07e19b7160002636a3a482aadf2da7cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 1809829,
            "upload_time": "2025-09-12T20:23:04",
            "upload_time_iso_8601": "2025-09-12T20:23:04.473833Z",
            "url": "https://files.pythonhosted.org/packages/63/d0/e01e3144ab6c2042e10f21ca9f8bc4011d863c0288b8eb7774c4dc8f6d2e/ldpc-2.3.9-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cf3e385c2cfd08a56cf7732895526b1121692d3cbd2821a28a985f589576e795",
                "md5": "e1fae5909f32165c77f8ef9fa49fbd25",
                "sha256": "11bf2a0ce2ccd64cfb246f7fed5941d0bf07b567fa0a5996cf3a071901d8f42c"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e1fae5909f32165c77f8ef9fa49fbd25",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 1771445,
            "upload_time": "2025-09-12T20:23:06",
            "upload_time_iso_8601": "2025-09-12T20:23:06.387660Z",
            "url": "https://files.pythonhosted.org/packages/cf/3e/385c2cfd08a56cf7732895526b1121692d3cbd2821a28a985f589576e795/ldpc-2.3.9-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "184170b549a1598efec38aba11cbfec6599d3681ef27bc552bb5eae75f9a378f",
                "md5": "d8a8dc63f285bba4401d68208743e8d2",
                "sha256": "2a125ed8ecab2a72ccee72de9f1c8f1b5cd44aef5f530067facb47ea00371e3c"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d8a8dc63f285bba4401d68208743e8d2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 8348038,
            "upload_time": "2025-09-12T20:23:07",
            "upload_time_iso_8601": "2025-09-12T20:23:07.893353Z",
            "url": "https://files.pythonhosted.org/packages/18/41/70b549a1598efec38aba11cbfec6599d3681ef27bc552bb5eae75f9a378f/ldpc-2.3.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a80af1536bff334eb96362df29a068c8893da307fa46f32941cbc6fcb6846b1b",
                "md5": "d6d43430905e458d75fa5a18af398451",
                "sha256": "45e4a4fb9dbd1475a6cf514fa50366d6128351e9e1efdd6e4386d4d63c564e7a"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d6d43430905e458d75fa5a18af398451",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 1696150,
            "upload_time": "2025-09-12T20:23:09",
            "upload_time_iso_8601": "2025-09-12T20:23:09.551821Z",
            "url": "https://files.pythonhosted.org/packages/a8/0a/f1536bff334eb96362df29a068c8893da307fa46f32941cbc6fcb6846b1b/ldpc-2.3.9-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b91dec8763dc7c644ada92705af3f297b8d88b5630b8c4042eeb5768c09a8079",
                "md5": "fb67c49174af4961f1d99cf4b06551d8",
                "sha256": "affac59251550d14f7c755636369fb9472e074326f86db8cc12276058cb595ee"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fb67c49174af4961f1d99cf4b06551d8",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 1808842,
            "upload_time": "2025-09-12T20:23:11",
            "upload_time_iso_8601": "2025-09-12T20:23:11.244519Z",
            "url": "https://files.pythonhosted.org/packages/b9/1d/ec8763dc7c644ada92705af3f297b8d88b5630b8c4042eeb5768c09a8079/ldpc-2.3.9-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f1fa80f51d0d0aa49db6384e55eb9e309c71d81101f74e795e2d38c8d7c74a44",
                "md5": "67745b1369cfe7d7de556ab6b38d7a0b",
                "sha256": "886fdfeb517a64422a60341bbb8603b3910829ae4968d3c421be560abc69a2ee"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "67745b1369cfe7d7de556ab6b38d7a0b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 1768129,
            "upload_time": "2025-09-12T20:23:12",
            "upload_time_iso_8601": "2025-09-12T20:23:12.805075Z",
            "url": "https://files.pythonhosted.org/packages/f1/fa/80f51d0d0aa49db6384e55eb9e309c71d81101f74e795e2d38c8d7c74a44/ldpc-2.3.9-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f07a1cc366e5d75d7da98427aca8fc90ff3625e762c6d296cf26ac8922797d2",
                "md5": "b395582cacdc96c41292067fb510be44",
                "sha256": "138f46987420a9c2768478fbd43a52301b8d5191e34d2e0638fd2b0456656bf9"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b395582cacdc96c41292067fb510be44",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 8264544,
            "upload_time": "2025-09-12T20:23:14",
            "upload_time_iso_8601": "2025-09-12T20:23:14.213579Z",
            "url": "https://files.pythonhosted.org/packages/0f/07/a1cc366e5d75d7da98427aca8fc90ff3625e762c6d296cf26ac8922797d2/ldpc-2.3.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a08e3c2876a8269d39b18af44d3761e8c6bdcb120eae347f647d9e4c3523bcba",
                "md5": "fe27cebbd3cf7357471bbcdfb61be2ec",
                "sha256": "44254c809e60dabf3c168b0dfbf94083ffe83175d052efc87e3bb528f6b8962e"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fe27cebbd3cf7357471bbcdfb61be2ec",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 1690591,
            "upload_time": "2025-09-12T20:23:15",
            "upload_time_iso_8601": "2025-09-12T20:23:15.887421Z",
            "url": "https://files.pythonhosted.org/packages/a0/8e/3c2876a8269d39b18af44d3761e8c6bdcb120eae347f647d9e4c3523bcba/ldpc-2.3.9-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "badc80c0171d9cd4fa36d7a9fcd5c842b2c0564958ed1232ed9f644572dd93c4",
                "md5": "1634f5251ab5b197e699cdb8fbf8a004",
                "sha256": "e68b2acf0156a8eebe143647cfcd47a8b9325ad911ca73654f518e64b894a89e"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1634f5251ab5b197e699cdb8fbf8a004",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 1801612,
            "upload_time": "2025-09-12T20:23:17",
            "upload_time_iso_8601": "2025-09-12T20:23:17.053085Z",
            "url": "https://files.pythonhosted.org/packages/ba/dc/80c0171d9cd4fa36d7a9fcd5c842b2c0564958ed1232ed9f644572dd93c4/ldpc-2.3.9-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8a82b505dbff10fbf8658d1e1366abe8d029b8cf3e9de08299b8ae0b0a1e078e",
                "md5": "3694a3a5787d29d9dd5a4ce8a38c46ee",
                "sha256": "6ebeac11c917480d92a6d1480652bb454beff2e41d12c05d77419cff40cf1cbd"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3694a3a5787d29d9dd5a4ce8a38c46ee",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 1761076,
            "upload_time": "2025-09-12T20:23:18",
            "upload_time_iso_8601": "2025-09-12T20:23:18.278942Z",
            "url": "https://files.pythonhosted.org/packages/8a/82/b505dbff10fbf8658d1e1366abe8d029b8cf3e9de08299b8ae0b0a1e078e/ldpc-2.3.9-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "af6c6c244dd7bb199cf31bbc260669fcbe96c23bbe18f0970cdf0312b2f4cc42",
                "md5": "e01d1c641868107a549bf6ebe74ac6de",
                "sha256": "7fefe84a19045cbfcc70a8f4f140e894a6155596f37536401a98cc000b03d917"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e01d1c641868107a549bf6ebe74ac6de",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 8247482,
            "upload_time": "2025-09-12T20:23:19",
            "upload_time_iso_8601": "2025-09-12T20:23:19.503188Z",
            "url": "https://files.pythonhosted.org/packages/af/6c/6c244dd7bb199cf31bbc260669fcbe96c23bbe18f0970cdf0312b2f4cc42/ldpc-2.3.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6022fdd345c0c8877774141b9c0e4cae88e5e8e6569cbd85851054a5603b9993",
                "md5": "4e234fc238d8376534d9b4bdface363d",
                "sha256": "9dda25aec4450e577d48fa1842a464a4cc33c7abe95eeb9eab30cd4ec4df53bd"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4e234fc238d8376534d9b4bdface363d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 1688349,
            "upload_time": "2025-09-12T20:23:20",
            "upload_time_iso_8601": "2025-09-12T20:23:20.756801Z",
            "url": "https://files.pythonhosted.org/packages/60/22/fdd345c0c8877774141b9c0e4cae88e5e8e6569cbd85851054a5603b9993/ldpc-2.3.9-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "759eb65e33716e208892f17dcc82ca968d8881c57ae9aa6e5e2c54142ca93b75",
                "md5": "24989c5bb902777343b15d497ece9be9",
                "sha256": "0c472c18c61e556393887e489b26778f18642bd17227baa2c5b82cfc35030b4f"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "24989c5bb902777343b15d497ece9be9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 1811992,
            "upload_time": "2025-09-12T20:23:21",
            "upload_time_iso_8601": "2025-09-12T20:23:21.842340Z",
            "url": "https://files.pythonhosted.org/packages/75/9e/b65e33716e208892f17dcc82ca968d8881c57ae9aa6e5e2c54142ca93b75/ldpc-2.3.9-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c3d310e9c93bff33df97628064eca45f838571b8e9b91f151f7f67d1faf262ab",
                "md5": "5f9d8aab04c02a2564b2814dd126f16c",
                "sha256": "5b1dc27855adce237b338e4e4db4a47da7ebb9ca6585fd071fa8e8ee8ebef54d"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5f9d8aab04c02a2564b2814dd126f16c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 1773187,
            "upload_time": "2025-09-12T20:23:22",
            "upload_time_iso_8601": "2025-09-12T20:23:22.956887Z",
            "url": "https://files.pythonhosted.org/packages/c3/d3/10e9c93bff33df97628064eca45f838571b8e9b91f151f7f67d1faf262ab/ldpc-2.3.9-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f2087d141916ca1b80a61d5a525332c8b5c1d5df8dc8a5cb7510308fd013351",
                "md5": "bfcb8d9ab77d2f29e0fe75ea8fbf3a6f",
                "sha256": "a5dd6311ac6fb3b25fa0b003ac378bcd0387cae842721640962e8f5cd5bd9569"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bfcb8d9ab77d2f29e0fe75ea8fbf3a6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 8216607,
            "upload_time": "2025-09-12T20:23:24",
            "upload_time_iso_8601": "2025-09-12T20:23:24.289844Z",
            "url": "https://files.pythonhosted.org/packages/0f/20/87d141916ca1b80a61d5a525332c8b5c1d5df8dc8a5cb7510308fd013351/ldpc-2.3.9-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ce326773d05e0a6b2a52ced07654fd847b9e6bbf2f3d02cc4a52aa08c598a058",
                "md5": "1a927e793c2706a5fddcc769915e979a",
                "sha256": "3054290e411e35ada309d73db856dbec86b9205648e8591e3b49a759a2493b83"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1a927e793c2706a5fddcc769915e979a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 1699047,
            "upload_time": "2025-09-12T20:23:25",
            "upload_time_iso_8601": "2025-09-12T20:23:25.592096Z",
            "url": "https://files.pythonhosted.org/packages/ce/32/6773d05e0a6b2a52ced07654fd847b9e6bbf2f3d02cc4a52aa08c598a058/ldpc-2.3.9-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bca2036259b5f079fdb854f6e6b260757705c678cb2e87d3808c35865ad4960f",
                "md5": "a3342f2e623a61698cfd1a7faf3d7a26",
                "sha256": "78210240e3a8182ce41e6cdf9af3020ea3bdf0e06683a752f56cc9915005e578"
            },
            "downloads": -1,
            "filename": "ldpc-2.3.9.tar.gz",
            "has_sig": false,
            "md5_digest": "a3342f2e623a61698cfd1a7faf3d7a26",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 1038072,
            "upload_time": "2025-09-12T20:23:26",
            "upload_time_iso_8601": "2025-09-12T20:23:26.700403Z",
            "url": "https://files.pythonhosted.org/packages/bc/a2/036259b5f079fdb854f6e6b260757705c678cb2e87d3808c35865ad4960f/ldpc-2.3.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-12 20:23:26",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "ldpc"
}
        
Elapsed time: 2.51085s