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

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.0
File Size Uploaded Provenance Actions
pybrws-0.1.0.tar.gz 290.9 kB With provenance Details for pybrws-0.1.0.tar.gz

Built distribution (wheel)

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

Total release size: 484.7 kB

Release files / pybrws-0.1.0.tar.gz

Download URL pybrws-0.1.0.tar.gz
Size 290.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2ef0cff0f902ce9f7657d4483d7949469c4b84c8b8c160026cb1b02392a21d0a
BLAKE2b-256 checksum
How to use checksums
2ed980a39522a1ebbe7797e0b9a8393ec92b677b4c72e058f26f7ac04189aae3
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.0-py3-none-any.whl

Download URL pybrws-0.1.0-py3-none-any.whl
Size 193.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7ac6117edd588935a82d46805305f4e38fa524a799b623870de5dd09b178ebf
BLAKE2b-256 checksum
How to use checksums
677ef26624822f170fb151b835e8786dc4374604fc52d71d434824909e80db81
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.0

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