Skip to main content

scraper-rs

PyPI - Version Tests PyPI Downloads

Python bindings for high-performance Rust HTML parsing via PyO3. It provides a lightweight Document/Element API with CSS selectors backed by rustedbytes-tl, XPath (via xee-xpath), handy helpers, and zero Python-side parsing work.

Install

pip install scraper-rust

# or using uv
uv add scraper-rust

Quick start

from scraper_rs import Document, first, prettify, select, select_first, xpath

html = """
<html><body>
  <div class="item" data-id="1"><a href="/a">First</a></div>
  <div class="item" data-id="2"><a href="/b">Second</a></div>
</body></html>
"""

doc = Document(html)
print(doc.text)  # "First Second"

items = doc.select(".item")
print(items[0].attr("data-id"))  # "1"
print(items[0].to_dict())  # {"tag": "div", "text": "First", "html": "<a...>", ...}

first_link = doc.select_first("a[href]")  # alias: doc.find(...)
print(first_link.text, first_link.attr("href"))  # First /a
print(doc.generate_css_selector(first_link))  # e.g. a[href="/a"]
print(
    doc.generate_xpath_selector(first_link)
)  # Robula+-style XPath, with positional fallback
links_within_first_item = items[0].select("a[href]")
print([link.attr("href") for link in links_within_first_item])  # ["/a"]

# XPath (element results only)
xpath_items = doc.xpath("//div[@class='item']/a")
print([link.text for link in xpath_items])  # ["First", "Second"]
print(doc.xpath_first("//div[@data-id='1']/a").attr("href"))  # "/a"

# Functional helpers
links = select(html, "a[href]")
print([link.attr("href") for link in links])  # ["/a", "/b"]
print(first(html, "a[href]").text)  # First
print(select_first(html, "a[href]").text)  # First
print(
    [link.text for link in xpath(html, "//div[@class='item']/a")]
)  # ["First", "Second"]
print(prettify(html))

For runnable samples, see examples/demo.py and examples/demo_prettify_url.py. Quick URL prettify demo:

python examples/demo_prettify_url.py https://example.com --max-lines 80

Async usage

The scraper_rs.asyncio module exposes an async-first surface for coroutine code. AsyncDocument stores shareable HTML/text state instead of a thread-affine sync Document, and all selectors are awaitable for consistent async calling style:

import asyncio
from scraper_rs import asyncio as scraping_async

html = "<div class='item'><a href='/a'>First</a></div>"


async def main():
    async with await scraping_async.parse(html) as doc:
        items = await doc.select(".item")
        first_link = await items[0].select_first("a[href]")
        print(first_link.text)  # First

    links = await scraping_async.select(html, "a[href]")
    print([link.attr("href") for link in links])  # ["/a"]


asyncio.run(main())

All async functions accept the same keyword arguments as their sync counterparts (max_size_bytes, truncate_on_limit, etc.). CPU-bound async parsing and selection work is offloaded through the Rust async core onto Rayon worker threads so concurrent coroutines do not run that work on the event-loop thread. AsyncDocument supports async with for automatic cleanup in coroutine code, and AsyncElement / AsyncDocument both expose async .prettify() helpers.

Large documents and memory safety

To avoid runaway allocations, parsing defaults to a 1 GiB cap. Pass max_size_bytes to override:

from scraper_rs import Document, select

doc = Document(html, max_size_bytes=5_000_000)  # 5 MB guard
links = select(html, "a[href]", max_size_bytes=5_000_000)

If you want to parse a limited portion of an oversized HTML document instead of rejecting it entirely, use truncate_on_limit=True:

# Parse only the first 100KB of a large HTML document
doc = Document(large_html, max_size_bytes=100_000, truncate_on_limit=True)
links = doc.select("a[href]")  # Will only find links in the first 100KB

# Also works with top-level functions
items = select(large_html, ".item", max_size_bytes=100_000, truncate_on_limit=True)

Note: Truncation happens at valid UTF-8 character boundaries to prevent encoding errors.

