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 Distributions

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

overlays-2.1.3-py3-none-win_amd64.whl (255.4 kB view details)

Uploaded Python 3Windows x86-64

overlays-2.1.3-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: overlays-2.1.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 255.4 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","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.1.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2034cb4a9aedb598330ae3a158f843c77afab29887695f7fe7c9818ab9b3b2f4
MD5 3f5fac1d2a94e51026d03ad74b87397e
BLAKE2b-256 eccafaf5c0d45040c23dca2cfa01cc13908e7596db179608032319ea37c88d4b

See more details on using hashes here.

File details

Details for the file overlays-2.1.3-py3-none-any.whl.

File metadata

  • Download URL: overlays-2.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","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.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 da3dfecfbfa7a05cfd5c6ee99a12eb018cdb36fc33a54066377a9117d0a6e083
MD5 75a24a43261fb405277a44caad969e53
BLAKE2b-256 78e4eeb580b9dd75305f08b0f18ec98e6e76292dc4dcd6c6b8efa65046a696cf

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