Skip to main content

Sanitizr - URL Cleaner

Python Tests License: GPL-3.0 PyPI cover GitHub last commit

A powerful and modular URL cleaning library and CLI tool that removes tracking parameters and decodes redirects.

Features

  • 🧹 Clean URLs by removing tracking parameters
  • 🔄 Decode redirect URLs (Google, Facebook, etc.)
  • ⚙️ Customizable parameter whitelisting/blacklisting
  • 🧰 Supports both Python API and CLI usage
  • 📋 Process URLs from clipboard, files, or standard input
  • 🔧 Configurable via JSON or YAML files

Installation

You can install Sanitizr from PyPI:

pip install sanitizr

For development setup:

pip install -e ".[dev]"

Quick Start

Command Line

# Clean a single URL
sanitizr -u "https://example.com?id=123&utm_source=newsletter"

# Clean URLs from a file
sanitizr -i urls.txt -o cleaned_urls.txt

# Clean URLs from stdin
cat urls.txt | sanitizr > cleaned_urls.txt

# Use verbose output to see the changes
sanitizr -u "https://example.com?id=123&utm_source=newsletter" -v

Python API

from sanitizr.sanitizr import URLCleaner

cleaner = URLCleaner()
clean_url = cleaner.clean_url("https://example.com?id=123&utm_source=newsletter")
print(clean_url)  # https://example.com?id=123

Configuration

Sanitizr can be configured via JSON or YAML files:

# config.yaml
tracking_params:
  - custom_tracker
  - another_tracker
redirect_params:
  custom.com:
    - redirect
    - goto
whitelist_params:
  - keep_this_param
blacklist_params:
  - remove_this_param

Use the configuration with the --config option:

sanitizr -u "https://example.com?id=123&custom_tracker=abc" --config config.yaml

License

Sanitizr is licensed under the GNU General Public License v3.0 or later - see the LICENSE file for details.

Metadata

Release files for sanitizr 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sanitizr 1.0.1
File Size Uploaded
sanitizr-1.0.1.tar.gz 28.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sanitizr 1.0.1
File Interpreter ABI Platform
sanitizr-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 51.1 kB

Release files / sanitizr-1.0.1.tar.gz

Download URL sanitizr-1.0.1.tar.gz
Size 28.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2e115e7894d510a307e5d29ec5d0eba01bc3e113e93579cf8de91108c632a685
BLAKE2b-256 checksum
How to use checksums
273c716b5ba45265bc7db1ac5abe66d9361d6c36209f47c50dc32f519b3bdfbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / sanitizr-1.0.1-py3-none-any.whl

Download URL sanitizr-1.0.1-py3-none-any.whl
Size 22.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
daf85ae7f7b1f02d98dadd758ae8c0f1c88c2a3c3d4a77500ffaa2b86e9f6137
BLAKE2b-256 checksum
How to use checksums
e70493767b2e13f7ed09fef4f99bd458de937bcb52aa733688d9f528ada63db5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

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