Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Python bindings for the libwayland library written in pure Python

Project description

Built against Wayland 1.10.0

Build Status Build Coverage Documentation Status

PyWayland provides a wrapper to the libwayland library using the CFFI library to provide access to the Wayland library calls and written in pure Python.

Below is outlined some of the basics of PyWayland and how to get up and running. For more help, see the full documentation.

Current Release

PyWayland is still in a developmental state. An initial version 0.0.1a.dev7 is available on the cheese shop. Current development versions can be obtained from the git repository, feedback, as well as any bug reports or fixes are highly appreciated.


PyWayland requires six and cffi to run on Python >=3.4. On lower Python versions, enum34 is required. PyWayland is tested against Python 2.7, 3.2+, PyPy, and PyPy3 (see Running Tests).


Installation can be done through pip to pull the most recently tagged release. To see instructions on running from sounce, see the relevant documentation on installing from source.

Building Wayland protocols

In order to run from source, you will need to generate the interfaces to the Wayland protocol objects as defined in the wayland.xml file. By default, this file will be located in /usr/share/wayland/wayland.xml. In this case, the protocol files can be generated from the file:

$ python generate_protocol

See the help for this command to use non-default locations for the input and output of the scanner.

The scanner is installed as a script pywayland-scanner when PyWayland is installed. See pywayland-scanner -h for more information.

Running Tests

PyWayland implements a (currently limited) test-suite in ./tests. The tests can be run through py.test. Be sure you build the protocol files (see Building Wayland protocols) before running the tests.

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pywayland-0.0.1a0.dev7.tar.gz (97.3 kB) Copy SHA256 hash SHA256 Source None Apr 11, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page