scraper-rust 0.5.1__tar.gz → 0.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/AGENTS.md +4 -6
  2. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/Cargo.lock +294 -337
  3. scraper_rust-0.6.0/Cargo.toml +48 -0
  4. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/PKG-INFO +5 -4
  5. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/README.md +3 -2
  6. scraper_rust-0.6.0/benchmarks/README.md +54 -0
  7. scraper_rust-0.6.0/benchmarks/common.rs +122 -0
  8. scraper_rust-0.6.0/benchmarks/parse_scaling.rs +38 -0
  9. scraper_rust-0.6.0/benchmarks/sync_async.rs +128 -0
  10. scraper_rust-0.6.0/build.rs +3 -0
  11. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/justfile +3 -0
  12. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/pyproject.toml +2 -2
  13. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/scraper_rs/__init__.py +1 -1
  14. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/async_core.rs +9 -5
  15. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/document.rs +26 -35
  16. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/element.rs +0 -18
  17. scraper_rust-0.6.0/src/html5_dict.rs +151 -0
  18. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/lib.rs +4 -2
  19. scraper_rust-0.6.0/src/prettify.rs +241 -0
  20. scraper_rust-0.6.0/src/selectors.rs +47 -0
  21. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/tests.rs +7 -12
  22. scraper_rust-0.6.0/src/text.rs +89 -0
  23. scraper_rust-0.6.0/src/tl_dom.rs +313 -0
  24. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/xpath.rs +2 -2
  25. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/tests/test_scraper.py +56 -2
  26. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/uv.lock +23 -23
  27. scraper_rust-0.5.1/Cargo.toml +0 -31
  28. scraper_rust-0.5.1/benchmarks/README.md +0 -440
  29. scraper_rust-0.5.1/benchmarks/bench_parse_memory.py +0 -523
  30. scraper_rust-0.5.1/benchmarks/bench_sync_async.py +0 -309
  31. scraper_rust-0.5.1/benchmarks/bench_vs_markupever.py +0 -273
  32. scraper_rust-0.5.1/src/html5_dict.rs +0 -493
  33. scraper_rust-0.5.1/src/prettify.rs +0 -207
  34. scraper_rust-0.5.1/src/selectors.rs +0 -85
  35. scraper_rust-0.5.1/src/text.rs +0 -76
  36. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/.github/workflows/benchmark.yml +0 -0
  37. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/.github/workflows/bump-version.yml +0 -0
  38. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/.github/workflows/release.yml +0 -0
  39. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/.github/workflows/tests.yml +0 -0
  40. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/.gitignore +0 -0
  41. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/LICENSE +0 -0
  42. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/docs/README.md +0 -0
  43. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/docs/api.md +0 -0
  44. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/docs/architecture.md +0 -0
  45. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/docs/async-api.md +0 -0
  46. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/docs/development.md +0 -0
  47. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/docs/limits-and-errors.md +0 -0
  48. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/examples/demo.py +0 -0
  49. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/examples/demo_async_document.py +0 -0
  50. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/examples/demo_asyncio.py +0 -0
  51. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/examples/demo_prettify_url.py +0 -0
  52. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/py.typed +0 -0
  53. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/scraper_rs/asyncio.py +0 -0
  54. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/scraper_rs/asyncio.pyi +0 -0
  55. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/scraper_rs.pyi +0 -0
  56. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/cache.rs +0 -0
  57. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/functions.rs +0 -0
  58. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/limits.rs +0 -0
  59. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/src/runtime.rs +0 -0
  60. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/tests/test_asyncio.py +0 -0
  61. {scraper_rust-0.5.1 → scraper_rust-0.6.0}/tests/test_performance.py +0 -0
@@ -4,7 +4,7 @@ This file contains essential information for Large Language Models (LLMs) to eff
4
4
 
5
5
  ## Project Overview
6
6
 
7
- **scraper-rs** is a Python library providing high-performance HTML parsing and CSS/XPath selection through Python bindings to the Rust `scraper` crate. It uses PyO3 to create Python bindings for Rust code, offering zero Python-side parsing overhead.
7
+ **scraper-rs** is a Python library providing high-performance HTML parsing and CSS/XPath selection through Python bindings to Rust HTML tooling. It uses PyO3 to create Python bindings for Rust code, offering zero Python-side parsing overhead.
8
8
 
9
9
  - **Repository**: https://github.com/RustedBytes/scraper-rs
10
10
  - **Package Name**: `scraper-rust` (PyPI)
@@ -17,9 +17,8 @@ This file contains essential information for Large Language Models (LLMs) to eff
17
17
 
18
18
  ### Core Technologies
19
19
  - **Rust** (2024 edition)
20
- - `scraper` v0.27.0 from `rust-scraper/scraper` with the `atomic` feature - HTML parsing and CSS selection
21
20
  - `xee-xpath` v0.1.5 - XPath support
22
- - `html5ever` v0.39.0 - parse-tree dictionary helpers
21
+ - `rustedbytes-tl` v0.2.0 with `std` feature - HTML parsing, CSS selection, and parse-tree dictionary helpers
23
22
  - `pyo3` v0.28.3 with `abi3-py310`; the `extension-module` feature is enabled through the package build config
24
23
  - `pyo3-async-runtimes` v0.28 with `tokio-runtime` feature
25
24
  - `tokio` v1 (rt, macros) for async wrappers
@@ -308,9 +307,8 @@ See `.github/workflows/release.yml` and `.github/workflows/bump-version.yml`
308
307
  - `pyo3 = { version = "0.28.3", features = ["abi3-py310"] }`
309
308
  - `pyo3-async-runtimes = { version = "0.28", features = ["tokio-runtime"] }`
310
309
  - `tokio = { version = "1", features = ["rt", "macros"] }`
311
- - `scraper = { version = "0.27.0", git = "https://github.com/rust-scraper/scraper", features = ["atomic"], rev = "9c1eff304e45a8bccb463968268ce6758703e821" }`
312
310
  - `xee-xpath = "0.1.5"`
313
- - `html5ever = "0.39.0"`
311
+ - `rustedbytes-tl = { version = "0.2.0", features = ["std"] }`
314
312
 
315
313
  ### Python Dependencies (pyproject.toml)
316
314
  **Runtime**: None (self-contained binary wheel)
@@ -339,7 +337,7 @@ See `.github/workflows/release.yml` and `.github/workflows/bump-version.yml`
339
337
  ## Resources
340
338
 
341
339
  - **PyO3 Documentation**: https://pyo3.rs/
342
- - **scraper crate**: https://docs.rs/scraper/
340
+ - **rustedbytes-tl crate**: https://crates.io/crates/rustedbytes-tl
343
341
  - **Maturin Guide**: https://www.maturin.rs/
344
342
  - **Project README**: `README.md`
345
343
  - **Example Usage**: `examples/demo.py`