Skip to main content

Veyra Python Interface

Lightweight wrapper around the Playwright API to help launch Veyra.

[!NOTE] All the the latest documentation is avaliable here.


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

Demonstration

https://github.com/user-attachments/assets/992b1830-6b21-4024-9165-728854df1473

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 is avaliable at veyra.example.com/python.

Download files

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

Source Distribution

veyra_browser-0.1.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

veyra_browser-0.1.1-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file veyra_browser-0.1.1.tar.gz.

File metadata

  • Download URL: veyra_browser-0.1.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.16

File hashes

Hashes for veyra_browser-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d5f49475468f01bcf370f05e889f79d27b9aca15e82d21a82ea567ba3a30fe83
MD5 04661f78341a3056c3cb65ed6973f092
BLAKE2b-256 a2d0c0d0201d7225bd35ae3e07d0d57b2575de6a4313754b0e125333be5745eb

See more details on using hashes here.

File details

Details for the file veyra_browser-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: veyra_browser-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.16

File hashes

Hashes for veyra_browser-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac3068834b191344f2355a63932b8af2dc2a3fbaa2eb17e61f7d55b8f56612b9
MD5 5b41cc81f2a8564fb947acb0f45482e3
BLAKE2b-256 b987d903c1af191d24d3644a7ea5d820ee96381e8b2df09ad20ba3e49b543f2a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 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