Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
URL manipulation made simple.
Python
branch: master

Furl v0.4.7.

latest commit 62010d5b65
Arthur Grunseid authored

README.md

furl

Badge fury Build status

A small Python library that makes manipulating URLs simple.

Python's standard urllib and urlparse modules provide a number of URL manipulation functions, but using these functions to perform common URL manipulations proves tedious. Furl makes manipulating URLs easy.

Furl is well tested, Unlicensed in the public domain, and supports both Python 2 and 3.

Query arguments are easy. Really easy.

>>> 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.

>>> 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.

>>> 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'

Fragments have a path and a query, too.

>>> 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'

API

See more furl magic and examples in furl's API document, API.md.

Installation

Installing furl with pip is easy.

$ pip install furl

Deprecated methods

f.pathstr, f.querystr, and f.fragmentstr are deprecated in favor of str(f.path), str(f.query), and str(f.fragment). There should be one, and preferably only one, obvious way to serialize URL components to strings.

Something went wrong with that request. Please try again.