urilibplus


Nameurilibplus JSON
Version 1.0.0.0 PyPI version JSON
download
home_pageNone
SummaryA 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.
upload_time2024-08-14 18:40:14
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords uri url http https path manipulation uri parsing url validation web development networking internet
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# `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.

[Documentation](https://MarkusHammer.gthub.io/urilibplus-python)

## Setup

This module can be installed using:

```bash
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:

```python
from urilibplus import URI
```

### Creating a URI Object

```python
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

```python
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](https://MarkusHammer.gthub.io/urilibplus-python) 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.

```python
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](https://MarkusHammer.gthub.io/urilibplus-python) 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](https://github.com/MarkusHammer/urilibplus-python) 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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "urilibplus",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "uri, url, http, https, path manipulation, uri parsing, url validation, web development, networking, internet",
    "author": null,
    "author_email": "Markus Hammer <107761433+MarkusHammer@users.noreply.github.com>",
    "download_url": "https://files.pythonhosted.org/packages/8c/bb/263d5ce188eef1a28f3d69e05db3b8a8063b1a8a7504015ae10d74ad8464/urilibplus-1.0.0.0.tar.gz",
    "platform": null,
    "description": "\r\n# `urilibplus`\r\n\r\n> A Python Module for URI Manipulation. Inspired by `pathlib`, but for URIs.\r\n\r\n`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.\r\nWith this module, you can easily handle URIs, including tasks such as encoding, validation, and manipulation.\r\n\r\n[Documentation](https://MarkusHammer.gthub.io/urilibplus-python)\r\n\r\n## Setup\r\n\r\nThis module can be installed using:\r\n\r\n```bash\r\npip install urilibplus\r\n```\r\n\r\n## Usage\r\n\r\nThis module is intended to be used only as a module, and can be imported after installing using the traditional process:\r\n\r\n```python\r\nfrom urilibplus import URI\r\n```\r\n\r\n### Creating a URI Object\r\n\r\n```python\r\nuri = URI(\"http://user:pass@host:1234/path?query#fragment\")\r\nprint(uri.scheme)  # outputs \"http\"\r\nprint(uri.authority)  # outputs \"user:pass@host:1234\"\r\n```\r\n\r\n### Encoding and Decoding URIs\r\n\r\n```python\r\nencoded_uri = uri.encode() #same as str(uri)\r\nprint(encoded_uri) # outputs \"http://user:pass@host:1234/path?query#fragment\"\r\n\r\ndecoded_uri = URI(encoded_uri)\r\nprint(decoded_uri) # outputs \"http://user:pass@host:port/path?query#fragment\"\r\n\r\nprint(uri.encode(quote = True)) #outputs \"http%3A%2F%2Fuser%3Apass%40host%3A1234%2Fpath%3Fquery%23fragment\"\r\n```\r\n\r\n### Path Manipulation\r\n\r\nAlso see the [docs](https://MarkusHammer.gthub.io/urilibplus-python) for the `URIPath` object, an object for `URI`s that works exactly like a `pathlib` path.\r\nEvery `URI` object makes use of a `URIPath` object.\r\n\r\n```python\r\nuri.pathappend(\"subpath\", \"suberpath\")\r\nprint(uri.encode())  # outputs \"http://user:pass@host:1234/path/subpath/suberpath?query#fragment\"\r\n```\r\n\r\n### And More\r\n\r\nThere are a handfull of other ease of use features that this module provides, feel free to reference the [documentation](https://MarkusHammer.gthub.io/urilibplus-python) for more information.\r\n\r\n## Licence\r\n\r\nThis is licensed under the Mozilla Public License 2.0 (MPL 2.0) Licence. See the Licence file in this repository for more information.\r\n\r\n## Contribute\r\n\r\nContributions are always welcome!\r\nUse the [github repository](https://github.com/MarkusHammer/urilibplus-python) to report issues and contribute to this project.\r\n\r\n## Credits\r\n\r\nWhile 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.\r\n\r\n# Security Policy\r\n\r\nWhile the python source code will be actively maintained, any binary files (if at all provided) are in no way supported.\r\nThese are provided as a courtesy and are not intended to be the main usage of this software.\r\nPlease keep this in mind when choosing how you wish to use this software.\r\n\r\n## Supported Versions\r\n\r\n| Version     | Supported |\r\n| ----------- | --------- |\r\n| 1.0.0.0\u00a0>= | \u2705        |\r\n| 1.0.0.0\u00a0<  | \u274c        |\r\n\r\n## Reporting a Vulnerability\r\n\r\nPlease report any issues to the email 107761433+MarkusHammer(THEN THE @ SYMBOL HERE)users.noreply.github.com\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "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.",
    "version": "1.0.0.0",
    "project_urls": {
        "Documentation": "https://MarkusHammer.gthub.io/urilibplus-python",
        "Git": "https://github.com/MarkusHammer/urilibplus-python.git",
        "Github": "https://github.com/MarkusHammer/urilibplus-python",
        "Homepage": "https://github.com/MarkusHammer/urilibplus-python",
        "Issues": "https://github.com/MarkusHammer/urilibplus-python/issues",
        "Pull Requests": "https://github.com/MarkusHammer/urilibplus-python/pulls"
    },
    "split_keywords": [
        "uri",
        " url",
        " http",
        " https",
        " path manipulation",
        " uri parsing",
        " url validation",
        " web development",
        " networking",
        " internet"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27e972aa607e56035de0572d908ff9ce7041a3f84b38e39814322940629be2f0",
                "md5": "1e034ab0dc70e7d7c17b1a9a48ae2747",
                "sha256": "1e3d02ee5b8a83552a06b7ca82eb2e9d516486268992ec17c691250a3f9f2906"
            },
            "downloads": -1,
            "filename": "urilibplus-1.0.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1e034ab0dc70e7d7c17b1a9a48ae2747",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 22610,
            "upload_time": "2024-08-14T18:40:12",
            "upload_time_iso_8601": "2024-08-14T18:40:12.789072Z",
            "url": "https://files.pythonhosted.org/packages/27/e9/72aa607e56035de0572d908ff9ce7041a3f84b38e39814322940629be2f0/urilibplus-1.0.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8cbb263d5ce188eef1a28f3d69e05db3b8a8063b1a8a7504015ae10d74ad8464",
                "md5": "53f4fbff4e6666ff0e41c44eda2bb8a8",
                "sha256": "f23e5a4a202d06c0e07d36d2b67b49eebae4115f566d5e4ce7a3165e28253153"
            },
            "downloads": -1,
            "filename": "urilibplus-1.0.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "53f4fbff4e6666ff0e41c44eda2bb8a8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 21760,
            "upload_time": "2024-08-14T18:40:14",
            "upload_time_iso_8601": "2024-08-14T18:40:14.746934Z",
            "url": "https://files.pythonhosted.org/packages/8c/bb/263d5ce188eef1a28f3d69e05db3b8a8063b1a8a7504015ae10d74ad8464/urilibplus-1.0.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-14 18:40:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MarkusHammer",
    "github_project": "urilibplus-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "urilibplus"
}
        
Elapsed time: 0.65954s