Files
camoufox/pythonlib/pyproject.toml
T
Jake Writer 17f873abc8 build(deps): raise the playwright cap to <1.63 instead of removing it
The cherry-picked #742 replaced `playwright = "<1.61"` with `"*"`. The
breakage it fixes is real, but an unbounded range removes the tripwire
rather than making the browser forward-compatible: `camoufox.server`
imports `playwright._impl._driver.compute_driver_executable`, a private
API with no compat guarantee, and `additions/juggler` is a fork of one
Playwright vintage that every minor release is free to break again --
1.61 sending `viewport.isMobile` is exactly that, and it will recur.

So the cap moves up rather than away, to the tested-current 1.62.0. No
lower bound is added: this package has never carried one, and the launch
path was exercised against 1.53.0 as well as the 1.62.0 the Playwright
suite runs on.

build-tester/requirements.txt mirrors this pin by its own comment, so it
moves with it.
2026-08-29 13:05:31 -06:00

61 lines
1.5 KiB
TOML

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "camoufox"
version = "0.5.5"
description = "Wrapper around Playwright to help launch Camoufox"
authors = ["daijro <daijro.dev@gmail.com>"]
license = "MIT"
repository = "https://github.com/daijro/camoufox"
homepage = "https://camoufox.com/python"
readme = "README.md"
keywords = [
"client",
"fingerprint",
"browser",
"scraping",
"injector",
"firefox",
"playwright",
]
classifiers = [
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Browsers",
"Topic :: Software Development :: Libraries :: Python Modules",
]
[tool.poetry.dependencies]
python = "^3.10"
rich-click = "*"
rich = "*"
requests = "*"
orjson = "*"
browserforge = "^1.2.4"
# Keep a ceiling. 1.61 added Juggler params the protocol schema had to learn
# (viewport isMobile/screenSize, webp screenshots, webSocketFrame timestamps)
# and every Playwright minor is free to change Juggler again, while
# camoufox.server imports playwright._impl._driver -- a private API with no
# compat guarantee. Bump deliberately, with a run of `make tests`.
playwright = "<1.63"
pyyaml = "*"
platformdirs = "*"
numpy = "*"
ua_parser = "*"
typing_extensions = "*"
screeninfo = "*"
lxml = "*"
language-tags = "*"
pysocks = "*"
inquirer = "*"
geoip2 = {version = "*", optional = true}
PySide6 = {version = "*", optional = true}
[tool.poetry.extras]
geoip = ["geoip2"]
gui = ["PySide6"]
[tool.poetry.scripts]
camoufox = "camoufox.__main__:cli"