API highlights

  • Document(html: str) / Document.from_html(html) parse HTML for CSS and keep the DOM; XPath parsing is initialized lazily on first XPath query.
  • .select(css) → list[Element], .select_first(css) / .find(css) → first Element | None, .css(css) is an alias.
  • .xpath(expr) / .xpath_first(expr) evaluate XPath expressions that return element nodes.
  • .generate_css_selector(element) and .generate_xpath_selector(element) generate selectors for elements returned by the same Document CSS API. CSS generation returns None when its bounded search finds no unique selector supported by the current CSS subset; this is not a proof that no selector exists. XPath uses a scraping-oriented Robula+-style search ranked for stability: semantic data-*/ARIA/item metadata and semantic ancestors are preferred over generated IDs and presentation classes; link/media paths can ignore query churn and relative-vs-absolute URL changes; short normalized text can identify attribute-less targets; positional XPath remains a late fallback. The search is capped at 256 candidates and 12 attributes per node; uniqueness and target identity are checked in the normalized XPath DOM.
  • .prettify() renders the current DOM as an indented string for readable output/debugging.
  • .text returns normalized text; Document.html is the original input HTML; Element.html is inner HTML.
  • scraper_rs.asyncio exposes async parse/select/xpath wrappers plus awaitable AsyncDocument / AsyncElement methods.
  • Element exposes .tag, .text, .html, .attrs plus helpers .attr(name), .get(name, default), .to_dict().
  • Elements support nested CSS and XPath selection via .select(css), .select_first(css), .find(css), .css(css), .xpath(expr), .xpath_first(expr).
  • Elements also expose .prettify() to format element HTML with indentation.
  • Top-level helpers mirror the class methods: parse(html), prettify(html), select(html, css), select_first(html, css) / first(html, css), xpath(html, expr), xpath_first(html, expr).
  • Parse-tree helpers parse_document(html) and parse_fragment(html) return rustedbytes-tl backed structural dictionaries for callers that need node data.
  • CSS selection uses the native rustedbytes-tl selector subset: tag, id, class, *, attribute selectors, comma selectors, descendants, and direct children.
  • max_size_bytes lets you fail fast on oversized HTML; defaults to a 1 GiB limit.
  • truncate_on_limit allows parsing a truncated version (limited to max_size_bytes) of oversized HTML instead of raising an error.
  • Call doc.close() (or with Document(html) as doc: ...) to free parsed DOM resources when you're done.
  • In async workflows, use async with await scraper_rs.asyncio.parse(html) as doc: ... for automatic AsyncDocument cleanup.

Installation

CPython wheels target abi3 (CPython 3.10+). Version-specific wheels are also published for PyPy 3.11 and 3.12. To build locally with the active interpreter:

# Install maturin (uv is used in this repo, but pip works too)
pip install maturin

# Build a wheel
maturin build --release --compatibility linux

# PyPy builds must disable the CPython-only abi3 feature
maturin build --release --compatibility linux --no-default-features

# Install the generated wheel
pip install target/wheels/scraper_rust-*.whl

If you have just installed, the repo includes helpers: just build (local wheel), just install-wheel (install the built wheel), and just build_manylinux (via the official maturin Docker image).

Projects Using scraper-rs

Development

Requirements: Rust toolchain, CPython 3.10+ or PyPy 3.11+, uv, maturin, pytest, and pytest-asyncio for tests.

  • Run tests: just test or uv run pytest tests/
  • Format code: just fmt (or cargo fmt --all and uv run ruff format)
  • Lint Rust: just lint (or cargo clippy --all-targets --all-features -- -D warnings)
  • The PyO3 module name is scraper_rs; the Rust crate is built as cdylib.

Contributions and issues are welcome. If you add public API, please extend the relevant tests, type stubs, docs, and examples accordingly.

Metadata

