Metadata-Version: 2.4
Name: undetected
Version: 0.0.9
Summary: Selenium.webdriver.Chrome replacement with compatibility for Brave, and other Chromium based browsers. Not triggered by CloudFlare/Imperva/hCaptcha and such. NOTE: results may vary due to many factors. No guarantees are given, except for ongoing efforts in understanding detection algorithms.
License-Expression: GPL-3.0
License-File: LICENSE
Author: Carlos Mateus
Author-email: carlosmateus@outlook.be
Requires-Python: >=3.12,<4
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: packaging (>=24.0,<25.0)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Requires-Dist: selenium (>=4.39.0,<5.0.0)
Requires-Dist: websockets (>=15.0,<16.0)
Project-URL: Homepage, https://github.com/carl0smat3us/undetected
Project-URL: Issues, https://github.com/carl0smat3us/undetected/issues
Description-Content-Type: text/markdown

# Undetected

Undetectable selenium chromedriver.

**Note:** This project is a fork of [`undetected-chromedriver`](https://github.com/ultrafunkamsterdam/undetected-chromedriver).

```bash
pip install undetected
```

Simple usage:

```python
import undetected as uc

driver = uc.Chrome()
driver.get("https://example.com")
driver.quit()
```

Example usage with multiprocessing:

```python
import undetected as uc
from undetected.patcher import Patcher

def worker(idx: int):
    driver = uc.Chrome()
    driver.get("https://example.com")
    driver.quit()

if __name__ == "__main__":
    Patcher.patch() # patching a unique undetected chromedriver

    processes = [mp.Process(target=worker, args=(i,)) for i in range(4)]
    for p in processes:
        p.start()
    for p in processes:
        p.join()
```


