'URL parser and manipulator based on the WHAT WG URL standard'
Project description
This is ada_url, a Python library for parsing and joining URLs.
WHATWG URL compliance
Unlike the standard library’s urllib.parse module, this library is compliant with the WHATWG URL spec.
urlstring = "https://www.GOoglé.com/./path/../path2/"
import ada_url
# prints www.xn--googl-fsa.com,
# the correctly parsed domain name according to WHATWG
print(ada_url.URL(urlstring).hostname)
# prints /path2/
# the correctly parsed pathname according to WHATWG
print(ada_url.URL(urlstring).pathname)
import urllib
#prints www.googlé.com
print(urllib.parse.urlparse(urlstring).hostname)
#prints /./path/../path2/
print(urllib.parse.urlparse(urlstring).path)
Examples
This package exposes a URL class that is intended to match the one described in the WHATWG URL spec.
>>> import ada_url
>>> ada_url.URL('https://example.org/path/../file.txt') as urlobj:
>>> urlobj.host = 'example.com'
>>> new_url = urlobj.href
>>> new_url
'https://example.com/file.txt'
It also provides some higher level functions for parsing and manipulating URLs.
>>> import ada_url
>>> ada_url.check_url('https://example.org')
True
>>> ada_url.join_url(
'https://example.org/dir/child.txt', '../parent.txt'
)
'https://example.org/parent.txt'
>>> ada_url.normalize_url('https://example.org/dir/../parent.txt')
'https://example.org/parent.txt'
>>> ada_url.parse_url('https://user:pass@example.org:80/api?q=1#2')
{
'href': 'https://user:pass@example.org:80/api?q=1#2',
'username': 'user',
'password': 'pass',
'protocol': 'https:',
'host': 'example.org:80',
'port': '80',
'hostname': 'example.org',
'pathname': '/api',
'search': '?q=1',
'hash': '#2'
}
>>> ada_url.replace_url('http://example.org:80', protocol='https:')
'https://example.org/'
You can find more documentation at Read the Docs.
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
ada-url-1.3.0.tar.gz
(207.7 kB
view hashes)
Built Distributions
Close
Hashes for ada_url-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71f7c4570c517ad6a0da9efd5ded0a88e29fd7bb83825da15b6d8aeaf1d44b3d |
|
MD5 | 53452e19bde925936f7ff6d28e755988 |
|
BLAKE2b-256 | 91a9426697d893caa9ce219a614369500a6491884b3723ec4b203f01c1677607 |
Close
Hashes for ada_url-1.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a282bc52463d10e95e744d80f75879a44bb3cb43af35a13f1f233bc9f4dfcd4 |
|
MD5 | 1455b7753fec899af3dbf4d7e30915a9 |
|
BLAKE2b-256 | 8f77485b8a308c9d527a64d6816bf2c6c54eb6054f8f8dac735cd58735d09442 |
Close
Hashes for ada_url-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e74d72d1792e2ade5af9444a309be4aff552d4ae75894d7bf4a6b83a33f9331 |
|
MD5 | 5974d4c9d27f22ce55635c9abed98744 |
|
BLAKE2b-256 | 56f11db4166fca94ae70003e7674d4f724ffdcf2b1e8f3834a7cb4d4d84989ee |
Close
Hashes for ada_url-1.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5510a0d127fd491b306d31c0e47e663f4115c1ce57b5e4c864b6916d0aa0234a |
|
MD5 | 8497b9c840847beafb3be738379a9768 |
|
BLAKE2b-256 | c7dd4ca032caeadc870d5976fa85274cd9165d50f8397db8aa8c2cc7ed8980c8 |
Close
Hashes for ada_url-1.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb5739d5b7dc973c817c0a4b821b986e569b1da9695fdfbe0f7c08c0837409b6 |
|
MD5 | 2796b1346e31f43cf2f816c1ff1f763a |
|
BLAKE2b-256 | e3bf7c267139e583649b2e2958a854f9549255a2041ab916162a9a0f00c067c6 |
Close
Hashes for ada_url-1.3.0-pp38-pypy38_pp73-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2b36a362cc255bdb59d60128d2f96ae2fc1f002ac79a877a3ab858d1997ba9c |
|
MD5 | 79d034c3736548063888f43a2ca30b10 |
|
BLAKE2b-256 | 83836713bd34c6f90665cef3fe618d4135c5b2b8191f2a03481b1912daeecaa8 |
Close
Hashes for ada_url-1.3.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 924f3162af64728ebbc665debf1928f48123d980509b2586c80659ad6b859b9e |
|
MD5 | 1973f0c540508714b1d95e78a2856a41 |
|
BLAKE2b-256 | df9468326854b7963e97cd54211b2fa015c1de8722fa7928f6590393d8c1cc0c |
Close
Hashes for ada_url-1.3.0-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b9c72f47ca3c516e38d4ac786172d9bec1a2a84ee370b249b48fc91594ad58a |
|
MD5 | c76d4eb75d2458dc3668c88adb858dd1 |
|
BLAKE2b-256 | 017dd197b1a60a96899102dc394d564b0bdcac7b4d27589cfc0a6315fdd9f020 |
Close
Hashes for ada_url-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd68345a24a1381da01f3c877457c7f49a55bd6f484248029e14ddbe88354d69 |
|
MD5 | a8840838a12be15f14650780b66724c6 |
|
BLAKE2b-256 | 3ddb879f55ae216c00df42dc0ba6a53f137ac91905feacd2b659629461250c03 |
Close
Hashes for ada_url-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e8e70f61af07b9036d6ecb4c4f8d07320c3e1f7624d971a34d25b5e54a37cb3 |
|
MD5 | d3e116c2e11b3c9cb64a825624a90922 |
|
BLAKE2b-256 | d7e64292088417f93bc6ba0680a416ed71f14a2155d1d536626cff7b6ad6b338 |
Close
Hashes for ada_url-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1899df796f89477d3df7b408514cf9560ba2d17eada27cb8dbc4a5133d0255a1 |
|
MD5 | ce686f7fa314fcb7168e98592e08e50b |
|
BLAKE2b-256 | 7bf90198fed47172b2f4103f14e32e731124b1c8772a905f86b1ed01ccd8b8a6 |
Close
Hashes for ada_url-1.3.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1a8dc3e6d4e190a6f7d1811128f9238d2f4ff71d3e28620b78ca994d8b7893d |
|
MD5 | bea5e9e02d6b2cf406bfc789b7912fac |
|
BLAKE2b-256 | 550f6b1624a94a9b08709aaf53a8258aac07eefe98db911e5e05989254e99f26 |
Close
Hashes for ada_url-1.3.0-cp311-cp311-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c2799dab574d9af5d6dffa104e102582102fda8fdfbc7931ec35df6a9123324 |
|
MD5 | 3f1324414f7149f164427bc386c0541a |
|
BLAKE2b-256 | f0a2e20a64e1e446b3f14291486d55198bd7ce848b6d70bd4e0bd8180476799b |
Close
Hashes for ada_url-1.3.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b799f51ff9ed66e1b76c965a0446f16d10eb7e4ae459e48c97ae996f6675d16a |
|
MD5 | d3ab0992c0f157e0e3110440ce232296 |
|
BLAKE2b-256 | 09175a87778033656dd10f4924662c0c512a8e31832a521f38593adaa3df131c |
Close
Hashes for ada_url-1.3.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fdf8db112ac88ec04c184c7dc7f4f2a888667403e609ce832dc7c69dc77ff75 |
|
MD5 | 552ca69f664f52a1c9697dbe277d3a12 |
|
BLAKE2b-256 | 68d2323d5a78d5c4c29182c11b1f7c98bb26cb35aef7fe3c9fe7a98c3f0e7e40 |
Close
Hashes for ada_url-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46ef412eea84d585dfa71665f27952064e55523400dde9b8bcc9341bce78716b |
|
MD5 | d504381ff271b218e2c595c0838e86cf |
|
BLAKE2b-256 | 37693ddcd391a550bca9b7562b76b33396e334c31302243a8c8ed73149d6b74a |
Close
Hashes for ada_url-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9392667ed29cf359ecb8ad3ab10115f55d6b9b279af2130b0d87bbe251cab062 |
|
MD5 | 522417fd9a6537de437ed798c0bb76d8 |
|
BLAKE2b-256 | 59993513779d3a86c904e2ec874c86742b789168d9160c9f2928c03f2c10f0b5 |
Close
Hashes for ada_url-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01b63cb1894deb647d2a2974dc78d4baf868104ed90bb9f314808567fae6610b |
|
MD5 | ba99cc2c6a06ede2d9edbaff30786bfd |
|
BLAKE2b-256 | bb2ee29f8299c349f1a06fdc5c7340ac62d42edddf11d1eb2141b65bb5159902 |
Close
Hashes for ada_url-1.3.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3f332153003c0f68d7f39ba8ff9ffde0423e61760675e22eaa70881cac08878 |
|
MD5 | 826061fe58dbec5993fca8d14e99b896 |
|
BLAKE2b-256 | f04fa92c0da44473835231a7058929988cbc5f44ed9849781ce91ab72896b9e5 |
Close
Hashes for ada_url-1.3.0-cp310-cp310-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4814cba3916f6cf541a474cf2ad9c2045554570da5dfa01ae73d2f618620182a |
|
MD5 | 3b16a4b6938c0bd7d282fc5c8fd2b81e |
|
BLAKE2b-256 | 50d1f0248345fd9d5633d12c2efe90c8d3c398b82b672b902c3f72493180043d |
Close
Hashes for ada_url-1.3.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7258743f66ecdb0722e37da65ad2a1b00ff61709451e93cd6d596de41d60affe |
|
MD5 | 9e5ab7555a8fc346f84c3d9037e20e9a |
|
BLAKE2b-256 | 74937807be2bb3fddec88dae3750bcb090087ba29d73eac74db610d16613b177 |
Close
Hashes for ada_url-1.3.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2c5910073d54024f8116995e18d764efeb352e0cc9237a6fe2fd8c1361aa3ea |
|
MD5 | df8716e26eae05e86d1db5e61f7ac4bf |
|
BLAKE2b-256 | ae4a000d6cb12a75bc14685406c4706ee96253e3b7d50e773b00cae3f3d9f499 |
Close
Hashes for ada_url-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3a309fbe76cfe3446bda69c92040be8c273014f03d92fdbab6bfbe98da0c833 |
|
MD5 | dcbd21c4d140eede54a8329c5045a31b |
|
BLAKE2b-256 | 795c20d6d1fd48d0e9ae426b0e3f108adeed0b6720b1da2ffd4b9e191c1cc5dd |
Close
Hashes for ada_url-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b79dab6bc53a7916d2ce1f82dfd0f5710b74434131ebbb22e7c827d62fd7627f |
|
MD5 | fbd10b3d88b1ef6ce2a1a5ae362797c7 |
|
BLAKE2b-256 | 252a8fde9af83934169d3a08201279e1b74ced0e3128239c12970b6f97c12183 |
Close
Hashes for ada_url-1.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 205b511d22a532c85c7736dca14b8b7276b5dade2f3e20c62015cda40b396538 |
|
MD5 | fdd751b6744cb5aab9e69b42ed58a1ae |
|
BLAKE2b-256 | f7332116912c191aafda09b2c95de6c07f580dc2beb0cf8608ea696a3b62f026 |
Close
Hashes for ada_url-1.3.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e335538fd8c3c01abc9850ebdc37166bb76db1606da4e5986760177da359e5b |
|
MD5 | eb9c8002e56966c1dfb52f81b4091a7e |
|
BLAKE2b-256 | 6cde306ef5de1ea17bbd8283c3039c485dac0bf1f43016f7e42f246253d33ad8 |
Close
Hashes for ada_url-1.3.0-cp39-cp39-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c30132fed3e58f60758f65b956279e530c2417079eece34de6b5b52052f9ffdf |
|
MD5 | ed4d8317a13c5d71b8c0264b87637446 |
|
BLAKE2b-256 | 3ff9fe8222814c15b6820050ea9e3b900acbe1df3b71c8fc4548e9bc811ed9b3 |
Close
Hashes for ada_url-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 529f8c402c8e840c1106ba2ea5d2325f40062d66b45d54d5f53a2dd9deaaae9b |
|
MD5 | 726653701e8a269374c505615abf1a86 |
|
BLAKE2b-256 | bdf8f4ce248e3ba8ee8b039d98cfe87bc0890acd538d7d05b2801121d40d6c51 |
Close
Hashes for ada_url-1.3.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08a4caefa3d6a918a7f4edbde7c9dd0e1ea57a492d6bcf3876ca4e5abab5a9b8 |
|
MD5 | f26d277c807e9e8d2b786cb6129c3ac9 |
|
BLAKE2b-256 | 89c2417f045171e38ce136894d9ece10832839ec3fd7838669883d004f0c2c6a |
Close
Hashes for ada_url-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3340914bf0e73eac6e2a0db48ede784bb41f03e061de4a94a5412f48d6baae3 |
|
MD5 | e3bd771950544b6c327f705a98ac3184 |
|
BLAKE2b-256 | a0d85a25d987e99944e8bd2630d4a533cea89ae7c9e1567d96a384c1d0691bfe |
Close
Hashes for ada_url-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e37ad6795940ed71ba66bf16ad3fbcd0509423f0c506387de131da1744910541 |
|
MD5 | 08c6f26c6f9748618cf37220d7299538 |
|
BLAKE2b-256 | 3237b6a178c06d903a7a06c61a167833b761019246746f06e73ddbab1498cbfb |
Close
Hashes for ada_url-1.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbbdf6da39ba929d2a8728c6cd908906bceadcfbf84bda186ace4730a5df0c64 |
|
MD5 | 654c25812b8b6609718a629c0be0b5e5 |
|
BLAKE2b-256 | e2587c8da9eaf6b225a370bccd62f5755c98405f955242e488b732c7636d2295 |
Close
Hashes for ada_url-1.3.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18796c4d521f7831dd756ea7c7e773d135db54a875b8d5428538edf2f95bdb05 |
|
MD5 | 51866cde4679496211b5544be0aa7777 |
|
BLAKE2b-256 | 88d7a80937c647b7edc7d96f109a4d466d2230648c3b4f3f826a89b30b34da7e |
Close
Hashes for ada_url-1.3.0-cp38-cp38-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dda01df4e6c7f252f45e4b1d570deb860454432043b0697f2b33a5bb81ca560f |
|
MD5 | af0ba432369c4d1509a9d0debbf789ac |
|
BLAKE2b-256 | fde013258990b077efd56c6f4853633c5808451e6ea9feb52b71154ea2823e62 |