Metadata-Version: 2.4
Name: invisible_core
Version: 18.2.0
Summary: Pure config for a stealth Firefox profile: seed -> fingerprint -> prefs, engine download, proxy, geo. Zero Playwright.
Project-URL: Homepage, https://github.com/feder-cr/invisible_core
Project-URL: Repository, https://github.com/feder-cr/invisible_core
Project-URL: Issues, https://github.com/feder-cr/invisible_core/issues
Author-email: feder-cr <85809106+feder-cr@users.noreply.github.com>
License-Expression: MIT
License-File: LICENSE
Keywords: anti-detect,automation,browser,fingerprint,firefox,privacy,stealth
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
Classifier: Topic :: Software Development :: Testing
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: maxminddb>=2.2
Requires-Dist: platformdirs>=4
Requires-Dist: requests[socks]>=2.31
Requires-Dist: tzdata>=2024.1
Provides-Extra: dev
Requires-Dist: build>=1; extra == 'dev'
Requires-Dist: pytest-mock>=3; extra == 'dev'
Requires-Dist: pytest>=7; extra == 'dev'
Requires-Dist: responses>=0.24; extra == 'dev'
Description-Content-Type: text/markdown

# invisible_core

Pure config for a patched Firefox stealth profile - **zero Playwright dependency**.

`seed → fingerprint profile → Firefox prefs`, plus patched-binary download,
proxy config, and geo/timezone resolution. This is the shared foundation used by:

- **invisible_playwright** - the Playwright automation wrapper (`InvisiblePlaywright`).
- **invisible_firefox** - the antidetect profile manager (launches the binary directly).

```bash
pip install invisible-core
```

```python
from invisible_core import generate_profile, translate_profile_to_prefs, ensure_binary

profile = generate_profile(seed=42)          # deterministic Bayesian fingerprint
prefs   = translate_profile_to_prefs(profile)  # dict of Firefox user prefs
binary  = ensure_binary()                     # path to the patched Firefox binary
```

Same seed → same fingerprint, every time.
