A Python module providing advanced tools for URI manipulation and validation. Simplifies handling and parsing of URIs, with a focus on robustness and ease of use.
Project description
urilibplus
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.
Setup
This module can be installed using:
pip install urilibplus
Usage
This module is intended to be used only as a module, and can be imported after installing using the traditional process:
from urilibplus import URI
Creating a URI Object
uri = URI("http://user:pass@host:1234/path?query#fragment")
print(uri.scheme) # outputs "http"
print(uri.authority) # outputs "user:pass@host:1234"
Encoding and Decoding URIs
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"
Path Manipulation
Also see the docs for the URIPath
object, an object for URI
s 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"
And More
There are a handfull of other ease of use features that this module provides, feel free to reference the documentation for more information.
Licence
This is licensed under the Mozilla Public License 2.0 (MPL 2.0) Licence. See the Licence file in this repository for more information.
Contribute
Contributions are always welcome! Use the github repository to report issues and contribute to this project.
Credits
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.
Security Policy
While the python source code will be actively maintained, any binary files (if at all provided) are in no way supported. These are provided as a courtesy and are not intended to be the main usage of this software. Please keep this in mind when choosing how you wish to use this software.
Supported Versions
Version | Supported |
---|---|
1.0.0.0 >= | ✅ |
1.0.0.0 < | ❌ |
Reporting a Vulnerability
Please report any issues to the email 107761433+MarkusHammer(THEN THE @ SYMBOL HERE)users.noreply.github.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file urilibplus-1.0.0.0.tar.gz
.
File metadata
- Download URL: urilibplus-1.0.0.0.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f23e5a4a202d06c0e07d36d2b67b49eebae4115f566d5e4ce7a3165e28253153 |
|
MD5 | 53f4fbff4e6666ff0e41c44eda2bb8a8 |
|
BLAKE2b-256 | 8cbb263d5ce188eef1a28f3d69e05db3b8a8063b1a8a7504015ae10d74ad8464 |
File details
Details for the file urilibplus-1.0.0.0-py3-none-any.whl
.
File metadata
- Download URL: urilibplus-1.0.0.0-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e3d02ee5b8a83552a06b7ca82eb2e9d516486268992ec17c691250a3f9f2906 |
|
MD5 | 1e034ab0dc70e7d7c17b1a9a48ae2747 |
|
BLAKE2b-256 | 27e972aa607e56035de0572d908ff9ce7041a3f84b38e39814322940629be2f0 |