steero 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,58 @@
1
+ # Environment
2
+ env/
3
+ venv/
4
+ ENV/
5
+ VENV/
6
+ .venv/
7
+
8
+ # Python cache
9
+ __pycache__/
10
+ *.py[cod]
11
+ *$py.class
12
+ *.so
13
+ .Python
14
+
15
+ # Build and distribution
16
+ build/
17
+ dist/
18
+ *.egg-info/
19
+ .eggs/
20
+ *.egg
21
+ *.whl
22
+ *.tar.gz
23
+ pip-log.txt
24
+ pip-delete-this-directory.txt
25
+
26
+ # Testing / typing / linting
27
+ .pytest_cache/
28
+ .coverage
29
+ htmlcov/
30
+ .mypy_cache/
31
+ .ruff_cache/
32
+ .tox/
33
+
34
+ # Data and downloads
35
+ dl/
36
+ downloads/
37
+ data/
38
+
39
+ # Databases
40
+ *.db
41
+ *.sqlite
42
+ *.sqlite3
43
+
44
+ # Secrets / local config
45
+ .env
46
+ *.local
47
+
48
+ # Local working notes (per-chat session summaries; never committed)
49
+ SCRATCHPAD.md
50
+ scratchpad/
51
+
52
+ # IDE and OS
53
+ .DS_Store
54
+ .vscode/
55
+ .idea/
56
+ *.swp
57
+ *.swo
58
+ *~
@@ -0,0 +1,24 @@
1
+ # Changelog
2
+
3
+ <!--
4
+ Author: Pandiyaraj Karuppasamy
5
+ Date: Oct-17-2026
6
+ -->
7
+
8
+ All notable changes are listed here. The format follows
9
+ [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses
10
+ [Semantic Versioning](https://semver.org/). Before 1.0, a minor version may
11
+ change the API.
12
+
13
+ ## [Unreleased]
14
+
15
+ ### Added
16
+ - Contributor guide, code of conduct, security policy, governance, issue forms
17
+ and the first architecture decision record (BiDi first).
18
+ - Local release gate, `tools/release_gate.ps1`.
19
+
20
+ ## [0.0.1]
21
+
22
+ ### Added
23
+ - Name reservation release: package metadata, MIT licence and disclaimer. No
24
+ driver code yet.
@@ -0,0 +1,34 @@
1
+ # Disclaimer
2
+
3
+ <!--
4
+ Author: Pandiyaraj Karuppasamy
5
+ Date: Oct-17-2026
6
+ -->
7
+
8
+ steero is provided **AS IS**, without warranty of any kind, express or implied,
9
+ including but not limited to the warranties of merchantability, fitness for a
10
+ particular purpose and non-infringement.
11
+
12
+ **You use steero entirely at your own risk.** steero launches web browsers and
13
+ automates them: it can click, type, submit forms, download files and send network
14
+ requests against any site it is pointed at. An automation script can therefore
15
+ change or delete data, place orders, send messages or trigger other actions on
16
+ real systems.
17
+
18
+ To the maximum extent permitted by law, the authors and contributors accept no
19
+ liability for any loss or damage arising from its use, including data loss or
20
+ corruption, damage to hardware, systems that will not start, business
21
+ interruption, account suspension, or any indirect or consequential damages.
22
+
23
+ You are responsible for:
24
+
25
+ - verifying which sites, accounts and environments your scripts act on;
26
+ - keeping tested backups of anything that matters;
27
+ - being authorised to automate the sites and accounts you drive, and following
28
+ their terms of service.
29
+
30
+ steero is not certified for regulated, forensic, safety-critical or other
31
+ high-assurance use.
32
+
33
+ The [LICENSE](LICENSE) file (MIT) is the governing text. Where this summary and
34
+ the LICENSE differ, the LICENSE prevails.
steero-0.0.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Pandiyaraj Karuppasamy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
steero-0.0.1/PKG-INFO ADDED
@@ -0,0 +1,99 @@
1
+ Metadata-Version: 2.4
2
+ Name: steero
3
+ Version: 0.0.1
4
+ Summary: Typed, async-first Python driver for stock Chrome and Firefox over W3C WebDriver BiDi, with auto-waiting and self-healing locators
5
+ Project-URL: Repository, https://github.com/Pandiyarajk/steero
6
+ Project-URL: Issues, https://github.com/Pandiyarajk/steero/issues
7
+ Author-email: Pandiyaraj Karuppasamy <pandiyarajk@live.com>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
10
+ Keywords: auto-wait,bidi,browser-automation,chrome,firefox,pytest,testing,ui-testing,webdriver,webdriver-bidi
11
+ Classifier: Development Status :: 2 - Pre-Alpha
12
+ Classifier: Framework :: AsyncIO
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
20
+ Classifier: Topic :: Software Development :: Quality Assurance
21
+ Classifier: Topic :: Software Development :: Testing
22
+ Classifier: Typing :: Typed
23
+ Requires-Python: >=3.11
24
+ Provides-Extra: dev
25
+ Requires-Dist: build>=1.0; extra == 'dev'
26
+ Requires-Dist: mypy>=1.11; extra == 'dev'
27
+ Requires-Dist: pytest>=7.0; extra == 'dev'
28
+ Requires-Dist: ruff>=0.6; extra == 'dev'
29
+ Requires-Dist: twine>=4.0; extra == 'dev'
30
+ Description-Content-Type: text/markdown
31
+
32
+ # steero
33
+
34
+ > **Disclaimer.** steero is provided **AS IS**, without warranty of any kind,
35
+ > express or implied. **Use it entirely at your own risk.** It launches and
36
+ > controls web browsers and can act on any site you point it at. The authors
37
+ > accept no liability for data loss or corruption, damage to hardware, systems
38
+ > that will not start, business interruption, or any consequential damages.
39
+ > You are responsible for checking what you automate, keeping tested backups,
40
+ > and being authorised to act on the sites and accounts you drive. steero is not
41
+ > certified for regulated, forensic, safety-critical or high-assurance use.
42
+ > See [DISCLAIMER.md](DISCLAIMER.md). The [LICENSE](LICENSE) (MIT) is the
43
+ > governing text and prevails wherever it and this summary differ.
44
+
45
+ Typed, async-first Python driver for **stock** Chrome and Firefox over the W3C
46
+ **WebDriver BiDi** standard, with auto-waiting and self-healing locators.
47
+
48
+ ## Status
49
+
50
+ **Pre-alpha. This 0.0.1 release reserves the name and contains no driver yet.**
51
+ Follow the repository for progress.
52
+
53
+ ## Goals
54
+
55
+ - Drives the Chrome and Firefox you already have, with no patched browser builds.
56
+ CDP is an opt-in extra for Chromium only.
57
+ - Auto-waiting and actionability checks before every action, in pure Python.
58
+ - Fully typed protocol models, generated from the BiDi specification.
59
+ - Async core with a sync API on top.
60
+ - A pytest plugin that captures console errors, failed requests and a screenshot
61
+ on failure, plus deterministic self-healing locators.
62
+ - Leaves nothing behind: no orphaned browser processes, no leaked temp profiles.
63
+
64
+ ## Install
65
+
66
+ ```bash
67
+ pip install steero
68
+ ```
69
+
70
+ Or from a checkout:
71
+
72
+ ```bash
73
+ pip install -e .
74
+ ```
75
+
76
+ ## Usage
77
+
78
+ Planned API (not implemented yet):
79
+
80
+ ```python
81
+ from steero.sync_api import launch
82
+
83
+ with launch("firefox", headless=True) as browser:
84
+ page = browser.new_page()
85
+ page.goto("https://example.com")
86
+ page.get_by_role("link", name="More information").click() # waits until actionable
87
+ page.screenshot(path="out.png")
88
+ ```
89
+
90
+ ## Contributing
91
+
92
+ Contributions are welcome: see [CONTRIBUTING.md](CONTRIBUTING.md), the
93
+ [Code of Conduct](CODE_OF_CONDUCT.md) and [GOVERNANCE.md](GOVERNANCE.md). Report
94
+ security problems privately, as described in [SECURITY.md](SECURITY.md).
95
+ Design decisions are recorded in [docs/adr/](docs/adr/).
96
+
97
+ ## License
98
+
99
+ MIT - see [LICENSE](LICENSE).
steero-0.0.1/README.md ADDED
@@ -0,0 +1,68 @@
1
+ # steero
2
+
3
+ > **Disclaimer.** steero is provided **AS IS**, without warranty of any kind,
4
+ > express or implied. **Use it entirely at your own risk.** It launches and
5
+ > controls web browsers and can act on any site you point it at. The authors
6
+ > accept no liability for data loss or corruption, damage to hardware, systems
7
+ > that will not start, business interruption, or any consequential damages.
8
+ > You are responsible for checking what you automate, keeping tested backups,
9
+ > and being authorised to act on the sites and accounts you drive. steero is not
10
+ > certified for regulated, forensic, safety-critical or high-assurance use.
11
+ > See [DISCLAIMER.md](DISCLAIMER.md). The [LICENSE](LICENSE) (MIT) is the
12
+ > governing text and prevails wherever it and this summary differ.
13
+
14
+ Typed, async-first Python driver for **stock** Chrome and Firefox over the W3C
15
+ **WebDriver BiDi** standard, with auto-waiting and self-healing locators.
16
+
17
+ ## Status
18
+
19
+ **Pre-alpha. This 0.0.1 release reserves the name and contains no driver yet.**
20
+ Follow the repository for progress.
21
+
22
+ ## Goals
23
+
24
+ - Drives the Chrome and Firefox you already have, with no patched browser builds.
25
+ CDP is an opt-in extra for Chromium only.
26
+ - Auto-waiting and actionability checks before every action, in pure Python.
27
+ - Fully typed protocol models, generated from the BiDi specification.
28
+ - Async core with a sync API on top.
29
+ - A pytest plugin that captures console errors, failed requests and a screenshot
30
+ on failure, plus deterministic self-healing locators.
31
+ - Leaves nothing behind: no orphaned browser processes, no leaked temp profiles.
32
+
33
+ ## Install
34
+
35
+ ```bash
36
+ pip install steero
37
+ ```
38
+
39
+ Or from a checkout:
40
+
41
+ ```bash
42
+ pip install -e .
43
+ ```
44
+
45
+ ## Usage
46
+
47
+ Planned API (not implemented yet):
48
+
49
+ ```python
50
+ from steero.sync_api import launch
51
+
52
+ with launch("firefox", headless=True) as browser:
53
+ page = browser.new_page()
54
+ page.goto("https://example.com")
55
+ page.get_by_role("link", name="More information").click() # waits until actionable
56
+ page.screenshot(path="out.png")
57
+ ```
58
+
59
+ ## Contributing
60
+
61
+ Contributions are welcome: see [CONTRIBUTING.md](CONTRIBUTING.md), the
62
+ [Code of Conduct](CODE_OF_CONDUCT.md) and [GOVERNANCE.md](GOVERNANCE.md). Report
63
+ security problems privately, as described in [SECURITY.md](SECURITY.md).
64
+ Design decisions are recorded in [docs/adr/](docs/adr/).
65
+
66
+ ## License
67
+
68
+ MIT - see [LICENSE](LICENSE).
@@ -0,0 +1,90 @@
1
+ [build-system]
2
+ # Upper bound is deliberate: hatchling 1.28 emits Metadata-Version 2.5, which
3
+ # PyPI does not yet accept and `twine check` rejects. Lift it once both support
4
+ # 2.5 - verify with `python -m twine check dist/*`.
5
+ requires = ["hatchling>=1.21,<1.28"]
6
+ build-backend = "hatchling.build"
7
+
8
+ [project]
9
+ name = "steero"
10
+ version = "0.0.1"
11
+ description = "Typed, async-first Python driver for stock Chrome and Firefox over W3C WebDriver BiDi, with auto-waiting and self-healing locators"
12
+ readme = "README.md"
13
+ license = "MIT"
14
+ license-files = ["LICENSE"]
15
+ requires-python = ">=3.11"
16
+ authors = [
17
+ { name = "Pandiyaraj Karuppasamy", email = "pandiyarajk@live.com" },
18
+ ]
19
+ keywords = [
20
+ "browser-automation",
21
+ "webdriver",
22
+ "webdriver-bidi",
23
+ "bidi",
24
+ "chrome",
25
+ "firefox",
26
+ "testing",
27
+ "ui-testing",
28
+ "pytest",
29
+ "auto-wait",
30
+ ]
31
+ classifiers = [
32
+ "Development Status :: 2 - Pre-Alpha",
33
+ "Framework :: AsyncIO",
34
+ "Intended Audience :: Developers",
35
+ "Operating System :: OS Independent",
36
+ "Programming Language :: Python :: 3",
37
+ "Programming Language :: Python :: 3.11",
38
+ "Programming Language :: Python :: 3.12",
39
+ "Programming Language :: Python :: 3.13",
40
+ "Topic :: Internet :: WWW/HTTP :: Browsers",
41
+ "Topic :: Software Development :: Quality Assurance",
42
+ "Topic :: Software Development :: Testing",
43
+ "Typing :: Typed",
44
+ ]
45
+ # Runtime dependencies (websockets, msgspec) arrive with the transport in Phase 1.
46
+ dependencies = []
47
+
48
+ [project.urls]
49
+ Repository = "https://github.com/Pandiyarajk/steero"
50
+ Issues = "https://github.com/Pandiyarajk/steero/issues"
51
+
52
+ [project.optional-dependencies]
53
+ dev = [
54
+ "build>=1.0",
55
+ "twine>=4.0",
56
+ "pytest>=7.0",
57
+ "mypy>=1.11",
58
+ "ruff>=0.6",
59
+ ]
60
+
61
+ # Uncomment to install a console command, and add a main() to steero/__main__.py:
62
+ # [project.scripts]
63
+ # steero = "steero.__main__:main"
64
+
65
+ [tool.hatch.build.targets.wheel]
66
+ packages = ["steero"]
67
+ artifacts = ["steero/py.typed"]
68
+
69
+ [tool.hatch.build.targets.sdist]
70
+ include = [
71
+ "/steero",
72
+ "/README.md",
73
+ "/LICENSE",
74
+ "/DISCLAIMER.md",
75
+ "/CHANGELOG.md",
76
+ ]
77
+
78
+ [tool.pytest.ini_options]
79
+ testpaths = ["tests"]
80
+
81
+ [tool.mypy]
82
+ python_version = "3.11"
83
+ strict = true
84
+
85
+ [tool.ruff]
86
+ line-length = 100
87
+ target-version = "py311"
88
+
89
+ [tool.ruff.lint]
90
+ select = ["E", "F", "W", "I", "B", "UP"]
@@ -0,0 +1,10 @@
1
+ """steero: a typed, async-first Python driver for stock Chrome and Firefox.
2
+
3
+ Drives browsers over W3C WebDriver BiDi, with auto-waiting and self-healing
4
+ locators.
5
+
6
+ Author: Pandiyaraj Karuppasamy
7
+ Date: Oct-17-2026
8
+ """
9
+
10
+ __version__ = "0.0.1"
File without changes