Skip to main content

allwright Python client

This folder contains the high-level Python client for the allwright engine.

It loads the shared proto/engine/v1/engine.proto contract dynamically at runtime and exposes a browser/page API instead of raw gRPC channel setup.

Install

pip install allwright

Installing from a local checkout instead:

pip install -e ./python

Example

from allwright import firefox

browser = firefox.launch()
page = browser.page()
page.goto("https://themoderninternet.vercel.app")
page.click(
    "xpath=//div[contains(@class,'card')][.//h2[normalize-space()='Form Inputs']]"
    "//button[normalize-space()='Visit page']"
)
page.wait_for_selector('xpath=//h1[text()="Form Inputs"]')
browser.close()

For an action that opens a tab, register the generic typed hook first:

from allwright import hooks

hook = page.register_hook(hooks.new_page)
page.click("a[target=_blank]")
new_page = hook.wait()
hook = page.register_hook(hooks.file_chooser)
page.click("button.open-upload")
chooser = hook.wait()
chooser.set_files("fixtures/document.pdf")
hook = page.register_hook(hooks.download)
page.click("a.download-report")
download = hook.wait()
download.save_as(f"artifacts/{download.suggested_filename}")

These paths are local to the Python test process and are streamed through a remote Allwright server when necessary. Android app contexts support hooks.file_chooser and hooks.download with the same lifecycle.

Web state reads: page.url(), locator.input_value(), locator.selected_options(), locator.selected_text(), locator.is_checked(), locator.get_attribute(name), and locator.bounding_box(). Element methods also accept selectors on Page. Selected options return CapturedOption(value, label, index) objects; boxes return BoundingBox(x, y, width, height) in frame/page viewport CSS pixels. Missing attributes, unsupported text selections, and hidden/zero-area boxes return None. Existing text_content() and inner_text() read element text. See the shared semantics.

Release files for allwright 0.1.14

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

Source distribution (sdist)

Source distribution for allwright 0.1.14
File Size Uploaded
allwright-0.1.14.tar.gz 32.1 kB Details

Built distribution (wheel)

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

Total release size: 67.3 kB

Release files / allwright-0.1.14.tar.gz

Download URL allwright-0.1.14.tar.gz
Size 32.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bd0aa41df82c1b2f47d29e3634572ae1a735e626adeaee827ef71cd0f80418b4
BLAKE2b-256 checksum
How to use checksums
5c12bb660829277b0a2c33b76f709ec43083a73775068cf5b2177e14a3462987
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / allwright-0.1.14-py3-none-any.whl

Download URL allwright-0.1.14-py3-none-any.whl
Size 35.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c430febb07a77e26cc4be5a290ab9b90628d215620cca2e016b962299c1c5cc6
BLAKE2b-256 checksum
How to use checksums
17c876e0f14c3703070fc50034ef0eacb794df5530cc7e95daf4a809e38528c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.15

2 release files

This release

0.1.14 This release

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.50

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.47

2 release files

0.0.46

2 release files

0.0.45

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.1

2 release files

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