Skip to main content

pybrws

Python + browser: an HTTPS client that sends what a real browser sends

pybrws is written from scratch in Python. It sends what Firefox 157 and Chrome 155 send on the wire: the TLS ClientHello, the HTTP/2 start and the headers. It also sends Firefox's QUIC hello over HTTP/3. It is a learning and measurement tool that you can install, and it began as a way to see how browsers look on the wire.

It is not a replacement for curl_cffi. For production use, use curl_cffi. pybrws makes no promise that any site will accept its requests.

Install

pip install pybrws

Python 3.11 or newer. Two optional extras:

  • pip install "pybrws[http3]" adds aioquic, for HTTP/3.
  • pip install "pybrws[measure]" adds httpx, for the A/B controls of pybrws ab.

Use it from Python

from pybrws.client import get
from pybrws.profiles import chrome155

response = get("https://example.com/", profile=chrome155)
print(response.status, response.header("content-type"))
print(response.text()[:200])

The default profile is firefox157. post and request work the same way. HTTP/3 is pybrws.h3.get(url), Firefox only.

Use it from the command line

pybrws https://example.com/
pybrws verify --local

The first fetches a page like curl. The second compares the default profile's ClientHello with the browser capture shipped in the package, offline, and prints "same string as the capture". Other subcommands: capture, read-quic, ja4, verify, probe, ab, isolate, waf.

More

Metadata

Release files for pybrws 0.1.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 pybrws 0.1.1
File Size Uploaded Provenance Actions
pybrws-0.1.1.tar.gz 291.6 kB With provenance Details for pybrws-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pybrws 0.1.1
File Interpreter ABI Platform Actions
pybrws-0.1.1-py3-none-any.whl Python 3 none any Details for pybrws-0.1.1-py3-none-any.whl

Total release size: 485.6 kB

Release files / pybrws-0.1.1.tar.gz

Download URL pybrws-0.1.1.tar.gz
Size 291.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a130f6328e28668e2c8d8a0ab7cb330fb9fe192b7606a1eceb906f5a1d5766af
BLAKE2b-256 checksum
How to use checksums
bae67af319abda987c3d5ea24695932fb00294d5cde9d61774417fe2a992420e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Release files / pybrws-0.1.1-py3-none-any.whl

Download URL pybrws-0.1.1-py3-none-any.whl
Size 194.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd17739e93e641bf99271ccd7c440c72f8e7c1a4b03145287a6d3dbb4bea750f
BLAKE2b-256 checksum
How to use checksums
a3af0e17fa79f908d1db33686e53053cc556423b17bbcf3a1412073a03396a76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 12, 2026.

Transparency log

Security for pybrws 0.1.1

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pybrws-0.1.1.tar.gz

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 Nov 12, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

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