Skip to main content

Python client library and launcher for the overlays Rust server on Windows.

Project description

overlays

A Windows overlay server with a Python client library. The published overlays wheel bundles the Rust overlays-server.exe, so users can start the server directly from the installed package.

Overlay server in action

Install And Run

  • Windows 10 or later
  • Python 3.10+ for the packaged launcher and client library

Run the packaged server without installing anything permanently:

uvx overlays

After installing the package, either entry point starts the bundled server in the foreground:

overlays
overlays-server

Set OVERLAY_PIPE_NAME if you want a different named pipe:

$env:OVERLAY_PIPE_NAME="overlay_manager_env"
uvx overlays

The server listens on \\.\pipe\{OVERLAY_PIPE_NAME} and defaults to \\.\pipe\overlay_manager.

Standalone Binary

GitHub Releases also publish a portable Windows zip named overlays-server-v<version>-windows-x64.zip. It contains:

  • overlays-server.exe
  • README.txt
  • SHA256SUMS.txt

Use The Python Client

from overlays.client import OverlayClient

overlay = OverlayClient()

overlay.create_highlight_window(rect=(100, 100, 400, 300), timeout_seconds=5)
overlay.create_countdown_window(message_text="Get ready!", countdown_seconds=10)
overlay.create_elapsed_time_window(message_text="Session Length")
overlay.create_qrcode_window(
    data={"url": "https://example.com"},
    duration=15,
    caption="Scan me",
)
overlay.update_window_message(window_id=2, new_message="Halfway there...")
overlay.close_window(window_id=1)
overlay.take_break(duration_seconds=60)
overlay.cancel_break()

Development

Development requires Rust stable in addition to Python.

Install Python dependencies:

uv sync --dev

Run the Rust server from source:

cargo run --manifest-path rust/overlays-server/Cargo.toml

Build and test the Rust server:

cargo build --manifest-path rust/overlays-server/Cargo.toml
cargo test --manifest-path rust/overlays-server/Cargo.toml

Run the Python tests, including client compatibility checks against the built Rust binary:

uv run pytest -v

If the compatibility tests need an explicit server executable path, set OVERLAYS_SERVER_BIN.

IPC Commands

Command Args Description
create_highlight_window rect: (l, t, r, b), timeout_seconds: int Shows a colored rectangle for a duration.
create_countdown_window message_text: str, countdown_seconds: int Starts a countdown timer.
create_elapsed_time_window message_text: str Displays elapsed time since creation.
create_qrcode_window data: str | dict, duration: int, caption: str Renders a QR code overlay.
update_window_message window_id: int, new_message: str Changes the text of a countdown or elapsed-time window.
close_window window_id: int Closes any overlay window.
take_break duration_seconds: int Discards incoming non-break commands for a break period.
cancel_break (none) Cancels any active break.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

overlays-2.0.2-py3-none-win_amd64.whl (252.7 kB view details)

Uploaded Python 3Windows x86-64

File details

Details for the file overlays-2.0.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: overlays-2.0.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 252.7 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for overlays-2.0.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d71250afddb10f79f9974643bf21a938a2e1411cfd40d5b2d8dfc13d2701e3a2
MD5 332937db06bafed0266821dd25fa0c59
BLAKE2b-256 e831070b9c3a518ce2e9dc160e8b367fc367fe1bf04cafe2cf9770d52ca8db33

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