skillfed

pyuri

Better URI Handling

pyuri v0.3.1 74.9K downloads/30d#14,782 on PyPI2
Permissive license MIT Abandoned released

What it is and what it does

PyURI is a lightweight library for working with URIs as structured objects rather than strings. It lets you parse a URI into its components (scheme, host, port, path, query, fragment), construct URIs from individual parts, modify them, and compare them for equality. It also provides a helper to extract query parameters into a dictionary, handling repeated keys and URL decoding.

The package has no runtime dependencies and installs as a pure-Python wheel, making it quick to add to any project. However, it has been unmaintained since its single release in March 2017, with no updates for Python 3.7 and later versions. It was tested only with Python 2.7 and 3.6, so compatibility with modern Python is unknown.

Use it for:

  • Parse a URI string into its component parts for inspection or validation in a web application.
  • Construct a URI programmatically from individual components (scheme, host, port, path, query) without string concatenation.
  • Extract and parse query parameters from a URI into a dictionary for easier access to key-value pairs.
  • Modify an existing URI by changing its port, path, or query and then serialize it back to a string.
  • Compare two URIs for equality after normalizing their components.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyURI parses, constructs, and manipulates URIs by component—scheme, host, port, path, query, and fragment—with utilities for extracting query parameters.

No. While the package is simple and has no dependencies, it has been abandoned since 2017 with no maintenance for nearly a decade. Python version support is unspecified and untested beyond 3.6. For URI handling, use the standard library's `urllib.parse` module, which is maintained, well-documented, and covers the same use cases.

Install

pyuri on PyPI

pip

pip install pyuri

uv

uv add pyuri

poetry

poetry add pyuri

Installing pyuri

Before you install

Installation is frictionless—a pure-Python wheel with no runtime dependencies. However, the package has been abandoned since its only release on 2017-03-27; no maintenance or updates have occurred in years, and Python version support is unspecified.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it legally safe to adopt in most projects.

Quickstart

from pyuri import URI

uri = URI('http://localhost:80/path?query=value#fragment')
print(uri.scheme, uri.host, uri.port, uri.path)
print(uri.query_dict())

Verify before relying

  • Whether the package works reliably with Python versions beyond 2.7 and 3.6 (support is unspecified in the fact sheet).
  • Whether URI parsing handles edge cases and RFC compliance correctly (no test coverage details provided).

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 3,427 days since the last release
Last repo commit
First released
Downloads 74,855/month — #14,782 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyuri-0.3.1-py2.py3-none-any.whl

Tags

URI parsing and manipulationparse URL componentsconstruct URI from partsquery string parsingURI comparison and modificationextract query parametersURI builder library
uri-parsingabandoned

More Internet packages