Release files for scraper-rust 0.16.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scraper-rust 0.16.2
File Size Uploaded
scraper_rust-0.16.2.tar.gz 102.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for scraper-rust 0.16.2
File
scraper_rust-0.16.2-pp312-pypy312_pp80-win_amd64.whl PyPy 3.12 PyPy 3.12 8.0 Windows x86-64 Details
scraper_rust-0.16.2-pp312-pypy312_pp80-manylinux_2_28_x86_64.whl PyPy 3.12 PyPy 3.12 8.0 Linux glibc 2.28+ x86-64 Details
scraper_rust-0.16.2-pp312-pypy312_pp80-manylinux_2_28_aarch64.whl PyPy 3.12 PyPy 3.12 8.0 Linux glibc 2.28+ ARM64 Details
scraper_rust-0.16.2-pp312-pypy312_pp80-macosx_11_0_arm64.whl PyPy 3.12 PyPy 3.12 8.0 macOS 11.0+ ARM64 Details
scraper_rust-0.16.2-pp311-pypy311_pp80-win_amd64.whl PyPy 3.11 PyPy 3.11 8.0 Windows x86-64 Details
scraper_rust-0.16.2-pp311-pypy311_pp80-manylinux_2_28_x86_64.whl PyPy 3.11 PyPy 3.11 8.0 Linux glibc 2.28+ x86-64 Details
scraper_rust-0.16.2-pp311-pypy311_pp80-manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 8.0 Linux glibc 2.28+ ARM64 Details
scraper_rust-0.16.2-pp311-pypy311_pp80-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 8.0 macOS 11.0+ ARM64 Details
scraper_rust-0.16.2-cp315-abi3.abi3t-win_amd64.whl CPython 3.15 abi3t, abi3 Windows x86-64 Details
scraper_rust-0.16.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl CPython 3.15 abi3t, abi3 Linux glibc 2.28+ x86-64 Details
scraper_rust-0.16.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl CPython 3.15 abi3t, abi3 Linux glibc 2.28+ ARM64 Details
scraper_rust-0.16.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl CPython 3.15 abi3t, abi3 macOS 11.0+ ARM64 Details
scraper_rust-0.16.2-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
scraper_rust-0.16.2-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
scraper_rust-0.16.2-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
scraper_rust-0.16.2-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
scraper_rust-0.16.2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
scraper_rust-0.16.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
scraper_rust-0.16.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
scraper_rust-0.16.2-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 44.3 MB

Release files / scraper_rust-0.16.2.tar.gz

Download URL scraper_rust-0.16.2.tar.gz
Size 102.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5b7584cc0446f8a168509ef4e31462431dc9f17ccf755fafc08f0a687cde9b37
BLAKE2b-256 checksum
How to use checksums
382514a2b8c85cd50f55d536d3ee6cfa0b08fd09167664e8426b5e1fab65aae8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp312-pypy312_pp80-win_amd64.whl

Download URL scraper_rust-0.16.2-pp312-pypy312_pp80-win_amd64.whl
Size 2.1 MB
Tags PyPy 3.12 PyPy 3.12 8.0 Windows x86-64
SHA-256 checksum
How to use checksums
dfb9d0820293ccee26cbd24532c3e6f6df65ff002e110937f35da2ffd7348d56
BLAKE2b-256 checksum
How to use checksums
dfbae06ae4c8381581747a139aa80769117cac4fc6e08113b33659c9e54a4124
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp312-pypy312_pp80-manylinux_2_28_x86_64.whl

Download URL scraper_rust-0.16.2-pp312-pypy312_pp80-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.12 PyPy 3.12 8.0
SHA-256 checksum
How to use checksums
36440296b6d7cde25d7b35b96b4cecc8806e82f059affe31064b04e9bd35fb69
BLAKE2b-256 checksum
How to use checksums
f833cd3b8bdc72d1fbe67d4975e4b4393301f29b008f6dd318185230536ee6b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp312-pypy312_pp80-manylinux_2_28_aarch64.whl

