Skip to main content

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. The 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

pip install steero

Or from a checkout:

pip install -e .

Usage

Planned API (not implemented yet):

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, the Code of Conduct and GOVERNANCE.md. Report security problems privately, as described in SECURITY.md. Design decisions are recorded in docs/adr/.

License

MIT - see LICENSE.

Metadata

Release files for steero 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for steero 0.0.1
File Size Uploaded Provenance
steero-0.0.1.tar.gz 4.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for steero 0.0.1
File Interpreter ABI Platform
steero-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.5 kB

Release files / steero-0.0.1.tar.gz

Download URL steero-0.0.1.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
055a015fed8c6ed9d54e096b7cb121e74c37f2ff3b378f66d7ce527a5e2b1d99
BLAKE2b-256 checksum
How to use checksums
5d92bd67f7866ecc2207471401184c1374886e7a198dad48c25c8e8563865a3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / steero-0.0.1-py3-none-any.whl

Download URL steero-0.0.1-py3-none-any.whl
Size 3.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
18de9e14fc9c8354054b023039ba4e456e8f3a5b4d8ac8135ebc1fb9471cb5d0
BLAKE2b-256 checksum
How to use checksums
14d56c2b794e52850be306374ec058461799a87c8e83f6bd64a8a988823fb408
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for steero 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page