Skip to main content

Lint URLs

Project description

permalint

Lint URLs (mostly for teaxyz/chai, but hopefully other uses too)

Features

  • Ignores protocol (http, https, etc.)
  • Normalizes GitHub URLs to owner/repo
  • Removes query strings and fragments
  • Lowercases domains and removes www

Usage

from permalint import normalize_url

url = "https://github.com/user/repo?utm_source=foo#readme"
print(normalize_url(url))  # Output: github.com/user/repo

Development

  • Install dependencies: pkgx rye sync
  • Run tests: pkgx rye run pytest
  • Lint: pkgx ruff check src/
  • Type check: pkgx ty src/

Contributing / Wishlist

  • guess-canonical-url to guess the correct URL based on a passed list of URLs
  • actual source of Homepages for

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

permalint-0.1.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

permalint-0.1.0-py3-none-any.whl (1.9 kB view details)

Uploaded Python 3

File details

Details for the file permalint-0.1.0.tar.gz.

File metadata

  • Download URL: permalint-0.1.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.4

File hashes

Hashes for permalint-0.1.0.tar.gz
Algorithm Hash digest
SHA256 230e8b8a4ce862bc3c60b9217707f83c7558144acf0e0660152797c534ab4a7c
MD5 98277fcdc6eef7483059d04aa2f18d7f
BLAKE2b-256 1afa5233d0511642b5042e8e829956da3a75b1e19db8ade921a01c11153ad29d

See more details on using hashes here.

File details

Details for the file permalint-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: permalint-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.4

File hashes

Hashes for permalint-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 437627874129f5db610e91a8371a147fe4e19c1954bfa8e5dd5b5e55e7ccdf27
MD5 28d5ad40c17df0beba2eaa5bd42d82d8
BLAKE2b-256 902ffed3f6fb2f1ffa5975aff4df51cf55ec2ffcb895a49f054165544336904e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page