Skip to main content
Incomplete provenance

3 of 9 files were uploaded without provenance metadata. View details.

GL Browser Use

GL Browser Use is a typed Python package for running browser automation tasks through browser-use. It provides a stable client facade, structured stream events, explicit result objects, optional Steel or OpenSandbox browser infrastructure, optional MinIO/S3-compatible recording storage, and bounded retries for recoverable browser-session failures.

Installation

Published binary package

Install the published binary distribution for normal application use:

pip install gl-browser-use-binary

Supported Python versions are 3.11, 3.12, and 3.13.

Install optional providers with the binary package only when you need them:

pip install "gl-browser-use-binary[steel]"           # Steel browser infrastructure
pip install "gl-browser-use-binary[opensandbox]"     # OpenSandbox browser infrastructure
pip install "gl-browser-use-binary[infrastructure]"  # All browser infrastructure providers
pip install "gl-browser-use-binary[minio]"           # MinIO/S3-compatible object storage
pip install "gl-browser-use-binary[storage]"         # All object storage providers
pip install "gl-browser-use-binary[full]"            # Infrastructure + storage providers

Use the concrete extras (steel, opensandbox, minio) in application dependency files when you want to pin exactly which provider you depend on. The slot extras (infrastructure, storage, full) are convenience aliases and may include more providers later.

The repository project is named gl-browser-use; the release workflow compiles and publishes it as gl-browser-use-binary. Both use the same gl_browser_use import namespace.

Local development

From the repository checkout, install the source project and development dependencies with uv:

cd libs/gl-browser-use
uv sync --all-extras --group dev

Quick Start

BrowserUseClient supports streaming and non-streaming execution. API keys can be passed directly or, when omitted, read from environment variables.

import asyncio

from gl_browser_use import BrowserUseClient, BrowserUseClientConfig
from gl_browser_use.infrastructure import SteelBrowserInfrastructure
from gl_browser_use.storage import MinIOS3CompatibleStorage


async def main() -> None:
    client = BrowserUseClient(
        config=BrowserUseClientConfig(
            llm_openai_api_key="...",
            page_extraction_llm_openai_api_key="...",
            max_session_retries=2,
            session_retry_delay_in_s=3.0,
        ),
        infrastructure=SteelBrowserInfrastructure(),  # reads STEEL_API_KEY by default
        storage=MinIOS3CompatibleStorage.from_environment(),
    )

    async for event in client.run("Open Hacker News and list five article titles"):
        print(event.content)


asyncio.run(main())

For a single aggregated result:

from gl_browser_use import BrowserUseClient, BrowserUseClientConfig
from gl_browser_use.infrastructure import SteelBrowserInfrastructure

client = BrowserUseClient(
    config=BrowserUseClientConfig(
        llm_openai_api_key="...",
        page_extraction_llm_openai_api_key="...",
    ),
    infrastructure=SteelBrowserInfrastructure(),
)

result = client.run_sync("Open Hacker News and list five article titles")

print(result.status)
print(result.final_output)
print(result.session_id)
print(result.streaming_url)
print(result.recording_url)
print(result.metadata)

Configuration

BrowserUseClientConfig validates required values when the client is created. If llm_openai_api_key or page_extraction_llm_openai_api_key is omitted, it defaults to OPENAI_API_KEY. An explicit None is kept as missing, and is reported by validation.

