• Stars
    star
    187
  • Rank 199,180 (Top 5 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 2 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python binding to Ammonia HTML sanitizer Rust crate

nh3

CI PyPI Documentation Status

ammonia Python binding.

Installation

pip install nh3

Usage

import nh3

print(nh3.clean("<b><img src=\"\">I'm not trying to XSS you</b>"))

Performance

Running on 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.

More Repositories

1

aliyundrive-webdav

阿里云盘 WebDAV 服务
Rust
9,317
star
2

aliyundrive-fuse

阿里云盘 FUSE 磁盘挂载
Rust
975
star
3

homebrew-macos-cross-toolchains

macOS cross compiler toolchains
Ruby
710
star
4

jieba-rs

The Jieba Chinese Word Segmentation Implemented in Rust
Rust
665
star
5

cargo-zigbuild

Compile Cargo project with zig as linker
Rust
317
star
6

rust-musl-cross

Docker images for compiling static Rust binaries using musl-cross
Shell
277
star
7

wechat-bot

A robot of wechat based on python (Not maintained)
Python
180
star
8

rocketmq-python

RocketMQ Python client
Python
93
star
9

dav-server-rs

Rust WebDAV server library. A fork of the webdav-handler crate.
Rust
87
star
10

mupdf-rs

Rust binding to mupdf
Rust
81
star
11

openwrt-netbird

OpenWrt package for netbird
Makefile
80
star
12

cargo-xwin

Cross compile Cargo project to Windows MSVC target with ease
Rust
60
star
13

fasttext-serving

fastText model serving service
Rust
58
star
14

typst-py

Python binding to typst
Rust
55
star
15

fasttext-rs

fastText Rust binding
Rust
49
star
16

multi-lsp-proxy

A LSP proxy to multiple language servers
Rust
46
star
17

otpauth-rs

Two-step verification of HOTP/TOTP for Rust.
Rust
32
star
18

crfs-rs

Pure Rust port of CRFsuite: a fast implementation of Conditional Random Fields (CRFs)
Rust
26
star
19

crfsuite-rs

Rust binding to crfsuite
Rust
23
star
20

unidiff-rs

Unified diff parsing/metadata extraction library for Rust
Rust
22
star
21

libtailscale-rs

Rust binding to libtailscale
Rust
22
star
22

rocketmq-rs

Rust client for Apache RocketMQ
Rust
21
star
23

fat-macho-rs

Mach-O Fat Binary Reader and Writer
Rust
20
star
24

APUE-Learning

Learning Advanced Programming in the UNIX Environment
C
20
star
25

leptos_sse

Leptos server signals synced through Server-Sent-Events (SSE)
Rust
19
star
26

wechat-rs

WeChat SDK for Rust. [WIP]
Rust
18
star
27

rjieba-py

jieba-rs Python binding
Python
17
star
28

robotparser-rs

robots.txt parser for Rust.
Rust
17
star
29

fasttext-wheel

Build and upload fastText Python wheels to PyPI
Shell
16
star
30

cjieba-py

Python cffi binding to CppJieba
Python
15
star
31

auditwheel-symbols

Find out which symbols are causing auditwheel too-recent versioned symbols error.
Rust
14
star
32

chinese-ner-rs

A CRF based Chinese Named-entity Recognition Library written in Rust
Rust
14
star
33

sanic-gunicorn

Gunicorn worker for Sanic
Python
12
star
34

bosonnlp-rs

BosonNLP SDK for Rust
Rust
11
star
35

py-promql-parser

PromQL parser for Python
Rust
11
star
36

manylinux-cross

manylinux2014 and manylinux_2_24 aarch64/armv7l/s390x/ppc64/ppc64le cross compilation docker image
Dockerfile
10
star
37

lddtree-rs

Read the ELF dependency tree
Rust
10
star
38

llvm-bitcode-rs

LLVM Bitcode parser in Rust
Rust
9
star
39

lingua-py

lingua-rs Python binding
Rust
9
star
40

rust-lunardate

A Chinese Calendar Library in Rust
Rust
8
star
41

huaweicloud-github-runner

GitHub Action for automatic create and register Huawei Cloud ECS instance as a GitHub Actions self-hosted runner
JavaScript
7
star
42

mmseg-rs

Chinese word segmentation algorithm MMSEG in Rust
Rust
7
star
43

rust-jieba

Rust binding to cppjieba
Rust
7
star
44

optionaldict

A dict-like object that ignore NoneType values for Python
Python
6
star
45

rjsonnet-py

Python bindings to Rust jrsonnet crate(a Rust implementation of Jsonnet language)
Rust
6
star
46

caiyun

字幕组资源离线下载至百度云盘 (Not Maintained)
Python
6
star
47

douban2kindle

豆瓣阅读图书推送 Kindle
Python
6
star
48

images2video

Python images to video library using OpenCV
Python
5
star
49

vim-python-ide

Vim configuration files for developing Python projects
Vim Script
4
star
50

cfasttext

A fastText C wrapper
C++
4
star
51

rjmespath-py

jmespath.rs Python binding
Python
4
star
52

douappbook

Crawl book and rating infomations from Douban App
Python
4
star
53

everbean

Sync notes from book.douban.com to Evernote
Python
4
star
54

data-structure-learning

数据结构学习,作业代码
C
4
star
55

cargo-options

Reusable common Cargo command line options
Rust
4
star
56

implib-rs

Generate Windows import library from module definition file in Rust
Rust
4
star
57

rfiletype-py

Infer file and MIME type by checking the magic number signature, Python binding of https://github.com/bojand/infer
Rust
4
star
58

opencc-rs

OpenCC binding for Rust.
Rust
3
star
59

py-dissimilar

A diff library with semantic cleanup
Rust
3
star
60

murmurhash2-py

murmurhash2 for Python
Rust
3
star
61

is-minified-js

Detecting minified javascript files
Python
3
star
62

cython-abseil-sample

Using abseil-cpp with Cython project sample
Python
3
star
63

rocket-lenient-json

A rocket_contrib::Json copy which removes the Content-Type check
Rust
2
star
64

homebrew-tap

Personal Homebrew formulaes
Ruby
2
star
65

jieba-rpc

Simple jieba RPC server based on msgpack-rpc-python
Python
2
star
66

crate-wheels

Build Python 🐍 wheels 🎡 for some Rust crates 📦  on GitHub Actions.
Rust
2
star
67

rusted-rs

Simple tool to highlight rustc --explain output
Rust
2
star
68

python-sysconfig-collector

Collect Python sysconfig on GitHub Actions for maturin
Python
2
star
69

github-widget

A jQuery plugin to show your Github repositories.
CSS
2
star
70

cqdb-sys

Low level Rust binding to Constant Quark Database (CQDB)
C
2
star
71

django-mako

Django mako
Python
1
star
72

python3-config-rs

Read Python 3 sysconfigdata in Rust
Rust
1
star
73

Flask-DjangoQuery

DjangoQuery extension for Flask-SQLAlchemy
Python
1
star
74

liblbfgs-sys

Low level Rust binding to libLBFGS: a library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
Rust
1
star
75

nvim-config

My neovim configuration
Lua
1
star
76

messense

1
star
77

cmake-toolchain-rs

Auto-generate CMake toolchain file
Rust
1
star
78

maturin-ci-playground

Playground for `maturin generate-ci`
Rust
1
star
79

serde-single-key-map

Unwrap a single key map with serde
Rust
1
star
80

rpi

Raspberry Pi scripts
Python
1
star
81

rusted

Simple tool to highlight rustc --explain output
Python
1
star
82

cqdb-rs

Constant Quark Database in Rust
Rust
1
star
83

extender

A simple plug-in/extension system on Python
Python
1
star
84

pyo3-issue-71

Python
1
star
85

catsup-theme-seven

A theme for Catsup
CSS
1
star
86

flake8-network-timeout

Python
1
star
87

cppjieba-cabi

Idiomatic C ABI for CppJieba
C++
1
star
88

catsup-theme-lingonberry

A theme for Catsup. WIP
CSS
1
star
89

doubookcrawler

Douban book ratings infomation crawler.
Python
1
star
90

rocket-validator

Validator data guard for Rocket
Rust
1
star
91

tree-sitter-py

Experimental Python binding to tree-sitter. Don't use it.
Rust
1
star
92

stacktracer

Stack tracer for multi-threaded applications
Python
1
star
93

wiki

Personal wiki
CSS
1
star
94

sccache-wheel

Python wheels for sccache
1
star
95

CMCCLogin

A CMCC WLAN Client for OS X
Objective-C
1
star
96

jbig2dec-rs

Rust binding to jbig2dec
Rust
1
star
97

algorithm-learning

Codes I wrote when I was learning algorithm
C
1
star
98

sha512-crypt

Python binding to Rust sha-crypt password hashing crate
Python
1
star
99

dirty-json-rs

Fix up dirty JSON string
Rust
1
star