winrt-runtime
Python projection of Windows Runtime (WinRT) APIs
Decision gist · record as of 2026-08-14
Yes, if you are on Windows and need direct access to WinRT APIs. The package is well-maintained enough (active repo, no known vulnerabilities, permissive license), but install friction is high—Windows-only, modular dependencies, and aging codebase status. Suitable for developers building Windows-specific tools, hardware integrations, or WinUI applications; not applicable on macOS or Linux.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Windows-only; requires Python 3.9 or later.
- Modular design means you must install additional namespace packages (e.g., winrt-Windows.Media.SpeechSynthesis) for specific WinRT APIs beyond the runtime base.
- Medium friction: platform-specific wheels for Windows only (Python 3.9–3.14, 32/64/ARM architectures).
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions, provided you retain the license notice.
last release 2025-06-06 (434 days) · last repo commit 2025-12-11 · 196 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 379,926 downloads/mo, #7,108 on PyPI
Alternatives
Verify before relying
pip install winrt-runtime
from winrt.system import Object
from winrt.windows.media.speechsynthesis import SpeechSynthesizer
synth = SpeechSynthesizer()
stream = await synth.synthesize_text_to_stream_async("Hello, World!")- Whether all Windows SDK namespaces are currently available as separate packages and their coverage completeness.
- Performance characteristics and overhead of Python-to-WinRT marshalling for real-time or latency-sensitive operations.
- Stability and compatibility guarantees for the aging codebase given the last commit was December 2025.
What it is and what it does
PyWinRT is a Python projection layer for Windows Runtime APIs, allowing developers to call WinRT functions directly from Python without C++ intermediaries. It wraps hardware access (Bluetooth, USB, serial, cameras), OS features (notifications, screen capture), and UI frameworks (WinUI 2 and WinUI 3) into Python-friendly interfaces. The package is modular—winrt-runtime provides the base runtime and type infrastructure, while individual namespace packages (installed separately) expose specific API groups.
The project is a community-maintained fork of Microsoft's original xlang tool. It generates Python bindings from Windows SDK metadata, supporting both the standard Windows SDK and custom WinRT components. Installation is straightforward on Windows but platform-specific; the package ships pre-built wheels for Python 3.9 through 3.14 across 32-bit, 64-bit, and ARM architectures. Typical usage involves importing from the winrt namespace hierarchy and calling async methods to interact with Windows services.
Use it for
- Build desktop applications that access hardware like Bluetooth devices, USB ports, or cameras directly from Python.
- Integrate Windows OS notifications, screen capture, or other system features into Python applications.
- Develop WinUI 2 or WinUI 3 graphical applications using Python instead of C# or C++.
- Generate Python bindings for custom WinRT components using the PyWinRT code generation tool.
- Prototype or automate Windows system tasks that require low-level hardware or OS API access.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are on Windows and need direct access to WinRT APIs.
The package is well-maintained enough (active repo, no known vulnerabilities, permissive license), but install friction is high—Windows-only, modular dependencies, and aging codebase status. Suitable for developers building Windows-specific tools, hardware integrations, or WinUI applications; not applicable on macOS or Linux.
Install
winrt-runtime on PyPI
Before you install
Medium friction: platform-specific wheels for Windows only (Python 3.9–3.14, 32/64/ARM architectures). Maintenance status is aging—last commit December 2025, but repository remains active and not archived. Dependency on typing_extensions is minimal.
Windows-only; requires Python 3.9 or later. Modular design means you must install additional namespace packages (e.g., winrt-Windows.Media.SpeechSynthesis) for specific WinRT APIs beyond the runtime base.
License in practice
MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions, provided you retain the license notice.
Quickstart
pip install winrt-runtime
from winrt.system import Object
from winrt.windows.media.speechsynthesis import SpeechSynthesizer
synth = SpeechSynthesizer()
stream = await synth.synthesize_text_to_stream_async("Hello, World!")
Verify before relying
- Whether all Windows SDK namespaces are currently available as separate packages and their coverage completeness.
- Performance characteristics and overhead of Python-to-WinRT marshalling for real-time or latency-sensitive operations.
- Stability and compatibility guarantees for the aging codebase given the last commit was December 2025.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagetyping_extensions |
| Maintenance | Aging 434 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 379,926 / month, #7,108 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersOperating System :: Microsoft :: WindowsProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPython |
Evidence: winrt_runtime-3.2.1-cp310-cp310-win32.whl; winrt_runtime-3.2.1-cp310-cp310-win_amd64.whl; winrt_runtime-3.2.1-cp310-cp310-win_arm64.whl; winrt_runtime-3.2.1-cp311-cp311-win32.whl; winrt_runtime-3.2.1-cp311-cp311-win_amd64.whl; winrt_runtime-3.2.1-cp311-cp311-win_arm64.whl; winrt_runtime-3.2.1-cp312-cp312-win32.whl; winrt_runtime-3.2.1-cp312-cp312-win_amd64.whl; winrt_runtime-3.2.1-cp312-cp312-win_arm64.whl; winrt_runtime-3.2.1-cp313-cp313-win32.whl; winrt_runtime-3.2.1-cp313-cp313-win_amd64.whl; winrt_runtime-3.2.1-cp313-cp313-win_arm64.whl; winrt_runtime-3.2.1-cp314-cp314-win32.whl; winrt_runtime-3.2.1-cp314-cp314-win_amd64.whl; winrt_runtime-3.2.1-cp314-cp314-win_arm64.whl; winrt_runtime-3.2.1-cp39-cp39-win32.whl; winrt_runtime-3.2.1-cp39-cp39-win_amd64.whl; winrt_runtime-3.2.1-cp39-cp39-win_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “winui python development”
- winrt-runtimeProvides Python bindings to access Windows Runtime (WinRT) APIs,…
- winrt-Windows.Foundation.CollectionsProvides Python bindings for Windows Runtime (WinRT) APIs in the…
- winrt-Windows.Graphics.ImagingProvides Python bindings to Windows Runtime (WinRT) graphics imaging…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also winrt-Windows.Devices.Bluetooth · winrt-Windows.Devices.Radios · winrt-Windows.Foundation · winrt-Windows.Globalization · winrt-Windows.Graphics.Imaging · winrt-Windows.Media.Ocr · winrt-Windows.Storage.Streams · winrt-Windows.Devices.Bluetooth.Advertisement · winrt-Windows.Devices.Bluetooth.GenericAttributeProfile · winrt-Windows.Foundation.Collections