nh3


Namenh3 JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryPython binding to Ammonia HTML sanitizer Rust crate
upload_time2025-07-17 14:43:37
maintainerNone
docs_urlNone
authormessense <messense@icloud.com>
requires_python>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # nh3

![CI](https://github.com/messense/nh3/workflows/CI/badge.svg)
[![PyPI](https://img.shields.io/pypi/v/nh3.svg)](https://pypi.org/project/nh3)
[![Documentation Status](https://readthedocs.org/projects/nh3/badge/?version=latest)](https://nh3.readthedocs.io/en/latest/?badge=latest)

Python bindings to the [ammonia](https://github.com/rust-ammonia/ammonia) HTML sanitization library.

## Installation

```bash
pip install nh3
```

## Usage

See [the documentation](https://nh3.readthedocs.io/en/latest/).

## Performance

A quick benchmark showing that nh3 is about 20 times faster than the deprecated [bleach](https://pypi.org/project/bleach/) package.
Measured on a MacBook Air (M2, 2022).

```ipython
Python 3.11.0 (main, Oct 25 2022, 16:25:24) [Clang 14.0.0 (clang-1400.0.29.102)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.9.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import requests

In [2]: import bleach

In [3]: import nh3

In [4]: html = requests.get("https://www.google.com").text

In [5]: %timeit bleach.clean(html)
2.85 ms ± 22.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [6]: %timeit nh3.clean(html)
138 µs ± 860 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
```

## License

This work is released under the MIT license. A copy of the license is provided in the [LICENSE](./LICENSE) file.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nh3",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "messense <messense@icloud.com>",
    "author_email": "messense <messense@icloud.com>",
    "download_url": "https://files.pythonhosted.org/packages/c3/a4/96cff0977357f60f06ec4368c4c7a7a26cccfe7c9fcd54f5378bf0428fd3/nh3-0.3.0.tar.gz",
    "platform": null,
    "description": "# nh3\n\n![CI](https://github.com/messense/nh3/workflows/CI/badge.svg)\n[![PyPI](https://img.shields.io/pypi/v/nh3.svg)](https://pypi.org/project/nh3)\n[![Documentation Status](https://readthedocs.org/projects/nh3/badge/?version=latest)](https://nh3.readthedocs.io/en/latest/?badge=latest)\n\nPython bindings to the [ammonia](https://github.com/rust-ammonia/ammonia) HTML sanitization library.\n\n## Installation\n\n```bash\npip install nh3\n```\n\n## Usage\n\nSee [the documentation](https://nh3.readthedocs.io/en/latest/).\n\n## Performance\n\nA quick benchmark showing that nh3 is about 20 times faster than the deprecated [bleach](https://pypi.org/project/bleach/) package.\nMeasured on a MacBook Air (M2, 2022).\n\n```ipython\nPython 3.11.0 (main, Oct 25 2022, 16:25:24) [Clang 14.0.0 (clang-1400.0.29.102)]\nType 'copyright', 'credits' or 'license' for more information\nIPython 8.9.0 -- An enhanced Interactive Python. Type '?' for help.\n\nIn [1]: import requests\n\nIn [2]: import bleach\n\nIn [3]: import nh3\n\nIn [4]: html = requests.get(\"https://www.google.com\").text\n\nIn [5]: %timeit bleach.clean(html)\n2.85 ms \u00b1 22.8 \u00b5s per loop (mean \u00b1 std. dev. of 7 runs, 100 loops each)\n\nIn [6]: %timeit nh3.clean(html)\n138 \u00b5s \u00b1 860 ns per loop (mean \u00b1 std. dev. of 7 runs, 10,000 loops each)\n```\n\n## License\n\nThis work is released under the MIT license. A copy of the license is provided in the [LICENSE](./LICENSE) file.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python binding to Ammonia HTML sanitizer Rust crate",
    "version": "0.3.0",
    "project_urls": {
        "Source Code": "https://github.com/messense/nh3"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b411340b7a551916a4b2b68c54799d710f86cf3838a4abaad8e74d35360343bb",
                "md5": "391b271a8f7f52dc6c0d8bdbb7fded94",
                "sha256": "a537ece1bf513e5a88d8cff8a872e12fe8d0f42ef71dd15a5e7520fecd191bbb"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "391b271a8f7f52dc6c0d8bdbb7fded94",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 1427992,
            "upload_time": "2025-07-17T14:43:06",
            "upload_time_iso_8601": "2025-07-17T14:43:06.848446Z",
            "url": "https://files.pythonhosted.org/packages/b4/11/340b7a551916a4b2b68c54799d710f86cf3838a4abaad8e74d35360343bb/nh3-0.3.0-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad7f7c6b8358cf1222921747844ab0eef81129e9970b952fcb814df417159fb9",
                "md5": "525001ee876db5f1445a62cca8bd7d85",
                "sha256": "7c915060a2c8131bef6a29f78debc29ba40859b6dbe2362ef9e5fd44f11487c2"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "525001ee876db5f1445a62cca8bd7d85",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 798194,
            "upload_time": "2025-07-17T14:43:08",
            "upload_time_iso_8601": "2025-07-17T14:43:08.263509Z",
            "url": "https://files.pythonhosted.org/packages/ad/7f/7c6b8358cf1222921747844ab0eef81129e9970b952fcb814df417159fb9/nh3-0.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63dac5fd472b700ba37d2df630a9e0d8cc156033551ceb8b4c49cc8a5f606b68",
                "md5": "75fcfb89bdab1f94c99eb25300b3dd67",
                "sha256": "ba0caa8aa184196daa6e574d997a33867d6d10234018012d35f86d46024a2a95"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "75fcfb89bdab1f94c99eb25300b3dd67",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 837884,
            "upload_time": "2025-07-17T14:43:09",
            "upload_time_iso_8601": "2025-07-17T14:43:09.233182Z",
            "url": "https://files.pythonhosted.org/packages/63/da/c5fd472b700ba37d2df630a9e0d8cc156033551ceb8b4c49cc8a5f606b68/nh3-0.3.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4c3ccba7b26ccc0ef150c81646478aa32f9c9535234f54845603c838a1dc955c",
                "md5": "83a18be265ea4d73afb83a7ea107d073",
                "sha256": "80fe20171c6da69c7978ecba33b638e951b85fb92059259edd285ff108b82a6d"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "83a18be265ea4d73afb83a7ea107d073",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 996365,
            "upload_time": "2025-07-17T14:43:10",
            "upload_time_iso_8601": "2025-07-17T14:43:10.243759Z",
            "url": "https://files.pythonhosted.org/packages/4c/3c/cba7b26ccc0ef150c81646478aa32f9c9535234f54845603c838a1dc955c/nh3-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f3ba59e204d90727c25b253856e456ea61265ca810cda8ee802c35f3fadaab00",
                "md5": "fc8f7967eee9c1ebf4f01e32ee01fa14",
                "sha256": "e90883f9f85288f423c77b3f5a6f4486375636f25f793165112679a7b6363b35"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "fc8f7967eee9c1ebf4f01e32ee01fa14",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 1071042,
            "upload_time": "2025-07-17T14:43:11",
            "upload_time_iso_8601": "2025-07-17T14:43:11.570656Z",
            "url": "https://files.pythonhosted.org/packages/f3/ba/59e204d90727c25b253856e456ea61265ca810cda8ee802c35f3fadaab00/nh3-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "10712fb1834c10fab6d9291d62c95192ea2f4c7518bd32ad6c46aab5d095cb87",
                "md5": "90d4d5e604b443723e8ee1f2243856ec",
                "sha256": "0649464ac8eee018644aacbc103874ccbfac80e3035643c3acaab4287e36e7f5"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "90d4d5e604b443723e8ee1f2243856ec",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 995737,
            "upload_time": "2025-07-17T14:43:12",
            "upload_time_iso_8601": "2025-07-17T14:43:12.659983Z",
            "url": "https://files.pythonhosted.org/packages/10/71/2fb1834c10fab6d9291d62c95192ea2f4c7518bd32ad6c46aab5d095cb87/nh3-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "33c18f8ccc2492a000b6156dce68a43253fcff8b4ce70ab4216d08f90a2ac998",
                "md5": "9f369ab884d4e59b38476e3cc554893a",
                "sha256": "1adeb1062a1c2974bc75b8d1ecb014c5fd4daf2df646bbe2831f7c23659793f9"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9f369ab884d4e59b38476e3cc554893a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 980552,
            "upload_time": "2025-07-17T14:43:13",
            "upload_time_iso_8601": "2025-07-17T14:43:13.763376Z",
            "url": "https://files.pythonhosted.org/packages/33/c1/8f8ccc2492a000b6156dce68a43253fcff8b4ce70ab4216d08f90a2ac998/nh3-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2fd6f1c6e091cbe8700401c736c2bc3980c46dca770a2cf6a3b48a175114058e",
                "md5": "7e2b1deb1c0ba2ffbbe4b07bbfc8abae",
                "sha256": "7275fdffaab10cc5801bf026e3c089d8de40a997afc9e41b981f7ac48c5aa7d5"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-win32.whl",
            "has_sig": false,
            "md5_digest": "7e2b1deb1c0ba2ffbbe4b07bbfc8abae",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 593618,
            "upload_time": "2025-07-17T14:43:15",
            "upload_time_iso_8601": "2025-07-17T14:43:15.098922Z",
            "url": "https://files.pythonhosted.org/packages/2f/d6/f1c6e091cbe8700401c736c2bc3980c46dca770a2cf6a3b48a175114058e/nh3-0.3.0-cp313-cp313t-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "231e80a8c517655dd40bb13363fc4d9e66b2f13245763faab1a20f1df67165a7",
                "md5": "167999c3fd6f5798d36a7ac33e119c11",
                "sha256": "423201bbdf3164a9e09aa01e540adbb94c9962cc177d5b1cbb385f5e1e79216e"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "167999c3fd6f5798d36a7ac33e119c11",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 598948,
            "upload_time": "2025-07-17T14:43:16",
            "upload_time_iso_8601": "2025-07-17T14:43:16.064526Z",
            "url": "https://files.pythonhosted.org/packages/23/1e/80a8c517655dd40bb13363fc4d9e66b2f13245763faab1a20f1df67165a7/nh3-0.3.0-cp313-cp313t-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9ae0af86d2a974c87a4ba7f19bc3b44a8eaa3da480de264138fec82fe17b340b",
                "md5": "fead3dcf2128c7518c1c91ada80810fb",
                "sha256": "16f8670201f7e8e0e05ed1a590eb84bfa51b01a69dd5caf1d3ea57733de6a52f"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp313-cp313t-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "fead3dcf2128c7518c1c91ada80810fb",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 580479,
            "upload_time": "2025-07-17T14:43:17",
            "upload_time_iso_8601": "2025-07-17T14:43:17.038394Z",
            "url": "https://files.pythonhosted.org/packages/9a/e0/af86d2a974c87a4ba7f19bc3b44a8eaa3da480de264138fec82fe17b340b/nh3-0.3.0-cp313-cp313t-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0ce0cf1543e798ba86d838952e8be4cb8d18e22999be2a24b112a671f1c04fd6",
                "md5": "e78aa5e329265ca6409c2167df661c9d",
                "sha256": "ec6cfdd2e0399cb79ba4dcffb2332b94d9696c52272ff9d48a630c5dca5e325a"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "e78aa5e329265ca6409c2167df661c9d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1442218,
            "upload_time": "2025-07-17T14:43:18",
            "upload_time_iso_8601": "2025-07-17T14:43:18.087965Z",
            "url": "https://files.pythonhosted.org/packages/0c/e0/cf1543e798ba86d838952e8be4cb8d18e22999be2a24b112a671f1c04fd6/nh3-0.3.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5c86a96b1453c107b815f9ab8fac5412407c33cc5c7580a4daf57aabeb41b774",
                "md5": "2303ae20fbd1acd9d8fece9531d10e93",
                "sha256": "ce5e7185599f89b0e391e2f29cc12dc2e206167380cea49b33beda4891be2fe1"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2303ae20fbd1acd9d8fece9531d10e93",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 823791,
            "upload_time": "2025-07-17T14:43:19",
            "upload_time_iso_8601": "2025-07-17T14:43:19.721637Z",
            "url": "https://files.pythonhosted.org/packages/5c/86/a96b1453c107b815f9ab8fac5412407c33cc5c7580a4daf57aabeb41b774/nh3-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "973311e7273b663839626f714cb68f6eb49899da5a0d9b6bc47b41fe870259c2",
                "md5": "a630f00486073564d75acafc3e9fe52f",
                "sha256": "389d93d59b8214d51c400fb5b07866c2a4f79e4e14b071ad66c92184fec3a392"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "a630f00486073564d75acafc3e9fe52f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 811143,
            "upload_time": "2025-07-17T14:43:20",
            "upload_time_iso_8601": "2025-07-17T14:43:20.779759Z",
            "url": "https://files.pythonhosted.org/packages/97/33/11e7273b663839626f714cb68f6eb49899da5a0d9b6bc47b41fe870259c2/nh3-0.3.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8f14079670fb2e848c4ba2476c5a7a2d1319826053f4f0368f61fca9bb4227ae",
                "md5": "613428478661f0965a19809df9023d5f",
                "sha256": "7852f038a054e0096dac12b8141191e02e93e0b4608c4b993ec7d4ffafea4e49"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "613428478661f0965a19809df9023d5f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 997061,
            "upload_time": "2025-07-17T14:43:23",
            "upload_time_iso_8601": "2025-07-17T14:43:23.179868Z",
            "url": "https://files.pythonhosted.org/packages/8f/14/079670fb2e848c4ba2476c5a7a2d1319826053f4f0368f61fca9bb4227ae/nh3-0.3.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6a1bb15bd1ce201a1a610aeb44afd478d55ac018b4475920a3118ffd806e2483",
                "md5": "5125720a6c04ce829ff824f971bccc39",
                "sha256": "e9e6a7e4d38f7e8dda9edd1433af5170c597336c1a74b4693c5cb75ab2b30f2a"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "5125720a6c04ce829ff824f971bccc39",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1064661,
            "upload_time": "2025-07-17T14:43:21",
            "upload_time_iso_8601": "2025-07-17T14:43:21.839096Z",
            "url": "https://files.pythonhosted.org/packages/6a/1b/b15bd1ce201a1a610aeb44afd478d55ac018b4475920a3118ffd806e2483/nh3-0.3.0-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a3e5ac7fc565f5d8bce7f979d1afd68e8cb415020d62fa6507133281c7d49f91",
                "md5": "0c044149d11a20dedb071440bd34a4a3",
                "sha256": "af5aa8127f62bbf03d68f67a956627b1bd0469703a35b3dad28d0c1195e6c7fb"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "0c044149d11a20dedb071440bd34a4a3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 924761,
            "upload_time": "2025-07-17T14:43:24",
            "upload_time_iso_8601": "2025-07-17T14:43:24.230808Z",
            "url": "https://files.pythonhosted.org/packages/a3/e5/ac7fc565f5d8bce7f979d1afd68e8cb415020d62fa6507133281c7d49f91/nh3-0.3.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "392c6394301428b2017a9d5644af25f487fa557d06bc8a491769accec7524d9a",
                "md5": "b8b89165b5e1cb006431612d00d1a3f2",
                "sha256": "f416c35efee3e6a6c9ab7716d9e57aa0a49981be915963a82697952cba1353e1"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b8b89165b5e1cb006431612d00d1a3f2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 803959,
            "upload_time": "2025-07-17T14:43:26",
            "upload_time_iso_8601": "2025-07-17T14:43:26.377324Z",
            "url": "https://files.pythonhosted.org/packages/39/2c/6394301428b2017a9d5644af25f487fa557d06bc8a491769accec7524d9a/nh3-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4e9a344b9f9c4bd1c2413a397f38ee6a3d5db30f1a507d4976e046226f12b297",
                "md5": "e5974898d3d0a6061ad4a379e44b71de",
                "sha256": "37d3003d98dedca6cd762bf88f2e70b67f05100f6b949ffe540e189cc06887f9"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "e5974898d3d0a6061ad4a379e44b71de",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 844073,
            "upload_time": "2025-07-17T14:43:27",
            "upload_time_iso_8601": "2025-07-17T14:43:27.375689Z",
            "url": "https://files.pythonhosted.org/packages/4e/9a/344b9f9c4bd1c2413a397f38ee6a3d5db30f1a507d4976e046226f12b297/nh3-0.3.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "663fcd37f76c8ca277b02a84aa20d7bd60fbac85b4e2cbdae77cb759b22de58b",
                "md5": "1837987981f11470b229711af5602169",
                "sha256": "634e34e6162e0408e14fb61d5e69dbaea32f59e847cfcfa41b66100a6b796f62"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1837987981f11470b229711af5602169",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1000680,
            "upload_time": "2025-07-17T14:43:28",
            "upload_time_iso_8601": "2025-07-17T14:43:28.452765Z",
            "url": "https://files.pythonhosted.org/packages/66/3f/cd37f76c8ca277b02a84aa20d7bd60fbac85b4e2cbdae77cb759b22de58b/nh3-0.3.0-cp38-abi3-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eedb7aa11b44bae4e7474feb1201d8dee04fabe5651c7cb51409ebda94a4ed67",
                "md5": "faf4d4a82927b499b6fbdd0aec14b224",
                "sha256": "b0612ccf5de8a480cf08f047b08f9d3fecc12e63d2ee91769cb19d7290614c23"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "faf4d4a82927b499b6fbdd0aec14b224",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1076613,
            "upload_time": "2025-07-17T14:43:30",
            "upload_time_iso_8601": "2025-07-17T14:43:30.031894Z",
            "url": "https://files.pythonhosted.org/packages/ee/db/7aa11b44bae4e7474feb1201d8dee04fabe5651c7cb51409ebda94a4ed67/nh3-0.3.0-cp38-abi3-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "970303f79f7e5178eb1ad5083af84faff471e866801beb980cc72943a4397368",
                "md5": "25f51b99dd367dcfee0f03c583741892",
                "sha256": "c7a32a7f0d89f7d30cb8f4a84bdbd56d1eb88b78a2434534f62c71dac538c450"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "25f51b99dd367dcfee0f03c583741892",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1001418,
            "upload_time": "2025-07-17T14:43:31",
            "upload_time_iso_8601": "2025-07-17T14:43:31.429048Z",
            "url": "https://files.pythonhosted.org/packages/97/03/03f79f7e5178eb1ad5083af84faff471e866801beb980cc72943a4397368/nh3-0.3.0-cp38-abi3-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ce551974bcc16884a397ee699cebd3914e1f59be64ab305533347ca2d983756f",
                "md5": "1639fe908cdf25f6a75fa17869255807",
                "sha256": "3f1b4f8a264a0c86ea01da0d0c390fe295ea0bcacc52c2103aca286f6884f518"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1639fe908cdf25f6a75fa17869255807",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 986499,
            "upload_time": "2025-07-17T14:43:32",
            "upload_time_iso_8601": "2025-07-17T14:43:32.459386Z",
            "url": "https://files.pythonhosted.org/packages/ce/55/1974bcc16884a397ee699cebd3914e1f59be64ab305533347ca2d983756f/nh3-0.3.0-cp38-abi3-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c95076936ec021fe1f3270c03278b8af5f2079038116b5d0bfe8538ffe699d69",
                "md5": "e2cfa8e1d78c164ce26c04c40f882b10",
                "sha256": "6d68fa277b4a3cf04e5c4b84dd0c6149ff7d56c12b3e3fab304c525b850f613d"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-win32.whl",
            "has_sig": false,
            "md5_digest": "e2cfa8e1d78c164ce26c04c40f882b10",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 599000,
            "upload_time": "2025-07-17T14:43:33",
            "upload_time_iso_8601": "2025-07-17T14:43:33.852867Z",
            "url": "https://files.pythonhosted.org/packages/c9/50/76936ec021fe1f3270c03278b8af5f2079038116b5d0bfe8538ffe699d69/nh3-0.3.0-cp38-abi3-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8cae324b165d904dc1672eee5f5661c0a68d4bab5b59fbb07afb6d8d19a30b45",
                "md5": "76633316595b9ed9a3ffe6ff186ab8e6",
                "sha256": "bae63772408fd63ad836ec569a7c8f444dd32863d0c67f6e0b25ebbd606afa95"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "76633316595b9ed9a3ffe6ff186ab8e6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 604530,
            "upload_time": "2025-07-17T14:43:34",
            "upload_time_iso_8601": "2025-07-17T14:43:34.950048Z",
            "url": "https://files.pythonhosted.org/packages/8c/ae/324b165d904dc1672eee5f5661c0a68d4bab5b59fbb07afb6d8d19a30b45/nh3-0.3.0-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b763165e84e5266d146d967a6cc784ff2fbf6ddd00985a55ec006b72bc39d5d",
                "md5": "081c1f6be552e2d274bdbf0362529ef6",
                "sha256": "d97d3efd61404af7e5721a0e74d81cdbfc6e5f97e11e731bb6d090e30a7b62b2"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0-cp38-abi3-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "081c1f6be552e2d274bdbf0362529ef6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 585971,
            "upload_time": "2025-07-17T14:43:35",
            "upload_time_iso_8601": "2025-07-17T14:43:35.936471Z",
            "url": "https://files.pythonhosted.org/packages/5b/76/3165e84e5266d146d967a6cc784ff2fbf6ddd00985a55ec006b72bc39d5d/nh3-0.3.0-cp38-abi3-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c3a496cff0977357f60f06ec4368c4c7a7a26cccfe7c9fcd54f5378bf0428fd3",
                "md5": "124c2b4ad674a3a6a1379aa7b5224b77",
                "sha256": "d8ba24cb31525492ea71b6aac11a4adac91d828aadeff7c4586541bf5dc34d2f"
            },
            "downloads": -1,
            "filename": "nh3-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "124c2b4ad674a3a6a1379aa7b5224b77",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 19655,
            "upload_time": "2025-07-17T14:43:37",
            "upload_time_iso_8601": "2025-07-17T14:43:37.050684Z",
            "url": "https://files.pythonhosted.org/packages/c3/a4/96cff0977357f60f06ec4368c4c7a7a26cccfe7c9fcd54f5378bf0428fd3/nh3-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-17 14:43:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "messense",
    "github_project": "nh3",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nh3"
}
        
Elapsed time: 0.56439s