~gk/python-wayland

An implementation of the Wayland protocol from scratch, with no external dependencies, just Python.
Update changelog
Fix one last type hint puzzle
Fix type hinting errors breaking documentation build.

clone

read-only
https://git.sr.ht/~gk/python-wayland
read/write
git@git.sr.ht:~gk/python-wayland

You can also use your local clone with git send-email.

#python-wayland

PyPI - Version builds.sr.ht status PyPI - Python Version Documentation

An implementation of the Wayland protocol from scratch, with no external dependencies, just Python. Aimed at building clients rather than compositors.

#Features

  • Includes support for all standard Wayland protocols and extensions from Hyprland and wlroots.
  • No external dependencies, no other Wayland libraries are required. This is not a wrapper for libwayland.
  • Maintains the original Wayland naming conventions to ensure Wayland API documentation remains relevant and easy to use.
  • Supports updating protocol definitions from either the local system or the latest official protocol repositories. Latest versions of all protocol definitions are built-in.
  • Supports code completion, type hinting and documentation for Wayland objects. (tested in vscode and helix)

#Documentation

For documentation on how to use python-wayland see the online documentation

#Thanks

Thanks to Philippe Gaultier, whose article Wayland From Scratch inspired this project.

Thanks also to Drew DeVault for his freely available Wayland book. This project would not have been developed if not for Drew's book.

Thanks to the mkdocstrings project, not only for the mkdocstrings plugin to MkDocs but also because the configuration of the python-wayland documentation is almost entirely copied from the excellent work done by the mkdocstrings project in their own documentation.