Skip to main content

veilus

Launch Veilus browser profiles from Python and drive them with Playwright.

Each Veilus profile is a browser with its own fingerprint, proxy and cookies. This package talks to the Veilus app's local API, launches a profile, and connects Playwright to that profile's own browser — so your script runs with the profile's identity.

pip install "veilus[playwright]"

Requires the Veilus desktop app 0.2.9 or newer, running, with the local API turned on (API & MCP page in the app sidebar, Pro plan or higher). Create a token on that page and put it in the environment:

export VEILUS_API_TOKEN=...
import asyncio
from veilus import Veilus


async def main():
    veilus = Veilus()
    profiles = await veilus.list_profiles()

    session = await veilus.connect(profiles[0]["id"])
    await session.page.goto("https://example.com")
    print(await session.page.title())
    await session.close()  # disconnects Playwright; the profile keeps running

    await veilus.stop(profiles[0]["id"])


asyncio.run(main())

connect() reuses the profile if it is already running, otherwise launches it. It returns the profile's own context and page — don't create a new context with your own user agent, viewport or locale, as those would override the profile's values for that context.

API

Veilus(token=None, port=None, app_dir=None) token defaults to $VEILUS_API_TOKEN; the port is read from the app's api-endpoint.json in app_dir ($VEILUS_APP_DIR or ~/.veilus)
await list_profiles() all profiles; a running one carries cdpUrl
await launch(id, diagnostic=False) starts the profile, returns {"pid", "cdpUrl"}
await stop(id) stops the profile
await connect(id, diagnostic=False) Playwright browser, context, page, cdp_url, close()

diagnostic=True (Veilus 0.2.10 or newer) opens the profile through its proxy but without its fingerprint, in a temporary browser directory deleted on stop: the page sees this machine's real values. Use it to tell whether a site blocks the fingerprint or the IP — never on an account you care about.

Security

The token is read only from your code or VEILUS_API_TOKEN. This package never reads the app's token store. The profile's CDP address (cdpUrl) has no password: any local program can use it while the profile runs, and it listens on 127.0.0.1 only.

License

MIT or Apache-2.0, at your option.

Metadata

Release files for veilus 0.1.0

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

Source distribution (sdist)

Source distribution for veilus 0.1.0
File Size Uploaded
veilus-0.1.0.tar.gz 26.1 kB Details

Built distribution (wheel)

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

Total release size: 33.5 kB

Release files / veilus-0.1.0.tar.gz

Download URL veilus-0.1.0.tar.gz
Size 26.1 kB
Tags Source
SHA-256 checksum
How to use checksums
40aa75b44d91d876bc279c5c3b98b71def6077ee365fd496e46974062443c06c
BLAKE2b-256 checksum
How to use checksums
d8bdefe5d253f87d242bf357e916beed54e2da9ff1e253184979a87dce73c3ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / veilus-0.1.0-py3-none-any.whl

Download URL veilus-0.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fef86f75f9d66715f8693b6d93c4dc60752bf4ab254888b197a24f23bd7b0f8e
BLAKE2b-256 checksum
How to use checksums
589ea381c855b68bbbc7f7b5244eaa9d698f9eed7ff491cc7654023be2f32b7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

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