nh3 0.3.5


pip install nh3

  Latest version

Released: Apr 25, 2026

Project Links

Meta
Author: messense
Requires Python: >=3.8

Classifiers

Programming Language
  • Rust
  • Python :: Implementation :: CPython
  • Python :: Implementation :: PyPy

Topic
  • Software Development :: Libraries :: Python Modules

nh3

CI PyPI Documentation Status

Python bindings to the ammonia HTML sanitization library.

Installation

pip install nh3

Usage

See the documentation.

Performance

A quick benchmark showing that nh3 is about 20 times faster than the deprecated bleach package. Measured on a MacBook Air (M2, 2022).

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 file.

Wheel compatibility matrix

Platform CPython >=3.8 (abi3) CPython (additional flags: t) 3.14
macosx_10_12_universal2
macosx_10_12_x86_64
macosx_11_0_arm64
manylinux1_i686
manylinux2014_aarch64
manylinux2014_armv7l
manylinux2014_ppc64
manylinux2014_ppc64le
manylinux2014_s390x
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_armv7l
manylinux_2_17_ppc64
manylinux_2_17_ppc64le
manylinux_2_17_s390x
manylinux_2_17_x86_64
manylinux_2_31_riscv64
manylinux_2_5_i686
musllinux_1_2_aarch64
musllinux_1_2_armv7l
musllinux_1_2_i686
musllinux_1_2_x86_64
win32
win_amd64
win_arm64

Files in release

nh3-0.3.5-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.4MiB)
nh3-0.3.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (775.3KiB)
nh3-0.3.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (821.4KiB)
nh3-0.3.5-cp314-cp314t-musllinux_1_2_aarch64.whl (984.8KiB)
nh3-0.3.5-cp314-cp314t-musllinux_1_2_armv7l.whl (1.0MiB)
nh3-0.3.5-cp314-cp314t-musllinux_1_2_i686.whl (1023.8KiB)
nh3-0.3.5-cp314-cp314t-musllinux_1_2_x86_64.whl (1004.9KiB)
nh3-0.3.5-cp314-cp314t-win32.whl (589.1KiB)
nh3-0.3.5-cp314-cp314t-win_amd64.whl (602.4KiB)
nh3-0.3.5-cp314-cp314t-win_arm64.whl (588.4KiB)
nh3-0.3.5-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (1.4MiB)
nh3-0.3.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (818.1KiB)
nh3-0.3.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (803.6KiB)
nh3-0.3.5-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (1.0MiB)
nh3-0.3.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.0MiB)
nh3-0.3.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (893.4KiB)
nh3-0.3.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (788.1KiB)
nh3-0.3.5-cp38-abi3-manylinux_2_31_riscv64.whl (815.3KiB)
nh3-0.3.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (837.1KiB)
nh3-0.3.5-cp38-abi3-musllinux_1_2_aarch64.whl (994.7KiB)
nh3-0.3.5-cp38-abi3-musllinux_1_2_armv7l.whl (1.1MiB)
nh3-0.3.5-cp38-abi3-musllinux_1_2_i686.whl (1.0MiB)
nh3-0.3.5-cp38-abi3-musllinux_1_2_x86_64.whl (1016.5KiB)
nh3-0.3.5-cp38-abi3-win32.whl (597.1KiB)
nh3-0.3.5-cp38-abi3-win_amd64.whl (611.8KiB)
nh3-0.3.5-cp38-abi3-win_arm64.whl (596.7KiB)
nh3-0.3.5.tar.gz (20.3KiB)
No dependencies