Download URL scraper_rust-0.16.2-pp312-pypy312_pp80-manylinux_2_28_aarch64.whl
Size 2.3 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.12 PyPy 3.12 8.0
SHA-256 checksum
How to use checksums
b75e3bc5e4a0fe427e51cdaeedaecf95b1266d99666b5b91a520ed7ff2a73bd6
BLAKE2b-256 checksum
How to use checksums
d1775c3a08999c9dd9827ffcde1fad61f6c33f3ec131ec64b7cfa01533aa6dce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp312-pypy312_pp80-macosx_11_0_arm64.whl

Download URL scraper_rust-0.16.2-pp312-pypy312_pp80-macosx_11_0_arm64.whl
Size 2.1 MB
Tags PyPy 3.12 PyPy 3.12 8.0 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5dddc5af409583617f7c5267a4f66cb1151ea9df3f59badd5cacc39ff3610359
BLAKE2b-256 checksum
How to use checksums
371cc0541a519d59976270bb90ecb241dbd35d6e8f1a15d1f44b821bbf78ec55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp311-pypy311_pp80-win_amd64.whl

Download URL scraper_rust-0.16.2-pp311-pypy311_pp80-win_amd64.whl
Size 2.1 MB
Tags PyPy 3.11 PyPy 3.11 8.0 Windows x86-64
SHA-256 checksum
How to use checksums
7c5e7b6dd383e2ae62ade4c154a64fc7f209a196fa27202b337face21fc852ee
BLAKE2b-256 checksum
How to use checksums
7cfb1f96cc5a40319156d86580f24879cfce538c6d4c5e7c39b1c937149cd8dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp311-pypy311_pp80-manylinux_2_28_x86_64.whl

Download URL scraper_rust-0.16.2-pp311-pypy311_pp80-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 8.0
SHA-256 checksum
How to use checksums
6addde9bd4e78ce7b367629f5d3e0695a6260b7382c07cbbfb510674f5def1c4
BLAKE2b-256 checksum
How to use checksums
7de3e751eb2ef0444336048a39004dded6e82f403d9559b5a2d2816be74ee69e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp311-pypy311_pp80-manylinux_2_28_aarch64.whl

Download URL scraper_rust-0.16.2-pp311-pypy311_pp80-manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 8.0
SHA-256 checksum
How to use checksums
96d8aa037fd8311d1fe86052215cefb7a295196ce8e7049a66fa743e6e0f9a28
BLAKE2b-256 checksum
How to use checksums
84f89e4cf48427f1c21e74c28e852035ec5dc952d74d7f08632955f1ce7d551c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-pp311-pypy311_pp80-macosx_11_0_arm64.whl

Download URL scraper_rust-0.16.2-pp311-pypy311_pp80-macosx_11_0_arm64.whl
Size 2.1 MB
Tags PyPy 3.11 PyPy 3.11 8.0 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e73673c64db8af9f30e38ae4098a8695954e15754a319a7a8cd80dd6ed747085
BLAKE2b-256 checksum
How to use checksums
5b675a92c88f4abeaba57cd585b48b9ceec8bb78370783626be1ea60922fd530
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp315-abi3.abi3t-win_amd64.whl

Download URL scraper_rust-0.16.2-cp315-abi3.abi3t-win_amd64.whl
Size 2.1 MB
Tags CPython 3.15 Windows x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
2edd49b1a6cf8a590934799060d18a054ec496aa7db97c5b1d884bf106c0065e
BLAKE2b-256 checksum
How to use checksums
ad901737082ccf5b6779a8821b751b7b347ba7d0fb013c30f4d01a9ba64f296b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl

Download URL scraper_rust-0.16.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
08450ce0c80380f75ba6c41795bcce16a31f9423336592243f59f50cf12e557c
BLAKE2b-256 checksum
How to use checksums
831840fb4f99dbdbb02141e5f2a1d6b604637c5aaca91a8cfa4a9b332e1228d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl

Download URL scraper_rust-0.16.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl
Size 2.3 MB
Tags CPython 3.15 Linux glibc 2.28+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
7283406cf52296d3054543fcad5094e54fc232abfef724b0459c34a5cbad3466
BLAKE2b-256 checksum
How to use checksums
bed8a254ecbd8248969f87d4e4055932936ed49dbd3f827d83c506bb5f8e502a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl

