Windows-first window automation abstractions with pluggable input and output modes.
Project description
AlphaWindow
AlphaWindow is a Windows-first automation abstraction layer. It exposes one session API for window operations while allowing callers to choose different input and output modes.
The first implementation includes:
- Built-in I/O profiles for every declared input and output mode, including
inspect,observe,desktop_observe,dry_run,win32_message,message_only,uia_control,uia_visual,global_input,foreground_visual,guarded_input,guarded_desktop,isolated_observe,isolated_telemetry,virtual_window,virtual_telemetry, andvirtual_input_only. - A
WindowSessionAPI forprefetch,capture,observe,click,key_down,key_up, andtype_text. - Generic delegation backends for message, UIA, foreground, guarded foreground, state, desktop-region, hook-telemetry, and no-output modes.
- Compatibility checks so a backend cannot silently fall back to a broader side-effect mode.
- Hook-aware
isolatedandvirtualizedinput backends that accept pluggable hook managers and virtual input transports.
Native pywin32, pynput, and DLL hook adapters are intended to plug into the same protocols in later slices.
Install
From PyPI after publishing:
pip install alphawindow
From this checkout:
pip install .
Import
import alphawindow
from alphawindow import (
AutomationConfig,
InputMode,
OutputMode,
WindowSelector,
WindowSession,
get_profile,
)
print(alphawindow.__version__)
print(get_profile("observe").input_mode is InputMode.DRY_RUN)
Release
Publishing is handled by GitHub Actions in .github/workflows/publish.yml.
- Configure PyPI Trusted Publishing for this repository, environment
pypi, and workflowpublish.yml. - Update the version in
pyproject.tomlandsrc/alphawindow/_version.py. - Push a version tag:
git tag v0.1.0
git push origin v0.1.0
The workflow runs tests on Windows for Python 3.11, 3.12, and 3.13, builds the package, checks distribution metadata, and publishes to PyPI only for v* tags.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 alphawindow-0.1.0.tar.gz.
File metadata
- Download URL: alphawindow-0.1.0.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edcf5191208257c7860ca3cf960681d9cb4a69095537428249ba526bd6607587
|
|
| MD5 |
f87251eb7f29bd97238f15e957723bc3
|
|
| BLAKE2b-256 |
fefd0453f26b517d9ad02067b614393138e0a0a8cd725024b0ad71de379bb737
|
File details
Details for the file alphawindow-0.1.0-py3-none-any.whl.
File metadata
- Download URL: alphawindow-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c26efe0b039dcf44ae4004f8305d47db1d6f78ac839d577a6177d20dcf888613
|
|
| MD5 |
d89029c61ed05ff8167569231ae2ad9b
|
|
| BLAKE2b-256 |
186445f5f24271579ef31179448c12ce3bc8487e1bf502614d695c60b8a83db3
|