Skip to main content

Veyra Python Interface

Lightweight wrapper around the Playwright API to help launch Veyra.


What is this?

This Python library wraps around Playwright's API to help automatically generate & inject unique device characteristics (OS, CPU info, navigator, fonts, headers, screen dimensions, viewport size, WebGL, addons, etc.) into Veyra.

It uses BrowserForge under the hood to generate fingerprints that mimic the statistical distribution of device characteristics in real-world traffic.

In addition, it will also calculate your target geolocation, timezone, and locale to avoid proxy protection (see demo).


Installation

First, install the veyra package:

pip install -U veyra[geoip]

The geoip parameter is optional, but heavily recommended if you are using proxies. It will download an extra dataset to determine the user's longitude, latitude, timezone, country, & locale.

Next, download the Veyra browser:

Windows

veyra fetch

MacOS & Linux

python3 -m veyra fetch

To uninstall, run veyra remove.


Installing multiple Veyra versions & from other repos

UI Manager

Manage installed browsers, active version, IP geolocation databases, and package info. Basically a Qt front end for the Python CLI tool.

More updates on it will be coming soon.


To use the gui, install Veyra with the [gui] extra:

pip install 'veyra[gui]'

To launch:

veyra gui

CLI Mananger

See help message
$ python -m veyra --help

 Usage: python -m veyra [OPTIONS] COMMAND [ARGS]...

╭─ Options ─────────────────────────────────────────────────────────────────────────────╮
│ --help  Show this message and exit.                                                   │
╰───────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────╮
│ active    Print the current active version                                            │
│ fetch     Install the active version, or a specific version                           │
│ gui       Launch the Veyra Manager GUI (requires PySide6)                          │
│ list      List Veyra versions                                                      │
│ path      Print the install directory path                                            │
│ remove    Remove downloaded data. By default, this removes everything.                │
│           Pass --select to pick a browser version to remove.                          │
│ server    Launch a Playwright server                                                  │
│ set       Set the active Veyra version to use & fetch.                             │
│           By default, this opens an interactive selector for versions and settings.   │
│           You can also pass a specifier to activate directly:                         │
│           Pin version:                                                                │
│               veyra set official/stable/134.0.2-beta.20                            │
│           Automatically find latest in a channel source:                              │
│               veyra set official/stable                                            │
│ sync      Sync available versions from remote repositories                            │
│ test      Open the Playwright inspector                                               │
│ version   Display version, package, browser, and storage info                         │
╰───────────────────────────────────────────────────────────────────────────────────────╯

sync

Pull a list of release assets from GitHub.

> veyra sync
Syncing repositories...
  Official... 24 versions
  CoryKing... 2 versions

Synced 26 versions from 2 repos.

set

Choose a version channel or pin a specific version. Can also be called with a specifier to activate directly.

Interactive selector:

> veyra set

You can also pass a specifier to pin a specific version or choose a channel to follow directly. This will pull the latest stable version from the official repo on veyra fetch.

> veyra set official/stable  # Default setting

Follow latest prerelease version from the official repo, if applicable:

> veyra set official/prerelease

Pin a specific version:

> veyra set official/stable/134.0.2-beta.20

active

Prints the current active version string:

> veyra active  # Default channel is active
official/stable
> veyra set coryking/stable/142.0.1-fork.26
Pinned: coryking/stable/142.0.1-fork.26
Run 'veyra fetch' to install.

> veyra active  # A specific version is pinned
coryking/stable/142.0.1-fork.26 (not installed)

fetch

Install the latest version from the active channel. By default, this is official/stable. This will also automatically sync repository assets.

> veyra fetch  # Install the latest in the channel

To download the latest from a different channel, or pin a version:

> veyra set coryking/stable
> veyra fetch  # Will download the latest release from CoryKing's repo for now on

Or pass in the identifier to download directly without activating it:

> veyra fetch official/stable/135.0-beta.25   # Install a specific version

list

List installed or all available Veyra versions as a tree.

> veyra list          # show installed versions
> veyra list all      # show all available versions from synced repos
> veyra list --path   # show full install paths

remove

By default, removes the entire veyra data directory.

> veyra remove
> veyra remove -y  # skip confirmation prompt

Remove a specific version:

> veyra remove official/stable/134.0.2-beta.20

Interactively select a version to remove:

> veyra remove --select

version

Display the Python package version, active browser version, channel, and update status.

> veyra version
Python Packages
  Veyra                    v0.5.0
  Browserforge                v1.2.4
  Apify Fingerprints          v0.10.0
  Playwright                  v1.57.1.dev0+g732639b35.d20251217
Browser
  Active                      official/stable/135.0.1-beta.24
  Current browser             v135.0.1-beta.24
  Installed                   Yes
  Latest in official/stable?  Yes
  Last Sync                   2026-03-07 00:23
GeoIP
  Database                    MaxMind GeoLite2
  Updated                     2026-03-07 00:24
Storage
  Install path                /home/name/.cache/veyra
  Browser(s) directory size   1.2 GB
  GeoIP database size         40.7 MB
  Config file                 /home/name/.cache/veyra/config.json
  Repo cache                  /home/name/.cache/veyra/repo_cache.json

path

Print the install directory path.

> veyra path
/home/name/.cache/veyra

test

Open Veyra with the Playwright inspector for debugging.

> veyra test
> veyra test https://example.com

server

Launch a remote Playwright server.

> veyra server

Usage

All of the latest stable documentation lives in this repository — see github.com/ahansardar/veyra.

Metadata

Release files for veyra-browser 0.1.3

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

Source distribution (sdist)

Source distribution for veyra-browser 0.1.3
File Size Uploaded
veyra_browser-0.1.3.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for veyra-browser 0.1.3
File Interpreter ABI Platform
veyra_browser-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 2.8 MB

Release files / veyra_browser-0.1.3.tar.gz

Download URL veyra_browser-0.1.3.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
906acbb01a43fa4df32068f28adb122ae8388409f212e4ad05223754f48f598f
BLAKE2b-256 checksum
How to use checksums
953371554e3afc87ef10caba8da97fe8b612452a1c751e4c3d5537d02554e8c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / veyra_browser-0.1.3-py3-none-any.whl

Download URL veyra_browser-0.1.3-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3724987631850eddf5884c09d91f5f423b3b7ed3c5a23c563f4772cf3982db4a
BLAKE2b-256 checksum
How to use checksums
f29bac6b78f7c4165b04d0d02251d992d8b87fe7739a37b08fe4445f333f91e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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