pyurlc
Ultra-fast URL encoding/decoding in C with SIMD optimizations (30-35x faster than urllib.parse)
Features
- 30-35x faster than Python's
urllib.parse - SIMD optimized (ARM NEON / x86 SSE)
- Fully compatible with
urllib.parseAPI - Memory efficient with proper allocation
- Full Unicode support
- Error handling with strict/replace/ignore modes
Installation
pip install pyurlc
Usage
import pyurlc
# Basic encoding/decoding
encoded = pyurlc.encode("Hello World!")
decoded = pyurlc.decode(encoded)
# Quote/Unquote (compatible with urllib.parse)
quoted = pyurlc.quote("test@example.com")
unquoted = pyurlc.unquote(quoted)
# Quote/Unquote with plus signs
quoted_plus = pyurlc.quote_plus("Hello World")
unquoted_plus = pyurlc.unquote_plus(quoted_plus)
# Check if string is encoded
is_encoded = pyurlc.is_encoded("Hello%20World") # True
# Get performance info
info = pyurlc.performance_info()
Performance
String Size pyurlc urllib.parse Speedup 100 chars 0.003s 0.111s 33.7x 1,000 chars 0.028s 0.986s 34.6x 10,000 chars 0.354s 11.049s 31.2x 50,000 chars 1.973s 59.572s 30.2x
Average speedup: 32.4x
License
Apache License 2.0
Thank you for using my project!
Goobye!
Metadata
Release files for pyurlc 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyurlc-3.0.0.tar.gz | 5.1 kB | Without provenance | Details |
Release files / pyurlc-3.0.0.tar.gz
| Download URL | pyurlc-3.0.0.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0305f8fb911a8ccf56ddac9df89ce526e268632daefb44b0750d9ffa483bc215
|
|
BLAKE2b-256 checksum How to use checksums |
0553175533007f1f316ec832725b6caac50d421d6cee71cf07053d52b306c588
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Security for pyurlc 3.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.