A Python Module for URI Manipulation. Inspired by
pathlib, but for URIs.
urilibplus is a Python module designed to simplify the interaction and manipulation of URIs. It provides the URI class, which encapsulates URI operations into a consistent and user-friendly interface.
With this module, you can easily handle URIs, including tasks such as encoding, validation, and manipulation.
This module can be installed using:
pip install urilibplusThis module is intended to be used only as a module, and can be imported after installing using the traditional process:
from urilibplus import URIuri = URI("http://user:pass@host:1234/path?query#fragment")
print(uri.scheme) # outputs "http"
print(uri.authority) # outputs "user:pass@host:1234"encoded_uri = uri.encode() #same as str(uri)
print(encoded_uri) # outputs "http://user:pass@host:1234/path?query#fragment"
decoded_uri = URI(encoded_uri)
print(decoded_uri) # outputs "http://user:pass@host:port/path?query#fragment"
print(uri.encode(quote = True)) #outputs "http%3A%2F%2Fuser%3Apass%40host%3A1234%2Fpath%3Fquery%23fragment"Also see the docs for the URIPath object, an object for URIs that works exactly like a pathlib path.
Every URI object makes use of a URIPath object.
uri.pathappend("subpath", "suberpath")
print(uri.encode()) # outputs "http://user:pass@host:1234/path/subpath/suberpath?query#fragment"There are a handfull of other ease of use features that this module provides, feel free to reference the documentation for more information.
This is licensed under the Mozilla Public License 2.0 (MPL 2.0) Licence. See the Licence file in this repository for more information.
Contributions are always welcome! Use the github repository to report issues and contribute to this project.
While not required, feel free to credit "Markus Hammer" (or just "Markus") if you find this code or script useful for whatever you may be doing with it.