Python fast HTML5 parser with CSS selectors - see benchmarks
active 2023-08-15 → 2026-06-20 (UTC)
Activity over time
Daily event counts in the loaded window
Line chart, 1041 days from 2023-08-15 to 2026-06-20. Pushes: 197 total, peak 14 in a day. Pull requests: 45 total, peak 6 in a day. Issues: 100 total, peak 6 in a day. Comments: 230 total, peak 11 in a day. Stars: 599 total, peak 22 in a day.
- Pushes
- Pull requests
- Issues
- Comments
- Stars
Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.
Top contributors
Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity
| Contributor | Contributions | Pushes | PRs | Comments |
|---|---|---|---|---|
| rushter | 384 | 195 | 22 | 115 |
| JuroOravec | 29 | 1 | 7 | 13 |
| baseplate-admin | 18 | 0 | 2 | 11 |
| lexborisov | 15 | 0 | 0 | 15 |
| butlscot | 13 | 0 | 0 | 11 |
| ThirVondukr | 12 | 0 | 0 | 9 |
| pygarap | 12 | 0 | 2 | 7 |
| keijak | 8 | 0 | 1 | 6 |
| SkySandy | 7 | 0 | 0 | 3 |
| LeDilam | 7 | 0 | 0 | 2 |
| wnm3 | 6 | 0 | 0 | 2 |
| john-friedman | 5 | 0 | 0 | 5 |
| palandovalex | 5 | 0 | 1 | 3 |
| KaraKaraWitch | 5 | 0 | 0 | 5 |
| amirshukayev | 5 | 0 | 1 | 2 |
| ThinksFast | 5 | 0 | 0 | 4 |
| ilotoki0804 | 4 | 0 | 2 | 2 |
| johnfraney | 3 | 0 | 2 | 0 |
| meequz | 3 | 0 | 0 | 1 |
| lorien | 3 | 0 | 0 | 0 |
Recent activity
Latest issues, pull requests and releases
- Pull request#214schoekek2026-03-12 08:08
- Issue comment#211KaraKaraWitch2026-02-24 05:29double free or corruption (!prev) Error
- Issue comment#194john-friedman2026-02-10 06:32Deprecate and remove Modest based parser in favor of Lexbor
- Issue comment#194john-friedman2026-02-05 22:49Deprecate and remove Modest based parser in favor of Lexbor
- Issue comment#194john-friedman2026-02-05 22:09Deprecate and remove Modest based parser in favor of Lexbor
- Issue comment#194john-friedman2026-02-05 22:07Deprecate and remove Modest based parser in favor of Lexbor
- Issue comment#206rushter2025-12-30 08:53Unable to create table row node
- Issue#206shkarupa-alex2025-12-29 20:52Unable to create table row node
- Issue comment#204rushter2025-12-18 11:59AttributeError: 'NoneType' object has no attribute 'css'
- Issue comment#204leanhdung19942025-12-18 11:10AttributeError: 'NoneType' object has no attribute 'css'
- Issue#203schoekek2025-12-17 08:35wrong tag
- Issue comment#201b-strauss2025-12-08 09:20Segmentation fault since version 0.4.5
- Issue comment#201rushter2025-12-05 17:08Segmentation fault since version 0.4.5
- Issue comment#201rushter2025-12-05 11:32Segmentation fault since version 0.4.5
- Issue comment#192pygarap2025-11-30 02:52Update docs on how to parse fragmented documents
- Issue comment#192rushter2025-11-29 20:58Update docs on how to parse fragmented documents
- Issue comment#192pygarap2025-11-29 20:46Update docs on how to parse fragmented documents
- Issue#197rushter2025-11-29 15:31Traversing always return new objects instead of references to existing ones
- Issue comment#192rushter2025-11-27 18:52Update docs on how to parse fragmented documents
- Issue#194pygarap2025-11-25 23:40Deprecate and remove Modest based parser in favor of Lexbor
- Issue#193pygarap2025-11-25 23:32Update supported Python versions: add 3.14 and drop 3.9
- Issue#191rushter2025-11-25 20:12Rewrite `create_tag` to use new fragmented parser
- Issue comment#190rushter2025-11-25 20:11How to create/insert comment node
- Issue comment#188pygarap2025-11-22 15:25Added a `with_top_level_tags` parameter to the `LexborHTMLParser` constructor, allowing users to specify whether to parse input as a full HTML document or as a fragment!
- Issue comment#189pygarap2025-11-21 19:41Improves the README with more badges, Pypi statistics, contributor recognition, and star history!
Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 599 stars here means stars gained during the window, not the repo's star count.