Skip to main content

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.parse API
  • 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)

Source distribution for pyurlc 3.0.0
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.

Release history Release notifications | RSS feed

This release

3.0.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page