skillfed

yarl

Yet another URL library

yarl Permissive license Apache-2.0 Active 1,490 v1.24.5 released

Install

yarl on PyPI

pip

pip install yarl

uv

uv add yarl

poetry

poetry add yarl

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — idna, multidict, propcache
Maintenance actively maintained — 24 days since the last release
Last repo commit
First released
Popularity one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: yarl-1.24.5-py3-none-any.whl

Keywords: cython, cext, yarl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: CythonProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries :: Python Modules

About yarl

from the package's own PyPI description — quoted content, verbatim

yarl

The module provides handy URL class for URL parsing and changing.

.. image:: https://github.com/aio-libs/yarl/workflows/CI/badge.svg :target: https://github.com/aio-libs/yarl/actions?query=workflow%3ACI :align: right

.. image:: https://codecov.io/gh/aio-libs/yarl/graph/badge.svg?flag=pytest :target: https://app.codecov.io/gh/aio-libs/yarl?flags[]=pytest :alt: Codecov coverage for the pytest-driven measurements

.. image:: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json :target: https://codspeed.io/aio-libs/yarl

.. image:: https://badge.fury.io/py/yarl.svg :target: https://badge.fury.io/py/yarl

.. image:: https://readthedocs.org/projects/yarl/badge/?version=latest :target: https://yarl.aio-libs.org

.. image:: https://img.shields.io/pypi/pyversions/yarl.svg :target: https://pypi.python.org/pypi/yarl

.. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat :target: https://matrix.to/#/%23aio-libs:matrix.org :alt: Matrix Room — #aio-libs:matrix.org

.. image::...

Read as markdown · JSON record · Source repository · Homepage · Docs

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

yarl provides an immutable URL class for parsing, validating, and manipulating URLs with automatic percent-encoding and convenient property access to URL components.

Low friction: pure wheel distribution (yarl-1.24.5-py3-none-any.whl) with only three lightweight runtime dependencies (idna, multidict, propcache). Active maintenance—released 24 days ago with recent commits and 1490 GitHub stars.

Apache-2.0 permissive license allows free use, modification, and distribution in both open-source and proprietary projects with minimal restrictions.

Usage

pip install yarl

from yarl import URL
url = URL('https://www.python.org/~guido?arg=1#frag')
print(url.host)  # 'www.python.org'
print(url.path)  # '/~guido'

Requires Python 3.10 or later; optional C extension compilation can be skipped by setting YARL_NO_EXTENSIONS environment variable or using --config-settings=pure-python=false, though pure-Python version is slower.

Verdict: yarl is a production-stable, actively maintained URL library in the top 100 PyPI packages with zero known vulnerabilities. Its immutable design, automatic encoding/decoding, and low install friction make it suitable for most URL-handling tasks, though users should be aware that the pure-Python fallback (used on PyPy or when extensions are disabled) has performance trade-offs.

Needs verification

  • Performance characteristics and benchmarks comparing the C-compiled vs. pure-Python implementations in real-world scenarios.
  • Compatibility with async frameworks beyond the aio-libs ecosystem that may depend on yarl.
url parsing and manipulationimmutable url classpercent encoding decodingurl query string handlinghttp url builderuri parsing libraryurl validation

Similar packages