browserget
Standalone CLI to install browsers and drivers without any framework.
Chrome for Testing, Firefox, Edge, ChromeDriver, GeckoDriver, EdgeDriver — all from a single tool. Python 3.11+, zero heavy dependencies.
Why?
playwright install ties you to Playwright. puppeteer install ties you to
Puppeteer. browserget installs browsers for any use — automation,
scraping, testing, CDP, BiDi, whatever.
Features
- 6 targets — Chrome, Firefox, Edge + ChromeDriver, GeckoDriver, EdgeDriver
- Concurrent installs — multiple targets install in parallel
- Driver matching —
--for chromeauto-matches ChromeDriver to your Chrome - Checksum verification — SHA-256/SHA-512 when upstream provides checksums
- Registry tracking — JSON registry tracks every installed artifact
- JSON output — every command supports
--jsonfor CI/CD integration - Retry with backoff — HTTP client retries failed requests automatically
- Disk space checks — verifies sufficient space before downloading
- Platform detection — auto-detects OS and architecture
Installation
pip install browserget
Quick start
# Install latest stable Chrome
browserget install chrome
# Install matching ChromeDriver
browserget install chromedriver --for chrome
# Ensure browsers are installed (idempotent — skips if present)
browserget ensure chrome chromedriver
# Verify system health
browserget doctor
Usage
# Install specific version
browserget install chrome --version 131.0.6778.87
# Install by milestone (latest patch in 131)
browserget install chrome --version 131
# Install Firefox and Edge
browserget install firefox edge
# Install EdgeDriver
browserget install edgedriver --for edge
# List installed browsers
browserget list
# Get path to installed browser
browserget path chrome
# Remove a browser
browserget remove chrome
# Remove all versions of a target
browserget remove chrome --all
# List available versions for a target
browserget versions chrome
# Check system health
browserget doctor
# JSON output for CI/CD
browserget install chrome --json
Supported targets
| Target | Type | Upstream source |
|---|---|---|
chrome |
Browser | Chrome for Testing API |
firefox |
Browser | Mozilla FTP |
edge |
Browser | Edge Updates API |
chromedriver |
Driver | Chrome for Testing API |
geckodriver |
Driver | GitHub Releases (mozilla/geckodriver) |
edgedriver |
Driver | Edge Updates API |
Requirements
- Python 3.11, 3.12, or 3.13
typer(installed automatically)- Internet access to download browser binaries
Documentation
Full documentation is available at https://mathiaspaulenko.github.io/browserget/.
- Install command — detailed usage and examples
- Ensure command — idempotent installs for CI pipelines
- Cache management — cache location, cleanup, and configuration
- CLI reference — complete command and flag documentation
- Architecture — module diagram and design decisions
Contributing
Contributions are welcome! See CONTRIBUTING.md for development setup, testing, and pull request guidelines.
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file browserget-1.0.1.tar.gz.
File metadata
- Download URL: browserget-1.0.1.tar.gz
- Upload date:
- Size: 87.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a13365c3c4d801d89d07cc30a60f6d67d7cd9f8257cf2e69387159c2510cc342
|
|
| MD5 |
f782d1bb2de43d6306b7912d7f847590
|
|
| BLAKE2b-256 |
bcc529672855e8c41dc02d1d2b68dffc4de1233f1c869ffa6947071279949349
|
Provenance
The following attestation bundles were made for browserget-1.0.1.tar.gz:
Publisher:
release.yml on MathiasPaulenko/browserget
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
browserget-1.0.1.tar.gz -
Subject digest:
a13365c3c4d801d89d07cc30a60f6d67d7cd9f8257cf2e69387159c2510cc342 - Sigstore transparency entry: 2497584672
- Sigstore integration time:
-
Permalink:
MathiasPaulenko/browserget@014150897d3cd8553330affe3a3b5971ac2aa273 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/MathiasPaulenko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@014150897d3cd8553330affe3a3b5971ac2aa273 -
Trigger Event:
push
-
Statement type:
File details
Details for the file browserget-1.0.1-py3-none-any.whl.
File metadata
- Download URL: browserget-1.0.1-py3-none-any.whl
- Upload date:
- Size: 50.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c16fefd474c3b66c9d4dd45ca582ef10c050625294e65731081b81f6824dc8a
|
|
| MD5 |
6a696b024ecde56a771d587006d6029c
|
|
| BLAKE2b-256 |
c16d3c0e7397c552e4f515713cdc3befcf281a7421caeea249388bbf1e9cd047
|
Provenance
The following attestation bundles were made for browserget-1.0.1-py3-none-any.whl:
Publisher:
release.yml on MathiasPaulenko/browserget
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
browserget-1.0.1-py3-none-any.whl -
Subject digest:
7c16fefd474c3b66c9d4dd45ca582ef10c050625294e65731081b81f6824dc8a - Sigstore transparency entry: 2497584742
- Sigstore integration time:
-
Permalink:
MathiasPaulenko/browserget@014150897d3cd8553330affe3a3b5971ac2aa273 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/MathiasPaulenko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@014150897d3cd8553330affe3a3b5971ac2aa273 -
Trigger Event:
push
-
Statement type: