winrt-Windows.Devices.Enumeration
Python projection of Windows Runtime (WinRT) APIs
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Windows-only; requires Python 3.9 or later and winrt-runtime installed.
- Async/await pattern requires asyncio context.
- Medium install friction: Windows-only wheels for Python 3.9–3.14 (win32, win_amd64, win_arm64).
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.
last release 2025-06-06 (434 days) · last repo commit 2025-12-11 · 196 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 212,990 downloads/mo, #9,446 on PyPI
Alternatives
Verify before relying
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()- 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.
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 on it.
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
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.
Windows-only; requires Python 3.9 or later and winrt-runtime installed. Async/await pattern requires asyncio context.
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()
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 packagewinrt-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 |
| Classifiers | Intended Audience :: DevelopersOperating System :: Microsoft :: WindowsProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPython |
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
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 › “windows device enumeration python”
- winrt-Windows.Devices.EnumerationProvides Python bindings to Windows Runtime (WinRT) APIs for device…
- serialxSerialx provides synchronous and native asynchronous APIs for serial…
- pyusbPyUSB provides Python access to USB devices on the host machine…
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.Radios · winrt-runtime · winrt-Windows.Devices.Bluetooth · winrt-Windows.Devices.Bluetooth.Advertisement · winrt-Windows.Devices.Bluetooth.GenericAttributeProfile · winrt-Windows.Foundation · pyudev · winrt-Windows.Storage.Streams · libpci · blkinfo