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.1

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.1
File Size Uploaded
scraper_rust-0.16.1.tar.gz 98.3 kB Details

Built distributions (wheels)

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

Total release size: 44.1 MB

Release files / scraper_rust-0.16.1.tar.gz

Download URL scraper_rust-0.16.1.tar.gz
Size 98.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7773383a438792a9254334a1ce99000f8d912290e4d3a490c621a51518187f58
BLAKE2b-256 checksum
How to use checksums
fcdf07e3415f13de1fe87873bc828b2dc4a9882473af67d16733f366d2029847
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
93e864cc3f672e41d47802d3aed8a235193f14e59afeee2bc5b904cfb224fbfc
BLAKE2b-256 checksum
How to use checksums
b3a766712d9368bd41b43b4ed7534193cef2cb16f15f0e8a9af4268d08ff8b32
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
6829ed21b20f6cb65158f1b6a1e21c95b71c48a9f63022f45938264770495871
BLAKE2b-256 checksum
How to use checksums
71db08641d4169148a9b897ae303aa7407c51b8c40a42d593c066715160ee05a
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
299929c1c49609378f74c9e9bdbdb0eb562d79b50170d7a77a625a44a025e790
BLAKE2b-256 checksum
How to use checksums
a12d95c56e864e3bed4f539da9de594276041e2dad49434478f4d5f6b21a0fa9
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
8200a20c8d0e1fa73ea188a441e561bd357ae1394cdf6e2d1377780ca4c2fab1
BLAKE2b-256 checksum
How to use checksums
92e45b6bfaaf2b3a36b7716e510c521578ea9b5aa78015728c95e9c222088f8d
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
b239d13e6343c26c42c3a7eb8d93eb710c1dd226985fc374f10d9a086bcbe39a
BLAKE2b-256 checksum
How to use checksums
4ae171b6d1814baf9b6b531d5160aadb542a601c83f817d2fa5751b4bedc3a20
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-pp311-pypy311_pp80-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 8.0
SHA-256 checksum
How to use checksums
86e21d3ffae825b8592a3ff2c579f6dfa83487f62b933a214d5a3f630a1a9fd4
BLAKE2b-256 checksum
How to use checksums
50d175671527b5b82dc5fe08f8b735734bac7ec5af6219484266faba79a5f535
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
ab422aa1b20bebad652e33d6a90913450ed3ff7126b70f494cec1d2feb31ee4d
BLAKE2b-256 checksum
How to use checksums
154b522bcac2add918e5450bf56843e72152fc9257e621ff7c5c8cc7438009fd
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
5412cc816a2bd126ef074f05c3e5695089e46fabb4aabf13ced163b34563464c
BLAKE2b-256 checksum
How to use checksums
288878ed9fcd04317edfd957028b133bb25195b2c13d6ae0323b7c12a11935aa
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
bf720ca9308d1ad960393f8370937a0b3e3f22e158ce008d3224c5ba74f979c7
BLAKE2b-256 checksum
How to use checksums
2aa5ed01676abf8a69b55741938f50a7407855857fc038ca435e35168b1a0519
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
1ac358f4b36e269de449ea841a93287a937cda2a0bb7917eef5a2cdd9513a8fa
BLAKE2b-256 checksum
How to use checksums
90ccacf169097ed08bb5d594c0e536a49d1c7ee72ecdb88e50e15e1a0e2c23b4
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.15 Linux glibc 2.28+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
ec61f5be5bdb50b0b55c2f3722ffbc7b0f9adf236d65dc7ed1d7c18ea7045f1b
BLAKE2b-256 checksum
How to use checksums
dbf411466ba79c6257b7c04d8216cda3ae02d14996559447037702fafafcb48b
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
8784ffbc21a50bf80a46cf78e1ffd449888732410bacc5d80c8825b9c36ffdbb
BLAKE2b-256 checksum
How to use checksums
fed0c797fee42cb8af072d1522e52b6ff8c3f8e3ae8c592e0937ecc2e2149924
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
61d0b36a6e3ca2f421cf0ef39cc8a8a0d3e9f7140fe34d54276002e35e0f8cb0
BLAKE2b-256 checksum
How to use checksums
2c3acc04cef668b145699437a03c71f8490086165cde98e203d44fda97dd055d
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
2c3077ab6d9688acb3754b32af711a8b3a0385e582f165ce34d14731b9447675
BLAKE2b-256 checksum
How to use checksums
37e107b9e8f155cc65aeb6d28a797d5a332ec79b3d435fc70a54cd5010c35194
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c26d2de9cd31ad36cd7913a3099348c6744661ae81e63835dc035124aae836bd
BLAKE2b-256 checksum
How to use checksums
7cdd177a592a9aba6d54ad655f07d475de114eb9a02ffe736a66fb63ee925fe4
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
fe31babac1cb3889ed370b2be09d47ca3081fd493f7533fdf358f1d8b3d0da91
BLAKE2b-256 checksum
How to use checksums
86b320b7373cfbc120ff646abef238fbf1be1947c21c0d25db279c9e1037b55a
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-cp310-abi3-win_amd64.whl
Size 2.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e79489963078c854db2388dce8109b0126c24f327920c6973967722b62992963
BLAKE2b-256 checksum
How to use checksums
85024a1e59a57f98740d23b04b93f92910efa0d879f43a709785c7903fb70b53
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
5cb40dad696e7a3e8bea7c4fa5fbd30dc212b7e1825d2e09925c746cfb88c8d2
BLAKE2b-256 checksum
How to use checksums
c9bae0bc2a8b834b05e35a0c5653cb63b0676e155c371bca6594deba3a8ba861
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
dc6df8ac29078eda66e18c1f11b61bc2ffac1785049133ce37fe7f49b4eb6ec6
BLAKE2b-256 checksum
How to use checksums
c129e7ce24ea858ec35451ceba014eace14abe1270ad019fd1bf3440750b5c82
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 7, 2026.

Transparency log

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

Download URL scraper_rust-0.16.1-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
35ee575c5062fa02dbb37d934207ae30b74fc31fcb1d8d24903dcf7851635093
BLAKE2b-256 checksum
How to use checksums
2d800a2e692a751053e3b5ee2eee09856223191cbed6f8fc4c50170200042cc0
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 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.16.1 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