skillfed

soupsieve

A modern CSS selector implementation for Beautiful Soup.

soupsieve Permissive license MIT Active 267 v2.9.2 released

Install

soupsieve on PyPI

pip

pip install soupsieve

uv

uv add soupsieve

poetry

poetry add soupsieve

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 6 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: soupsieve-2.9.2-py3-none-any.whl

Keywords: CSS, HTML, XML, filter, query, selector, soup

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming 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/HTTP :: Dynamic ContentTopic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

About soupsieve

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

[![Donate via PayPal][donate-image]][donate-link] [![Build][github-ci-image]][github-ci-link] [![Coverage Status][codecov-image]][codecov-link] [![PyPI Version][pypi-image]][pypi-link] [![PyPI Downloads][pypi-down]][pypi-link] [![PyPI - Python Version][python-image]][pypi-link] [![License][license-image-mit]][license-link]

Soup Sieve

Overview

Soup Sieve is a CSS selector library designed to be used with [Beautiful Soup 4][bs4]. It aims to provide selecting, matching, and filtering using modern CSS selectors. Soup Sieve currently provides selectors from the CSS level 1 specifications up through the latest CSS level 4 drafts and beyond (though some are not yet implemented).

Soup Sieve was written with the intent to replace Beautiful Soup's builtin select feature, and as of Beautiful Soup version 4.7.0, it now is :confetti_ball:. Soup Sieve can also be imported in order to use its API directly for more controlled, specialized parsing.

Soup Sieve has implemented most of the CSS selectors up through the latest CSS draft specifications, though there are a number that don't make sense in a non-browser environment. Selectors that cannot provide meaningful functionality...

Read as markdown · JSON record · Source repository · Homepage

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

Soupsieve is a CSS selector library that enables selecting, matching, and filtering HTML/XML elements using modern CSS selectors up through CSS level 4 specifications.

Installation is straightforward with no runtime dependencies. The package is actively maintained with a release 6 days ago and supports Python 3.10 through 3.14.

MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.

Usage

pip install soupsieve

import soupsieve as sv
sv.select('.item', element)

Requires Python 3.10 or later.

Verdict: Soupsieve is a stable, actively maintained CSS selector library with no known vulnerabilities, zero runtime dependencies, and permissive MIT licensing. It is suitable for production use.

Needs verification

  • Whether Beautiful Soup 4 is a practical runtime dependency despite not appearing in the package's formal dependency list
CSS selectors for HTML parsingCSS query HTML elementsweb scraping CSS selectorsHTML element filteringCSS level 4 selector supportDOM query libraryselector matching library

Similar packages