Metadata-Version: 2.1
Name: Navium
Version: 1.0
Summary: Navium is a Python-based automation library that leverages Chromium to control browser behavior, execute commands, and interact with web pages via WebSockets.
Author: Mohammad Hassan
License: MIT
Keywords: browser,automation,selenium,playwright,chromium,scraping,crawling,web,testing,navium
Platform: windows
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cffi >=1.17.1
Requires-Dist: gevent >=24.2.1
Requires-Dist: pillow >=10.4.0
Requires-Dist: websocket-client >=1.8.0
Provides-Extra: websocket
Requires-Dist: greenlet >=3.1.1 ; extra == 'websocket'
Requires-Dist: zope.event >=5.0 ; extra == 'websocket'
Requires-Dist: zope.interface >=7.0.3 ; extra == 'websocket'

<p align="center">
<img src="img/logo.png" style="width: 100px; height: 100px;"></img>
</p>

**Navium** is a high-performance browser automation library that leverages Chromium's DevTools Protocol (CDP) for direct communication, bypassing traditional WebDriver setups. This allows Navium to offer blazing fast speeds and lower overhead, making it ideal for developers and testers who need quick and efficient browser control. Navium was created to explore the inner workings of browser automation libraries like Playwright.

## Key Features
- **Chromium-based Automation**: Navium uses Chromium's native interface, removing the need for WebDrivers.
- **High-speed Execution**: With direct WebSocket connections to the browser, Navium delivers faster interactions than conventional WebDriver-based libraries.
- **Lightweight**: Minimal dependencies and direct browser control make Navium highly efficient.
- **Customizable**: Set up your browser instances with custom arguments and configurations to fit your needs.
- **Powerful Scripting**: Execute JavaScript directly in the browser context and retrieve results seamlessly.

## Status
**Navium** is currently under active development. Some features may still be in progress or experimental. Contributions, feedback, and bug reports are welcome!

## Getting Started
```python
from navium import Browser

with Browser() as worker:
    worker.goto("https://youtube.com/")
```

**Executing Scripts**
```python
from navium import Browser

with Browser() as worker:
    page = worker.goto("https://youtube.com/")
    js = page.execute_script("document.title")
    print(js)
```

[Examples](./examples/) contain more usage scenarios to explore.

## Contributing
We welcome contributions! Please feel free to submit issues or pull requests to help improve Navium.

### How to contribute:
- Fork the repository
- Create a new branch for your feature or bug fix
- Submit a pull request for review

## License
Navium is distributed under the [MIT License](LICENSE).
