Add indent argument to HTMLFormatter and XMLFormatter inits (#11855)
bs4: Make Tag.attrs
more permissive (#11487)
Make Tag.attrs
more permissive to be in line with actual code
Tag.attrs
is a dict can technically have list[str]
as a valid value, not just str
. Making the value type a union with Any
allows list[str]
to be valid in a type checker's eyes if a user narrows it.
Based on discussion in, and fixes, #8755.
Update typing_extensions imports in third-party stubs (#11245)
Remove many redundant inheritances from Generic[]
(#10933)
Fill in all missing upstream_repository
fields (#10571)
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Add partial_stub
metadata field (#10157)
bs4: NavigableString accepts ReadableBuffer (#10106)
It delegates to str.new.
bs4: update for 4.12.2 (#10026)
Release: https://pypi.org/project/beautifulsoup4/4.12.2/
bs4: update for 4.12.1 (#10015)
Add defaults for third-party stubs A-D (#9952)
[stubsabot] Bump beautifulsoup4 to 4.12.* (#9910)
Release: https://pypi.org/pypi/beautifulsoup4/4.12.0 Homepage: https://www.crummy.com/software/BeautifulSoup/bs4/
Stubtest settings: change ignore_missing_stub
default to false
(#9779)
If you're reading about this commit from an autogenerated changelog entry, this should have no user-visible impact on how the stubs are interpreted by a type checker; it's just an internal change to how typeshed's tests work.
Use typing_extensions.Self
instead of _typeshed.Self
(#9702)
Fix stubtest errors on beautifulsoup4
(#9648)
Fixes #9645.
Replace Any
with Incomplete
in many places (#9565)
Replace Any
with Incomplete
in many places (#9558)
Add types-html5lib
as a dependency of types-beautifulsoup4
(#9462)
Remove the need for subclassing Any
Annotate known magic-method return types (#9131)
[bs4] More precise types for bs4.Tag.select(_one) (#8687)
Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com
Support extras in stubtest_third_party.py (#8467)
beautifulsoup4: Fix type of Tag.iter (#8357)
Import Match
and Pattern
from re
, not typing
(#8277)
Fix TypeVar
s in beautifulsoup
and SQLAlchemy
(#8087)
beautifulsoup4: small fixes and updates (#7816)
bs4: update to 4.11 (#7785)
Co-authored-by: hauntsaninja <>
Third-party stubs: import from collections.abc
where possible (#7637)
Use TypeAlias
where possible for type aliases (#7630)
Replace Union with union operator (#7596)
Mark many attributes as read-only properties (#7591)
Add mypy error codes to type: ignore
s, remove unused ignores (#7504)
Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com
Use PEP 604 syntax wherever possible (#7493)
bs4: expose several other classes (#7420)
On the same lines as #7419
These are all imports that are not used within bs4/init.py My main interest here is in exposing NavigableString
Co-authored-by: hauntsaninja <>
bs4: expose bs4.PageElement (#7419)
This is generally useful. It's also imported in the source without being used in bs4/init.py which in well maintained packages is a pretty good marker of intention to export
Co-authored-by: hauntsaninja <>
Tag.attrs is a dict, instead of an immutable Mapping (#7253)
bs4: Expose bs4.SoupStrainer and bs4.Tag (#7002)
Use lowercase type
everywhere (#6853)
Update pyright (#6840)
Use PEP 585 syntax wherever possible (#6717)
Fix third-party issues found by stubtest (#6667)
Reduce use of deprecated typing
aliases (#6358)
Cleanup: use lower-case list and dict, add a test (#6161)
Put Generic last in base class list (#6155)
Add star to all non-0.1 versions (#6146)
PageElement.find_all() can return any subclass of PageElement (#6081)
Update for beautifulsoup4 for version 4.10 (#6059)
Tighten types and add missing fields