winrt-Windows.Web.AtomPub

Python projection of Windows Runtime (WinRT) APIs


License
MIT
Install
pip install winrt-Windows.Web.AtomPub==2.2.0

Documentation

logo

PyWinRT

Access Windows Runtime (WinRT) APIs directly from Python! πŸš€

πŸ› οΈ Overview

What can you do with PyWinRT? πŸ€”

  • πŸ”Œ Access hardware, like Bluetooth, USB, serial ports, cameras, and more from Python.
  • πŸ–₯️ Access Windows OS features like notifications and screen capture from Python.
  • πŸ–ŒοΈ Write WinUI 2 or WinUI 3 apps using Python.

Want to try it❓Install uv and run the following command to execute this example script:

uv run --script https://raw.githubusercontent.com/pywinrt/pywinrt/refs/heads/main/samples/text_to_speech.py
# /// script
# requires-python = ">=3.10"
# dependencies = [
#   "winrt-runtime",
#   "winrt-Windows.Foundation",
#   "winrt-Windows.Media.SpeechSynthesis",
#   "winrt-Windows.Media.Playback",
#   "winrt-Windows.Storage",
#   "winrt-Windows.Storage.Streams",
# ]
# ///

import asyncio

from winrt.system import Object
from winrt.windows.media.speechsynthesis import SpeechSynthesizer
from winrt.windows.media.playback import MediaPlayer, MediaPlayerAudioCategory


async def main():
    synth = SpeechSynthesizer()
    stream = await synth.synthesize_text_to_stream_async("Hello, World!")

    media_ended_event = asyncio.Event()
    loop = asyncio.get_running_loop()

    def on_media_ended(sender: MediaPlayer, args: Object):
        loop.call_soon_threadsafe(media_ended_event.set)

    player = MediaPlayer()
    player.audio_category = MediaPlayerAudioCategory.SPEECH

    player.set_stream_source(stream)
    player.add_media_ended(on_media_ended)
    player.play()

    await media_ended_event.wait()


asyncio.run(main())

πŸ“š Documentation

πŸ“– Explore the full documentation here: PyWinRT Documentation

History

PyWinRT is a community-supported fork of the pywinrt tool from the Microsoft xlang project.

This repository contains:

  • The code generation tool (PyWinRT.exe).
  • Python bindings for the Windows SDK generated by this tool.

Evolution of PyWinRT:

  • πŸ—“οΈ April 2019 - Feburary 2021: Microsoft developed and published the monolithic winrt package.
  • πŸ—“οΈ January 2022 - August 2023: Community released updates as winsdk.
  • πŸ—“οΈ Starting September 2023: Bindings are now modular and published by the community as separate packages, one per Windows SDK namespace. The top-level namespace has reverted from winsdk to the original winrt.
  • πŸ—“οΈ Starting March 2025: Additional top-level namespaces winui2 and winui3 added for projections of Window UI toolkits.

βš™οΈ PyWinRT.exe

PyWinRT is a code generation tool that is used alongside cppwinrt to generate Python bindings for Windows Runtime APIs. It supports:

  • The Windows SDK.
  • Custom components.

πŸ”— Pre-compiled Binary

A pre-compiled binary version of the PyWinRT tool is available via NuGet.