Download URL scraper_rust-0.16.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.15 abi3 abi3t macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b774660f8b2979da1d305332fb5399c36cac240c23999163ded9c7dc88dcbe10
BLAKE2b-256 checksum
How to use checksums
fe6b398e69cfb5701f4a525f9467074da0721adf77c513191fb3e33327556e24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp314-cp314t-win_amd64.whl

Download URL scraper_rust-0.16.2-cp314-cp314t-win_amd64.whl
Size 2.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
f71033f060782d5c8b75f0f6d2032d384e64b57c6bf9e25606e323aadaf7fc3e
BLAKE2b-256 checksum
How to use checksums
d291320a1060bdc405f40bc4906dfd345493c971177339cfe258bf2227f0e6c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL scraper_rust-0.16.2-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a83d54bc47d43a383f1a929a1f32807ff290e95f9b48db04e1e328928a43ebbc
BLAKE2b-256 checksum
How to use checksums
a5da4aa4d4036e501433e8f2555530bda5537a9b9b3aff2f571d33a337a36197
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL scraper_rust-0.16.2-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 2.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b98404f102973512f3f6af16ba25af8064ff3301d7199b71cda30aa8e3ffd982
BLAKE2b-256 checksum
How to use checksums
fdacac04ad24d72baf5e95e0f3b62bee92dcfec1ff0139b6629b2ae3ecc7fe7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp314-cp314t-macosx_11_0_arm64.whl

Download URL scraper_rust-0.16.2-cp314-cp314t-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
71175c7ca867e8b18e695bda29b0ab81cf3254f1d9973a3048c7cac66644ed58
BLAKE2b-256 checksum
How to use checksums
d5edf26b90275a3f57c6dbd3ee5664cf3a33e48d27c405fe3b895c84d2a9673e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp310-abi3-win_amd64.whl

Download URL scraper_rust-0.16.2-cp310-abi3-win_amd64.whl
Size 2.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
a8a139ea76712e4ee9999239a241ca1efda6cd3bb7c45f57942f0cf98a9b98cf
BLAKE2b-256 checksum
How to use checksums
15c7fb6c0048a90f80a208fa3bbc3ccbc5d598d0148cbb77c3479711a4f61966
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scraper_rust-0.16.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
cba0dcc95df57a6972de815eca52bc5bbf0040efa44f4d80b3410aa2e390ce65
BLAKE2b-256 checksum
How to use checksums
12632a107f2eb29d0db52195ab6d74ef5f9015ec11a91efa44f45a7547ec8560
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL scraper_rust-0.16.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.2 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
0b4c4e90a72ae7d3715fdb7a6022aaa0fefa9bd7675cdcfac21e0ebd1c716e22
BLAKE2b-256 checksum
How to use checksums
2b77b3da4f0dcd848bb867f82f7084636279d6ad1ac90e0d2a0819123bc0406c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / scraper_rust-0.16.2-cp310-abi3-macosx_11_0_arm64.whl

Download URL scraper_rust-0.16.2-cp310-abi3-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
35307b18c846e49e0e0bb60c247aab7d6a8ff5c1e61ac41091508386b2862c74
BLAKE2b-256 checksum
How to use checksums
65e3282811571c39841b9695e873f32b7a4fb6e1d11060bf9648c3eb34205a57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.16.2 This release

21 release files

0.11.0

5 release files

0.10.0

5 release files

0.9.0

5 release files

0.7.0

5 release files

0.6.0

5 release files

0.5.1

5 release files

0.5.0

5 release files

0.4.3

7 release files

0.4.2

7 release files

0.4.1

10 release files

0.4.0

10 release files

0.3.3

10 release files

0.3.2

10 release files

0.3.1

10 release files

0.3.0

10 release files

0.2.19

8 release files

0.2.17

6 release files

0.2.16

4 release files

0.2.14

4 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page