Common client options:

  1. llm_openai_model: primary browser-control model. Default: o3.
  2. page_extraction_llm_openai_model: page extraction model. Default: gpt-5-mini.
  3. sensitive_data: optional browser-use placeholder map. It accepts either a flat placeholder-to-value map or a domain-scoped map. Values are excluded from normal config serialization and redacted from redacted_dict() output.
  4. extend_system_message: optional system prompt extension.
  5. vision_detail_level: auto, low, or high. Default: auto.
  6. llm_timeout_in_s: optional LLM timeout.
  7. step_timeout_in_s: per-step browser timeout. Default: 180.
  8. agent_kwargs: additional browser_use.Agent constructor arguments. It cannot override client-managed arguments such as the task, LLMs, browser session, sensitive_data, or timeouts.
  9. enable_cloud_sync: kept for compatibility, with no effect: browser-use 0.11 removed cloud sync. Default: False.
  10. logging_level: debug, info, warning, error, or result. Default: info. Process-wide: it configures browser-use's shared loggers once, and only when the application hasn't configured logging (see below).
  11. max_session_retries: recoverable session retries. Default: 2.
  12. session_retry_delay_in_s: delay between retries. Default: 3.0.

Sensitive data and Agent options

config = BrowserUseClientConfig(
    llm_openai_api_key="...",
    page_extraction_llm_openai_api_key="...",
    sensitive_data={"username": "example-user", "password": "example-password"},
    agent_kwargs={"use_vision": False, "max_actions_per_step": 2},
)

Keep one configured client per credential scope. Browser-use also accepts domain-scoped sensitive_data maps. Never put real values in logs, serialized configuration, or agent_kwargs.

