furl is a small Python library that makes it easier to parse, inspect, build, and modify URLs without relying on tedious low-level URL handling code. It wraps URL components into convenient objects, so developers can work directly with schemes, usernames, passwords, hosts, ports, paths, queries, and fragments. The library supports simple path editing, query argument changes, fragment manipulation, inline method chaining, and URL joining. It also handles encoding automatically, including percent-encoding, Unicode domains, Unicode paths, and query strings. furl supports Python 3 and PyPy3 and is designed to be well tested and practical for everyday backend, scripting, and data-processing workflows. It is a good fit for developers who frequently need to clean, transform, generate, or normalize URLs in Python applications.
Features
- URL parsing and modification
- Path segment editing
- Query argument management
- Fragment path and query support
- Inline add, set, and remove methods
- Automatic encoding handling