Skip to main content

Async HTTP client for interacting with Vision browser automation APIs.

Project description

Vision Browser logo

PyPI Python Versions Repository License

vision-browser

Async client for the Vision browser automation platform. The library wraps both the local Vision app API and the public cloud API, providing Pydantic models and retrying HTTP access powered by httpx.

Features

  • Async wrapper around Vision local (127.0.0.1:3030) and public (https://v1.empr.cloud/api/v1) endpoints
  • Ready-to-use Pydantic models for profiles, folders, proxies, fingerprints and running sessions
  • Automatic retries with exponential backoff for transient HTTP failures
  • Helper utilities for validating IDs, preparing proxy payloads and generating noise preferences

Requirements

  • Python 3.13+
  • Vision desktop application running locally for local API calls
  • Vision API token for public endpoints

Installation

pip install vision-browser-async

The package targets Python 3.13 and newer. Older interpreters are not supported. The installed module keeps the original import path (vision_browser).

Quick start

import asyncio
from vision_browser import VisionAPI


async def main() -> None:
    token = "your-api-token"
    async with VisionAPI(token) as client:
        folders = await client.list_folders()
        default_folder = folders[0]

        # Create a profile using the public API
        fingerprint = await client.get_fingerprint(platform="windows")
        profile = await client.create_profile(
            folder_id=default_folder.id,
            profile_name="Sample profile",
            fingerprint=fingerprint,
            platform="Windows",
            browser="Chrome",
        )

        # Start the profile through the local API
        running = await client.start_profile(profile)
        print(f"{running.profile_name} is running on port {running.port}")

        await client.stop_profile(running)


if __name__ == "__main__":
    asyncio.run(main())

Available API helpers

  • vision_browser.public_api_methods covers CRUD for folders, profiles, proxies and fingerprint retrieval.
  • vision_browser.local_api_methods exposes start/stop operations for profiles running in the local Vision application.
  • vision_browser.utils contains helpers for ID validation, proxy parsing and noise preference generation.
  • vision_browser.errors provides the base VisionBrowserAPIError raised when Vision responds with an error payload.

Refer to the module docstrings for detailed argument descriptions and return types.

Development and publishing

Build and upload distributions using build and twine:

python -m build
twine check dist/*
twine upload dist/*

License

Released under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vision_browser_async-0.1.0.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vision_browser_async-0.1.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file vision_browser_async-0.1.0.tar.gz.

File metadata

  • Download URL: vision_browser_async-0.1.0.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for vision_browser_async-0.1.0.tar.gz
Algorithm Hash digest
SHA256 76144a1b0e238bb9c581c46e388212a9a298a0b4d45df29bff339948d997b06c
MD5 40e7dc690074b3feff0cbf4de0405e7d
BLAKE2b-256 ec978578812a89350334d69d9935382a55a8c94da20ff2ca30f26294336a9c25

See more details on using hashes here.

File details

Details for the file vision_browser_async-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for vision_browser_async-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39b8668c846e7d21ec548afa4678e6475c9ac601c11888e95a2608c2d361aeb8
MD5 e349764360a5cbe55ac5a96fd499ca87
BLAKE2b-256 7ec822e8788993eb9b0eb29e3a9f24cdbd092ff059974ed3798eda5721e244cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page