BSD Ports

www/py-soupsieve 2.9.2 NetBSD

CSS4 selector implementation for Beautiful Soup

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
Last update
Commit
7ec63d5fbc
License
mit
Categories
www, python
Package size
81.7 KiB, 476.5 KiB installed

Description

Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. 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 (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. 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 level 4 drafts, though there are a number that don't make sense in a non-browser environment. Selectors that cannot provide meaningful functionality simply do not match anything.

In the other systems

The newest version among them is 2.9.2, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
NetBSDwww/py-soupsieve2.9.2 newestnone known-[email protected]2026-10-24
FreeBSDwww/py-soupsieve2.8.4_1 behind since 2026-07-23none known-[email protected]2026-09-06
OpenBSDwww/py-soupsieve2.9.2v0 newestno data-The OpenBSD ports mailing-list <[email protected]>2026-09-10
DragonFlywww/py-soupsieve2.0.1_1 behind since 2026-07-23none known-[email protected]-
MidnightBSDwww/py-soupsieve2.0.1_1 behind since 2026-07-23no data-[email protected]-
HardenedBSDwww/py-soupsieve2.8.4_1 behind since 2026-07-23no data-[email protected]-
GhostBSDwww/py-soupsieve2.8.4_1 behind since 2026-07-23no data-[email protected]-
OPNsensewww/py-soupsieve2.8 behind since 2026-07-23no data-[email protected]-

Compare across BSDs

Version history 5

  1. 3.0.4 7ec63d5fbc
  2. 3.0.3 b3fbca0990
  3. 2.10 5c84ad3f71
  4. 2.9.2 547035b206
  5. 2.9.1 e51a7612d7

Upstream's version as each commit to the port's Makefile set it, or as this site first saw it in the system's packages; the tree's own revisions are not versions here.

Install

Binary package:

pkgin install py311-soupsieve

From pkgsrc:

cd /usr/pkgsrc/www/py-soupsieve && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_642.9.2
NetBSD 10.1 aarch642.9.2
SmartOS / illumos x86_643.0.3
macOS 15 arm643.0.3

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Run dependencies 1

Configuration

No options to configure.

Service scripts
none
Flavors
py312-soupsieve-2.9.2, py313-soupsieve-2.9.2, py314-soupsieve-2.9.2

Commit history 5

DateCommitCreditsLog message
7ec63d5fbc adam py-soupsieve: updated to 3.0.4
3.0.4 - **FIX**: Keep own and descendant text separate when combining `:-soup-contains()` and `:-soup-contains-own()`. - **FIX**: Cache resolved directionality when matching `:dir()` to avoid quadratic time on deeply nested `dir="auto"` elements. - **FIX**: Fix `auto` handling in regard to `:dir()` selector. When an element with `dir="auto"` (or a `<bdi>`) contains no strong direction characters, it should be assumed as left-to-right and not assume the direction of the parent. - **FIX**: Match numeric input ranges correctly when values or bounds use scientific notation. - **FIX**: Fix `:in-range` and `:out-of-range` raising `ValueError` for `week` inputs whose week-year is 10000 or greater. …
b3fbca0990 wiz py-soupsieve: update to 3.0.3.
3.0.3 FIX: When matching with >, the BeautifulSoup object should not count as a parent. FIX: Fix case where relative sibling matching under :has(~) would incorrectly match a sibling that came before the target element. 3.0.2 FIX: Python versions less than 3.11.5 have broken possessive quantifiers, so require at least 3.11.5 for Soup Sieve 3.0+. 3.0 and 3.0.1 will be yanked from PyPI to avoid having the 3.0 series installed on Python < 3.11.5 which will cause the library to be broken. 3.0.1 FIX: Fix regression related to [attribute!=value] where previously it would match if the attribute was not present and recent changes broke that. Essentially, [attribute!=value] should be the same as :not([attribute=value]). 3.0 …
5c84ad3f71 wiz py-soupsieve: update to 2.10.
NEW: Support Python 3.15. NEW: Add new ignore option to API methods that allows the specification of specific pseudo-classes to be ignored. NEW: Tighten restrictions such that namespaces and custom objects must always be a Mapping, previously lists of tuples were also allowed. NEW: Use a singleton for null selectors internally via called Null of type SelectorNull. NEW: For performance, Soup Sieve will no longer try and coerce bad attribute values to useable strings. NEW: Add NOCACHE flag that can be used to disable caching optimizations selectors and possibly other future caching optimizations. Provided for disabling and also disabling if issues are found with the new caching approach. FIX: Improve performance of ~ for various cases by employing caching. …
547035b206 adam py-soupsieve: updated to 2.9.2
2.9.2 - **FIX**: Fix issue where `:is()` and `:where()` were not accounting for empty selectors in the max selector count as they should (@arpitjain099). - **FIX**: Fix issue where `:has()` was allowing empty selectors in some circumstances even though it is not forgiving. - **FIX**: Reduce selector object size when `:is()` and `:where()` contain empty selectors.
e51a7612d7 adam py-soupsieve: updated to 2.9.1
2.9.1 - **FIX**: Correct `[attr^=""]`, `[attr$=""]`, and `[attr*=""]` to match nothing when the value is empty, per CSS Selectors Level 4 substring matching, which previously matched any element merely having the attribute (@chuenchen309). 2.9 - **NEW**: Drop Python 3.9 support. - **NEW**: Lazy compile selector patterns to improve initial import speed. - **FIX**: Correct `:nth-child`/`:nth-of-type` (and `-last-` variants) for `An+B` values whose sequence steps onto index 0 or onto the last child (e.g. `:nth-child(2n-2)`, `:nth-child(n-1)`, `:nth-child(n+5)`), which previously matched the wrong elements or nothing at all (@gaoflow). - **FIX**: More efficient CSS ID matching (@kaimandalic). - **FIX**: Fix inefficient trimming of comments and white space (@kaimandalic).