Metadata-Version: 2.4
Name: steero
Version: 0.0.1
Summary: Typed, async-first Python driver for stock Chrome and Firefox over W3C WebDriver BiDi, with auto-waiting and self-healing locators
Project-URL: Repository, https://github.com/Pandiyarajk/steero
Project-URL: Issues, https://github.com/Pandiyarajk/steero/issues
Author-email: Pandiyaraj Karuppasamy <pandiyarajk@live.com>
License-Expression: MIT
License-File: LICENSE
Keywords: auto-wait,bidi,browser-automation,chrome,firefox,pytest,testing,ui-testing,webdriver,webdriver-bidi
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
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 :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Classifier: Typing :: Typed
Requires-Python: >=3.11
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: mypy>=1.11; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Requires-Dist: twine>=4.0; extra == 'dev'
Description-Content-Type: text/markdown

# steero

> **Disclaimer.** steero is provided **AS IS**, without warranty of any kind,
> express or implied. **Use it entirely at your own risk.** It launches and
> controls web browsers and can act on any site you point it at. The authors
> accept no liability for data loss or corruption, damage to hardware, systems
> that will not start, business interruption, or any consequential damages.
> You are responsible for checking what you automate, keeping tested backups,
> and being authorised to act on the sites and accounts you drive. steero is not
> certified for regulated, forensic, safety-critical or high-assurance use.
> See [DISCLAIMER.md](DISCLAIMER.md). The [LICENSE](LICENSE) (MIT) is the
> governing text and prevails wherever it and this summary differ.

Typed, async-first Python driver for **stock** Chrome and Firefox over the W3C
**WebDriver BiDi** standard, with auto-waiting and self-healing locators.

## Status

**Pre-alpha. This 0.0.1 release reserves the name and contains no driver yet.**
Follow the repository for progress.

## Goals

- Drives the Chrome and Firefox you already have, with no patched browser builds.
  CDP is an opt-in extra for Chromium only.
- Auto-waiting and actionability checks before every action, in pure Python.
- Fully typed protocol models, generated from the BiDi specification.
- Async core with a sync API on top.
- A pytest plugin that captures console errors, failed requests and a screenshot
  on failure, plus deterministic self-healing locators.
- Leaves nothing behind: no orphaned browser processes, no leaked temp profiles.

## Install

```bash
pip install steero
```

Or from a checkout:

```bash
pip install -e .
```

## Usage

Planned API (not implemented yet):

```python
from steero.sync_api import launch

with launch("firefox", headless=True) as browser:
    page = browser.new_page()
    page.goto("https://example.com")
    page.get_by_role("link", name="More information").click()  # waits until actionable
    page.screenshot(path="out.png")
```

## Contributing

Contributions are welcome: see [CONTRIBUTING.md](CONTRIBUTING.md), the
[Code of Conduct](CODE_OF_CONDUCT.md) and [GOVERNANCE.md](GOVERNANCE.md). Report
security problems privately, as described in [SECURITY.md](SECURITY.md).
Design decisions are recorded in [docs/adr/](docs/adr/).

## License

MIT - see [LICENSE](LICENSE).