When supplying sensitive data, restrict browser navigation to the expected domains (for example, through the infrastructure session's browser-use BrowserProfile(allowed_domains=...)) to reduce prompt-injection exfiltration risk. agent_kwargs cannot override browser/session ownership (browser, browser_profile, and browser_session are reserved); configure those controls through the selected infrastructure instead.

Optional provider environment variables:

  1. STEEL_API_KEY: used by SteelBrowserInfrastructure() when api_key is omitted.
  2. OPENSANDBOX_DOMAIN: OpenSandbox control-plane host. Default: localhost:8080.
  3. OPENSANDBOX_API_KEY: required for shared OpenSandbox clusters; optional for local insecure servers.
  4. OBJECT_STORAGE_URL: MinIO/S3 endpoint, for example localhost:9001 or https://storage.example.
  5. OBJECT_STORAGE_USERNAME: object storage access key.
  6. OBJECT_STORAGE_PASSWORD: object storage secret key.
  7. OBJECT_STORAGE_BUCKET_NAME: target bucket name.
  8. OBJECT_STORAGE_DIRECTORY_PREFIX: optional object key prefix.
  9. OBJECT_STORAGE_SECURE: true for HTTPS when the endpoint has no scheme.

An environment variable is read only for an argument you omit. An explicit value, including None, is used as given. So in a service that runs browser tasks for several users, pass each user's own settings explicitly: SteelBrowserInfrastructure(api_key=None) raises BrowserUseConfigurationError instead of running on the host's STEEL_API_KEY. The same applies to the OpenSandbox and storage settings, and to the two OpenAI keys in BrowserUseClientConfig.

The client never writes environment variables. One setting is still process-wide: logging_level is applied through browser-use's setup_logging, which configures shared, process-level loggers, and only when the application hasn't configured logging (the root logger has no handlers). The first client to run sets the level for the whole process, and an application with its own logging setup keeps its own levels. Configure logging in the application when clients need different levels.

Copy .env.example to .env for local development, then load it with your application environment manager.

Runtime API

The client exposes three run methods:

  1. run(task): async generator that yields BrowserUseStreamEvent values as work progresses.
  2. run_once(task): async method that returns one BrowserUseRunResult and includes emitted events in result.events.
  3. run_sync(task): blocking wrapper around run_once() using asyncio.run().

Do not call run_sync() from an already running event loop. Use await run_once() or async for event in run() in async applications.

Cancelling the stream by breaking from async for or calling await stream.aclose() cancels the underlying run task. Browser sessions and infrastructure sessions are released in cleanup.

Error Contract

Failures return safe, actionable messages and preserve the legacy error string for compatibility. Error results and terminal stream events also expose error_info with:

  1. code: a stable, library-scoped machine-readable code;
  2. message: a bounded summary that explains what failed without secrets or provider internals;
  3. next_action: the next step for the caller;
  4. retryable: whether a retry may be appropriate;
  5. reference_id: a run-level ID shared by the result, events, and structured logs; and
  6. details: JSON-safe public diagnostic fields (see Diagnostics and privacy); and
  7. recovery: how to react (see Recovery).

Each error type has two stable codes. The public gl_browser_use.<category>.<condition> code is exposed as error.public_code and error_info.code. The GL-BU-<NAME> code is the shared gllm_core.exceptions.BaseError code, exposed as error.code and attached to log records by gllm_core logging (installed from the public gllm-core-binary wheel). gl_browser_use.errors.registered_error_codes() returns the same mapping at runtime.

Public code (error_info.code) BaseError code (error.code) Error type Meaning
gl_browser_use.error GL-BU-ERROR BrowserUseSDKError Unclassified SDK failure.
gl_browser_use.dependency.missing GL-BU-DEPENDENCY-MISSING BrowserUseMissingDependencyError An optional provider dependency is unavailable.
gl_browser_use.config.invalid GL-BU-CONFIG-INVALID BrowserUseConfigurationError Configuration is missing or invalid.
gl_browser_use.execution.failed GL-BU-EXECUTION-FAILED BrowserUseExecutionError Browser task execution failed.
gl_browser_use.task.failed GL-BU-TASK-FAILED BrowserUseTaskFailedError The underlying agent reported a failed task.
gl_browser_use.task.output_invalid GL-BU-TASK-OUTPUT-INVALID BrowserUseTaskOutputError Structured task output could not be parsed or validated.
gl_browser_use.session.retry_exhausted GL-BU-SESSION-RETRY-EXHAUSTED BrowserUseRetryExhaustedError Recoverable session failures exhausted the retry budget.
gl_browser_use.execution.timeout GL-BU-TIMEOUT BrowserUseTimeoutError A browser step or dependency call timed out.
gl_browser_use.provider.auth_failed GL-BU-PROVIDER-AUTH BrowserUseProviderAuthError A model or browser provider rejected the credentials or permissions.
gl_browser_use.provider.rate_limited GL-BU-PROVIDER-RATE-LIMIT BrowserUseRateLimitError A model or browser provider rate-limited the request.
gl_browser_use.provider.unavailable GL-BU-PROVIDER-UNAVAILABLE BrowserUseProviderUnavailableError A model or browser provider could not be reached or failed.

Codes are append-only. A code is never reused for a different failure or removed; a code that is no longer emitted is marked deprecated here for at least one minor release first. Every new concrete error type must define both codes, a default_message, and a DEFAULT_NEXT_ACTION; class definition fails on a missing, malformed, or duplicate code.

Diagnostic logs use the same gl_browser_use. prefix. Recording diagnostics include gl_browser_use.recording.resolve_failed, gl_browser_use.recording.schedule_failed, gl_browser_use.recording.storage_unavailable, gl_browser_use.recording.download_failed, gl_browser_use.recording.background_failed, gl_browser_use.recording.background_unavailable, gl_browser_use.recording.navigation_failed, and gl_browser_use.recording.upload_failed. Cleanup diagnostics include gl_browser_use.cleanup.endpoint_unavailable, gl_browser_use.cleanup.recorder_failed, gl_browser_use.cleanup.eventbus_failed, gl_browser_use.cleanup.agent_failed, gl_browser_use.cleanup.browser_failed, gl_browser_use.cleanup.infrastructure_failed, and gl_browser_use.cleanup.sandbox_failed.

str(error), terminal event content, error-event thinking_and_activity_info["data_value"], and the legacy result error combine message with next_action, so callers can act without reading logs first. Public exception strings and error messages are bounded, sanitized summaries; detailed causes remain in redacted structured diagnostics.

Reference IDs use the glbu_<hex> format and are distinct from error codes. Use the reference_id when searching centralized logs or contacting support. Configuration diagnostics are redacted recursively, including API keys, nested secret-shaped values, and URL credentials; arbitrary non-JSON values are replaced with a safe placeholder. A recoverable session retry restarts the task from the beginning, so external actions can be repeated; make retried tasks idempotent when possible. Recording is optional telemetry: a recording failure is reported in safe metadata and cannot change the primary task status.

Recovery

error_info.recovery (BrowserUseRecoveryInfo) tells callers how to react:

Field Meaning
retryable Whether retrying the same task can succeed. Non-retryable failures, such as invalid configuration or rejected credentials, are always False.
retry_after_seconds Seconds to wait before retrying, when known: the provider's retry-after value for rate limits, or session_retry_delay_in_s for session retries. None when not retryable or unknown.
attempt, max_attempts The SDK's own retry budget for the run. max_attempts is max_session_retries + 1.
escalation When to stop retrying and who to contact, for example support with the reference_id.
Failure retryable Default wait
provider.rate_limited True Provider retry-after or try again in <n>s, when reported.
provider.unavailable, execution.timeout True None
session.retry_exhausted True session_retry_delay_in_s
provider.auth_failed, config.invalid, dependency.missing, task.*, execution.failed False None

Provider failures are classified from exception types and HTTP status codes first, then from provider error text. browser-use records most model-provider errors as failed steps instead of raising them, so after repeated failed steps the SDK classifies the last recorded step error. The SDK retries only recoverable browser-session failures itself; for other retryable failures, the caller decides whether to retry using recovery.

Logging and reference lookup

The SDK logs through the standard logging module under the gl_browser_use logger and never removes handlers that the embedding application installed. Route these records to your centralized log store with your own handlers, for example the gllm-core JSON formatter.

Each run creates one reference_id that is shared by every attempt, retry event, terminal event, result, and log record of that run. Failure records carry these extra fields:

Field Meaning
reference_id The run's glbu_<hex> reference ID.
error_code / base_error_code The public code and the GL-BU-* code.
error_message, next_action The safe public message and next step.
stage, attempt, max_attempts Where the failure happened and which attempt it was.
retryable, retry_after_seconds The recovery guidance.
details, diagnostics Public and internal diagnostics, both redacted.
failure_type, cause The raw failure type and a redacted, bounded cause.

A terminal failure writes exactly one ERROR record for its reference_id (Browser-use execution failed or Browser-use run failed). Session retries write a WARNING record (Browser-use session failed; retrying) per retried attempt. To investigate a failure a user reports, search the log store for reference_id = <id> and level ERROR.

If a log handler or formatter fails, the SDK attempts one fallback record with only reference_id and error_code, and the run still returns its original result, error code, message, recovery data, and reference ID.

Diagnostics and privacy

Error diagnostics follow a fixed schema, gl_browser_use.errors.DIAGNOSTIC_FIELDS:

Visibility Fields Where they appear
Public stage, attempt, max_attempts, step_count, streaming_url, recording_url, session_id, missing_dependency, package_hint, missing, errors error.details, error_info.details, logs
Internal url, last_error, web_socket_debugger_url, config, browser_context, and any unlisted field error.debug_info["diagnostics"] and logs only

All diagnostic values are redacted recursively and made JSON-safe. Raw objects, including exceptions, become <non-serializable> instead of their representation.

Redaction (redact_text / redact_value) masks:

  • configured API keys, sensitive_data values, and the task prompt when it is at least 12 characters;
  • values under secret-shaped keys such as api_key, token, password, authorization, and secret;
  • URL credentials, secret query parameters, inline key=value secrets, Bearer tokens, and sk-/pk-/rk- style API keys;
  • email addresses.

It applies to error messages, error_info, error diagnostics, structured log fields, and step-event tool-call arguments and outputs. The run result keeps task and final_output unchanged because they are the caller's own input and output, and so does the final stream event's final_output. Activity events keep the streaming URL unchanged so it can be embedded.

Result Contract

BrowserUseRunResult contains:

  1. status: success, error, or cancelled.
  2. task: normalized task string.
  3. final_output: final text extracted from the underlying agent, or Task completed when no final text is available.
  4. session_id: infrastructure session ID when an external browser session was used.
  5. streaming_url: browser debug or streaming URL when available.
  6. recording_url: expected recording URL when recording is configured.
  7. steps: number of browser-use steps executed.
  8. error: terminal error message for error results.
  9. events: collected stream events for run_once().
  10. metadata: attempt, retry, and recording metadata.

Recording metadata uses these statuses:

  1. disabled: infrastructure, storage, or browser context is not available.
  2. unsupported: the selected infrastructure does not support recording.
  3. unavailable: storage is configured but not available.
  4. scheduled: a background recording upload has been scheduled.
  5. failed: recording was eligible but could not be scheduled, resolved, or uploaded.
  6. unknown: recording may have started, but the terminal error did not include enough context to determine the final state.

Streaming Contract

BrowserUseStreamEvent contains:

  1. event_type
  2. content
  3. thinking_and_activity_info
  4. is_final
  5. tool_info
  6. metadata
  7. final_output: set only on the final event of a successful run, to the same unredacted answer as BrowserUseRunResult.final_output. Every other event has None. Use it rather than reading the answer out of tool_info, whose tool-call data is redacted.

Important event content values:

  1. Receive streaming URL: emitted when a browser debug or streaming URL is available.
  2. Receive recording URL: emitted when a recording URL can be resolved.
  3. Task completed: emitted for the final successful step.

Activity events encode iframe URLs in thinking_and_activity_info["data_value"] as a JSON string:

{"type": "iframe", "message": "<url>"}

Step events include serialized tool calls in tool_info["tool_calls"].

Retries And Errors

The client retries only classified recoverable browser-session failures, such as browser closure or websocket disconnect messages. Before each retry, it emits a retry status event. Retries are bounded by max_session_retries, so total attempts are max_session_retries + 1. Each retry restarts the task from the beginning and may replay external side effects, so use idempotent tasks or set max_session_retries=0 when replay is unsafe.

Every task failure returns BrowserUseRunResult(status="error") (or ends the stream with one terminal error event), including recoverable failures that exhaust all attempts. Those carry the gl_browser_use.session.retry_exhausted code, with the last failure in the message, on the result, the terminal event and the error log alike. The client doesn't raise BrowserUseRetryExhaustedError for them; the type remains the source of that code and its recovery guidance.

Error types:

All error types derive from BrowserUseSDKError, which derives from gllm_core.exceptions.BaseError and RuntimeError.

  1. BrowserUseConfigurationError: missing or invalid runtime configuration. BrowserUseClientConfig raises it for every validation failure, including construction, model_validate, and attribute assignment, instead of a raw pydantic ValidationError. Rejected input values are never included.
  2. BrowserUseDependencyError: abstract base for optional provider dependency problems.
  3. BrowserUseMissingDependencyError: optional provider extra is not installed.
  4. BrowserUseExecutionError: execution-time failure.
  5. BrowserUseTaskFailedError: the agent reported completion without a successful result.
  6. BrowserUseTaskOutputError: structured task output could not be parsed or validated.
  7. BrowserUseRetryExhaustedError: recoverable session retries were exhausted. It is reported through error_info, not raised.
  8. BrowserUseTimeoutError: a browser step or dependency call timed out.
  9. BrowserUseProviderAuthError: a provider rejected the credentials or permissions.
  10. BrowserUseRateLimitError: a provider rate-limited the request.
  11. BrowserUseProviderUnavailableError: a provider could not be reached or failed.

Unexpected third-party errors are converted at one boundary, gl_browser_use.errors.normalize_error(), before they reach results, events, or logs.

Optional Providers

Optional providers are lazy-loaded. Importing gl_browser_use does not require Steel, OpenSandbox, or MinIO to be installed.

from gl_browser_use.infrastructure import OpenSandboxBrowserInfrastructure, SteelBrowserInfrastructure
from gl_browser_use.storage import MinIOS3CompatibleStorage

SteelBrowserInfrastructure creates Steel browser sessions and provides CDP/streaming URLs.

OpenSandboxBrowserInfrastructure provisions the repo-committed Chrome example image (opensandbox/chrome:latest, built from examples/opensandbox/chrome) through a local or shared OpenSandbox server, exposes noVNC inspection URLs, connects over proxied CDP, and uploads WebM session recordings to object storage with the same deferred recording_url semantics as Steel. Pass storage to BrowserUseClient when recording is enabled.

DevTools note: the Chrome image exposes CDP on 0.0.0.0:9222 (--remote-debugging-address=0.0.0.0 plus a socat forward for Chromium M113+). Rebuild from examples/opensandbox/chrome after pulling changes; GL Browser Use discovers CDP via sandbox.get_endpoint(9222). See examples/opensandbox/chrome/README.md.

OpenSandbox local setup:

DOCKER_HOST=unix://${HOME}/.docker/desktop/docker.sock \
  OPENSANDBOX_INSECURE_SERVER=YES opensandbox-server

cd libs/gl-browser-use/examples/opensandbox/chrome
docker build -t opensandbox/chrome:latest .
playwright install chromium

MinIOS3CompatibleStorage uploads session recordings to MinIO or an S3-compatible service and returns presigned URLs.

Development

From libs/gl-browser-use:

make install-dev
make test-unit
make test-integration
make lint
make build-check

Useful targets:

  1. make test: run all tests.
  2. make test-unit: run unit tests with coverage.
  3. make test-integration: run integration-marked contract tests.
  4. make lint: run Ruff checks.
  5. make format: run Ruff fixes and formatter.
  6. make pre-commit: run pre-commit hooks.
  7. make build-check: build the package and validate artifacts with Twine.

Metadata

Release files for gl-browser-use-binary 0.1.7

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

Incomplete provenance

3 of 9 files were uploaded without provenance metadata.

We recommend further investigation before installing these files. View details.

Built distributions (wheels)

Table of built distributions (wheels) for gl-browser-use-binary 0.1.7
File
gl_browser_use_binary-0.1.7-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
gl_browser_use_binary-0.1.7-cp313-cp313-manylinux_2_31_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.31+ x86-64 Details
gl_browser_use_binary-0.1.7-cp313-cp313-macosx_13_0_arm64.whl CPython 3.13 CPython 3.13 macOS 13.0+ ARM64 Details
gl_browser_use_binary-0.1.7-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
gl_browser_use_binary-0.1.7-cp312-cp312-manylinux_2_31_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.31+ x86-64 Details
gl_browser_use_binary-0.1.7-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details
gl_browser_use_binary-0.1.7-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
gl_browser_use_binary-0.1.7-cp311-cp311-manylinux_2_31_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.31+ x86-64 Details
gl_browser_use_binary-0.1.7-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details

Total release size: 5.9 MB

Release files / gl_browser_use_binary-0.1.7-cp313-cp313-win_amd64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp313-cp313-win_amd64.whl
Size 538.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
8fcc93cbc7e0c3f873da09f4ceb391f552bf22956bb7e410089f481d9a9e7cfc
BLAKE2b-256 checksum
How to use checksums
a44936ca3fcdf00eb9458d69c0058b70ae647f5ebe232f4842ca2f0af9606ed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / gl_browser_use_binary-0.1.7-cp313-cp313-manylinux_2_31_x86_64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp313-cp313-manylinux_2_31_x86_64.whl
Size 858.1 kB
Tags CPython 3.13 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
e0cb57855ab6da2a03d44f81394d63f62b6dcf2610817ad8aecc26ce6b4e55f9
BLAKE2b-256 checksum
How to use checksums
08baa964472da18db8c5074552665d6738d92b4a9cebcea08d76720ee0f66f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"11","id":"bullseye","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gl_browser_use_binary-0.1.7-cp313-cp313-macosx_13_0_arm64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp313-cp313-macosx_13_0_arm64.whl
Size 607.6 kB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
434724f39859a4e0dca2cb46999fd6672046ced50eb604eb01d2fc01691ee342
BLAKE2b-256 checksum
How to use checksums
12c13cd563d11d71262b82cd90731760227c71d5b37982ce5ea635d0e8576b0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / gl_browser_use_binary-0.1.7-cp312-cp312-win_amd64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp312-cp312-win_amd64.whl
Size 537.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ae07c5bfa225b6c0ca38e626af049b1a9318364740d01f90d24303ec61636042
BLAKE2b-256 checksum
How to use checksums
3b58a75bc04e5e70073d3127b37a889ccd6ac39dadc968dfe08b3d65bf97d6e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / gl_browser_use_binary-0.1.7-cp312-cp312-manylinux_2_31_x86_64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp312-cp312-manylinux_2_31_x86_64.whl
Size 853.6 kB
Tags CPython 3.12 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
dc8d45312d528b521ced52a377e720e7a754fc829accd220ee5f95b8acdf2025
BLAKE2b-256 checksum
How to use checksums
48723b78cb3948098e152e4f491b7e7f03feb69d73c1bd5cd2649a3a07f1c701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"11","id":"bullseye","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gl_browser_use_binary-0.1.7-cp312-cp312-macosx_13_0_arm64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp312-cp312-macosx_13_0_arm64.whl
Size 590.5 kB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
524d76f359187a68f312cc75cf0240afa6a05a1093e04adb0418db0d5787563f
BLAKE2b-256 checksum
How to use checksums
65694c90353d49fee27ade912f7cbb940c6d2143bcaa1d210e15d034644c9397
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / gl_browser_use_binary-0.1.7-cp311-cp311-win_amd64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp311-cp311-win_amd64.whl
Size 562.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
54510ad216d6084f5f344d23871156f7879b9e2af08adb0399287830fecf1e90
BLAKE2b-256 checksum
How to use checksums
cfad75e2e8d895c6771b504a1e456760a33fa9e7efb69ec0853948711a625afd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / gl_browser_use_binary-0.1.7-cp311-cp311-manylinux_2_31_x86_64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp311-cp311-manylinux_2_31_x86_64.whl
Size 783.2 kB
Tags CPython 3.11 Linux glibc 2.31+ x86-64
SHA-256 checksum
How to use checksums
5844c3a5ffd876e4a6c6e1144c25c8f6c5732f904d712715ca2e0766279f403e
BLAKE2b-256 checksum
How to use checksums
758b8047655760033f907ee72859bdb4f49401c64ab6c6a5f169f1ef3e89b187
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"11","id":"bullseye","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gl_browser_use_binary-0.1.7-cp311-cp311-macosx_13_0_arm64.whl

Incomplete provenance

This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.

We recommend further investigation before installing this file. View details.

Download URL gl_browser_use_binary-0.1.7-cp311-cp311-macosx_13_0_arm64.whl
Size 590.0 kB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
6d523ee16539c35da79c60074ca0f4f0e296f4dde2741620f7ea9743767c7ace
BLAKE2b-256 checksum
How to use checksums
32f536d2af86ab85c32cadd81efafdbc594eb036eff81805db6b08688bf82ba6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Security for gl-browser-use-binary 0.1.7

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.

Incomplete provenance

3 of 9 files were uploaded without provenance metadata.

Files with provenance 6 / 9
Files without provenance 3 / 9
Select from 9 files

Attestation for gl_browser_use_binary-0.1.7-cp313-cp313-win_amd64.whl

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 Oct 22, 2026.

Transparency log

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