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.
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.exeREADME.txtSHA256SUMS.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file overlays-2.1.2-py3-none-win_amd64.whl.
File metadata
- Download URL: overlays-2.1.2-py3-none-win_amd64.whl
- Upload date:
- Size: 255.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b910c8f30d684aea35d8cf11429fb08aae8df9d1dd48d7dde43c27b18b4e88ee
|
|
| MD5 |
f594dc99da6ed2069c879878fadb8ea9
|
|
| BLAKE2b-256 |
6abb8f9a5f1e0fd3b6ea33f72289220492de8c7fbb00fa1000b4aeefc0585d5f
|