winrt-Windows.Devices.Enumeration
Python projection of Windows Runtime (WinRT) APIs
What it is and what it does
This package is a Python binding to the Windows Runtime (WinRT) Devices.Enumeration namespace, part of the modular PyWinRT project. It lets you discover and enumerate hardware devices—Bluetooth, USB, serial ports, cameras, and other peripherals—directly from Python code on Windows. The binding is auto-generated from the Windows SDK and wraps the native WinRT API, so you work with familiar Python async/await patterns to interact with Windows device discovery APIs.
The package is Windows-only and requires Python 3.9 or later, plus the winrt-runtime dependency. It's one of many modular winrt-* namespace packages published by the PyWinRT community since September 2023, replacing the older monolithic winrt package. If you're building Windows desktop tools, hardware utilities, or integrations that need to discover or interact with connected devices, this binding provides direct access to the underlying Windows device enumeration infrastructure.
Use it for:
- Discover and enumerate Bluetooth devices, USB peripherals, or serial ports programmatically on Windows.
- Build Windows desktop utilities that detect and list connected hardware without calling external CLI tools.
- Integrate device discovery into Python-based hardware management or IoT applications on Windows.
- Access camera or other sensor device information from Python for Windows-based applications.
- Automate device detection workflows in Windows system administration or testing scripts.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to Windows Runtime (WinRT) APIs for device enumeration, enabling access to hardware like Bluetooth, USB, serial ports, and cameras directly from Python.
Yes, if you are building Windows-only applications that need direct access to device enumeration APIs and are comfortable with the async/await pattern. The package is actively maintained (last commit December 2025), MIT-licensed, and has no known vulnerabilities. Install friction is moderate due to Windows-only wheels and the requirement for winrt-runtime, but that is inherent to the use case. Not suitable for cross-platform projects.
Install
winrt-windows-devices-enumeration on PyPI
pip
pip install winrt-windows-devices-enumerationuv
uv add winrt-windows-devices-enumerationpoetry
poetry add winrt-windows-devices-enumerationInstalling winrt-Windows.Devices.Enumeration
Before you install
Medium install friction: Windows-only wheels for Python 3.9–3.14 (win32, win_amd64, win_arm64). Requires winrt-runtime as a runtime dependency. Last release was 2025-06-06 with repo activity through 2025-12-11, though maintenance status is aging.
License in practice
MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.
Quickstart
pip install winrt-windows-devices-enumeration
from winrt.windows.devices.enumeration import DeviceInformation
# Enumerate devices (example pattern from PyWinRT ecosystem)
devices = await DeviceInformation.find_all_async()
Windows-only; requires Python 3.9 or later and winrt-runtime installed. Async/await pattern requires asyncio context.
Verify before relying
- Specific device enumeration capabilities (Bluetooth, USB, serial, camera) and their API surface within this namespace binding.
- Whether this package is typically used standalone or as part of a larger winrt-* namespace collection.
- Current adoption and real-world usage patterns beyond download metrics.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — winrt-runtime |
| Maintenance | aging — 434 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 212,990/month — #9,446 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: winrt_windows_devices_enumeration-3.2.1-cp310-cp310-win32.whl; winrt_windows_devices_enumeration-3.2.1-cp310-cp310-win_amd64.whl; winrt_windows_devices_enumeration-3.2.1-cp310-cp310-win_arm64.whl; winrt_windows_devices_enumeration-3.2.1-cp311-cp311-win32.whl; winrt_windows_devices_enumeration-3.2.1-cp311-cp311-win_amd64.whl; winrt_windows_devices_enumeration-3.2.1-cp311-cp311-win_arm64.whl; winrt_windows_devices_enumeration-3.2.1-cp312-cp312-win32.whl; winrt_windows_devices_enumeration-3.2.1-cp312-cp312-win_amd64.whl; winrt_windows_devices_enumeration-3.2.1-cp312-cp312-win_arm64.whl; winrt_windows_devices_enumeration-3.2.1-cp313-cp313-win32.whl; winrt_windows_devices_enumeration-3.2.1-cp313-cp313-win_amd64.whl; winrt_windows_devices_enumeration-3.2.1-cp313-cp313-win_arm64.whl; winrt_windows_devices_enumeration-3.2.1-cp314-cp314-win32.whl; winrt_windows_devices_enumeration-3.2.1-cp314-cp314-win_amd64.whl; winrt_windows_devices_enumeration-3.2.1-cp314-cp314-win_arm64.whl; winrt_windows_devices_enumeration-3.2.1-cp39-cp39-win32.whl; winrt_windows_devices_enumeration-3.2.1-cp39-cp39-win_amd64.whl; winrt_windows_devices_enumeration-3.2.1-cp39-cp39-win_arm64.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
winrt-Windows.Devices.RadiosProvides Python bindings to access Windows…
permissive · top 15,000 on PyPI
winrt-runtimeProvides Python bindings to access Windows…
permissive · top 15,000 on PyPI
winrt-Windows.Devices.BluetoothProvides Python bindings to Windows Runtime…
permissive · top 15,000 on PyPI
winrt-Windows.Devices.Bluetooth.AdvertisementProvides Python bindings to access Windows…
permissive · top 15,000 on PyPI
winrt-Windows.Devices.Bluetooth.GenericAttributeProfileProvides Python bindings to access Windows…
permissive · top 15,000 on PyPI
winrt-Windows.FoundationProvides Python bindings to Windows Runtime…
permissive · top 15,000 on PyPI
pyudevpyudev is a pure Python binding for libudev…
copyleft · top 5,000 on PyPI
winrt-Windows.Storage.StreamsProvides Python bindings to Windows Runtime…
permissive · top 15,000 on PyPI
libpciProvides Python bindings to libpci, allowing…
copyleft · top 15,000 on PyPI
blkinfoRetrieves structured information about block…
copyleft · top 15,000 on PyPI