# python-furl **Repository Path**: an-yunhao/python-furl ## Basic Information - **Project Name**: python-furl - **Description**: URL manipulation made simple. - **Primary Language**: Unknown - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2021-07-22 - **Last Updated**: 2024-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

furl

### furl is a small Python library that makes parsing and manipulating URLs easy. Python's standard [urllib](https://docs.python.org/2/library/urllib.html) and [urlparse](https://docs.python.org/2/library/urlparse.html) modules provide a number of URL\ related functions, but using these functions to perform common URL\ operations proves tedious. Furl makes parsing and manipulating URLs\ easy. Furl is well tested, [Unlicensed](http://unlicense.org/) in the public domain, and supports\ Python 2, Python 3, PyPy2, and PyPy3. Code time: Query arguments are easy. Really easy. ```python >>> from furl import furl >>> f = furl('http://www.google.com/?one=1&two=2') >>> f.args['three'] = '3' >>> del f.args['one'] >>> f.url 'http://www.google.com/?two=2&three=3' ``` Or use furl's inline modification methods. ```python >>> furl('http://www.google.com/?one=1').add({'two':'2'}).url 'http://www.google.com/?one=1&two=2' >>> furl('http://www.google.com/?one=1&two=2').set({'three':'3'}).url 'http://www.google.com/?three=3' >>> furl('http://www.google.com/?one=1&two=2').remove(['one']).url 'http://www.google.com/?two=2' ``` Encoding is handled for you. Unicode, too. ```python >>> f = furl('http://www.google.com/') >>> f.path = 'some encoding here' >>> f.args['and some encoding'] = 'here, too' >>> f.url 'http://www.google.com/some%20encoding%20here?and+some+encoding=here,+too' >>> f.set(host=u'ドメイン.テスト', path=u'джк', query=u'☃=☺') >>> f.url 'http://xn--eckwd4c7c.xn--zckzah/%D0%B4%D0%B6%D0%BA?%E2%98%83=%E2%98%BA' ``` Fragments also have a path and a query. ```python >>> f = furl('http://www.google.com/') >>> f.fragment.path.segments = ['two', 'directories'] >>> f.fragment.args = {'one': 'argument'} >>> f.url 'http://www.google.com/#two/directories?one=argument' ``` Or get fancy. ```python >>> f = furl('http://www.google.com/search?q=query#1') >>> f.copy().remove(path=True).set(host='taco.com') ... .join('/pumps.html').add(fragment_path='party').asdict() { 'url': 'http://taco.com/pumps.html#party', 'scheme': 'http', 'username': None, 'password': None, 'host': 'taco.com', 'host_encoded': 'taco.com', 'port': 80, 'netloc': 'taco.com', 'origin': 'http://taco.com', 'path': { 'encoded': '/pumps.html', 'isabsolute': True, 'isdir': False, 'isfile': True, 'segments': ['pumps.html']}, 'query': { 'encoded': '', 'params': []}, 'fragment': { 'encoded': 'party', 'path': { 'encoded': 'party', 'isabsolute': False, 'isdir': False, 'isfile': True, 'segments': ['party']}, 'query': { 'encoded': '', 'params': []}, 'separator': True}, } ``` ### API See more furl magic and examples in furl's API document, [API.md](https://github.com/gruns/furl/blob/master/API.md). ### Installation Installing furl with pip is easy. ``` $ pip install furl ```