Split pure-config into invisible-core; keep back-compat shims

The seed->fingerprint->prefs logic, binary download, and proxy/geo config
now live in a standalone invisible-core package (zero Playwright), so a
profile manager can reuse it without pulling Playwright in. The wrapper
depends on invisible-core and replaces the moved modules with full-alias
shims: existing imports (public API, submodules, private names) and
isinstance checks keep working unchanged. tests/test_backcompat.py locks
that contract (6 guards). Bumps to 0.3.0.
This commit is contained in:
feder-cr 2026-07-03 19:56:24 +02:00
parent d434ee4059
commit 76e41e2789
36 changed files with 136 additions and 11109 deletions

View file

@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project]
name = "invisible-playwright"
version = "0.2.0"
version = "0.3.0"
description = "Playwright wrapper for a patched Firefox with deterministic stealth profile."
readme = "README.md"
requires-python = ">=3.11"
@ -20,13 +20,11 @@ classifiers = [
"Programming Language :: Python :: 3.12",
]
dependencies = [
# Pure config (seed -> fingerprint -> prefs, binary download, proxy, geo) lives
# in invisible-core since the 2026-07-03 split; it pulls platformdirs/requests/
# maxminddb/tzdata/tqdm/pywin32 transitively. The wrapper only adds Playwright.
"invisible-core @ git+https://github.com/feder-cr/invisible_core.git",
"playwright>=1.40,<1.61",
"platformdirs>=4",
"requests[socks]>=2.31",
"maxminddb>=2.2",
"tzdata>=2024.1",
"tqdm>=4.66",
"pywin32>=306; sys_platform == 'win32'",
]
[project.optional-dependencies]
@ -57,6 +55,7 @@ Issues = "https://github.com/feder-cr/invisible_playwright/issues"
[tool.hatch.build.targets.wheel]
packages = ["src/invisible_playwright"]
exclude = ["*.bak", "*-bak"]
[tool.hatch.build.targets.sdist]
include = ["src/invisible_playwright", "tests", "README.md", "LICENSE", "pyproject.toml"]