Skip to main content

made-with-python Build Status Coverage Status Code style: black Checked with pylint Checked with flake8 Checked with pydocstyle Checked with interrogate Checked with mypy License EO principles respected here PyPI version shields.io PyPI pyversions Downloads

uURL

Provides user-friendly unified resource locator (URL) client with nothing but clean objects.

Tools

Usage

To obtain latest package from PYPI, please run following script:

pip install uurl
✨ 🍰 ✨

Quick start

Pre-defined URL

>>> from uurl import Host, HttpsUrl, UrlPath
>>> url = HttpsUrl(Host('example.com'), UrlPath('shelter', 'index.html'))
>>> url.matcher()
'shelter/index.html'
>>> url.host()
'example.com'
>>> url.host(with_port=True)
'example.com:443'
>>> str(url)
'https://example.com:443/shelter/index.html'

Custom URL

>>> from uurl import Host, NetworkProtocol, NetworkPort, Url, UrlPath
>>> url = Url(
...    Host('0.0.0.0'),
...    NetworkProtocol('http', NetworkPort(8080, has_upd=True, has_tcp=True)),
...    UrlPath('api', 'rest', '1001')
... )
>>> url.matcher()
'api/rest/1001'
>>> url.host()
'0.0.0.0'
>>> url.host(with_port=True)
'0.0.0.0:8080'
>>> str(url)
'http://0.0.0.0:8080/api/rest/1001'

Development notes

Testing

Generally, pytest tool is used to organize testing procedure.

Please follow next command to run unittests:

pytest

CI

Project has Travis CI integration using .travis.yml file thus code analysis (black, pylint, flake8, mypy, pydocstyle and interrogate) and unittests (pytest) will be run automatically after every made change to the repository.

To be able to run code analysis, please execute command below:

./analyse-source-code.sh

Release notes

Please check changelog file to get more details about actual versions and it's release notes.

Meta

Author – Volodymyr Yahello. Please check authors file for more details.

Distributed under the MIT license. See license for more information.

You can reach out me at:

Contributing

I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:

  1. Clone the repository
  2. Configure git for the first time after cloning with your name and email
  3. pip install -r requirements.txt to install all project dependencies
  4. pip install -r requirements-dev.txt to install all development project dependencies
  5. Create your feature branch (git checkout -b feature/fooBar)
  6. Commit your changes (git commit -am 'Add some fooBar')
  7. Push to the branch (git push origin feature/fooBar)
  8. Create a new Pull Request

What's next

All recent activities and ideas are described at project issues. If you have ideas you want to change/implement please do not hesitate and create an issue.

⬆ back to top

Metadata

Release files for uurl 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uurl 0.0.2
File Size Uploaded Provenance
uurl-0.0.2.tar.gz 156.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for uurl 0.0.2
File Interpreter ABI Platform
uurl-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 165.0 kB

Release files / uurl-0.0.2.tar.gz

Download URL uurl-0.0.2.tar.gz
Size 156.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6d8fd20f88c2dc399919a1992a44e380fe64b7b2ce38063f80b069befac5af2f
BLAKE2b-256 checksum
How to use checksums
a4b61e905dc44c4addc1168bd7f4ebfc07873356cdd787ba4f8ac9639e595907
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.1

Release files / uurl-0.0.2-py3-none-any.whl

Download URL uurl-0.0.2-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5a5b8b5ef7f07545f0b0e1b328dab93eefc2d5792595b1c2c0198d32d16ea7a
BLAKE2b-256 checksum
How to use checksums
7827f615f65a27fbeba635a0b895b0eb2460f0158a0bcb9b6214876b76dabf19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.1

Security for uurl 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page