Skip to main content

xcffib is the XCB binding for python

Project description

xcffib Build Status

xcffib is the XCB binding for Python.

Installation

For most end users of software that depends on xcffib or developers writing code against xcffib, you can use the version of xcffib on pypi. To install it, you'll need libxcb's headers and libxcb-render's headers (these are available via sudo apt-get install libxcb-render0-dev on Ubuntu). Once you have the C headers installed, you can just pip install xcffib.

If you're interested in doing development, read on...

Development dependencies

You should be able to install all the language deps from hackage or pip. .github/workflows/ci.yaml has an example of how to install the dependencies on Ubuntu flavors.

Hacking

See the Makefile for examples on how to run the tests. Your contribution should at pass make check before it can be merged. The newtests make target can be used to regenerate expected haskell test data if the tests are failing because you made a change to the generated python code.

Hacking on new xcbproto versions

Sometimes (more often recently), xcbproto makes some updates that we need to do some work for. These often require some updates to xcb-types as well. First, hack your changes into xcb-types and cabal install them, then git clone the version of xcbproto you want to somewhere, e.g. ~/packages:

~/packages $ git clone https://gitlab.freedesktop.org/xorg/proto/xcbproto.git

Finally, you can build/test xcffib against this custom version of xcb-{proto|types} with:

make XCBDIR=~/packages/xcbproto/src check

Hacking on new xcb-types versions

To go along with new xcbproto elements, sometimes you need to hack on newer versions of xcb-types. Newer cabals require you to do something like:

echo packages: ../xcb-types/xcb-types.cabal ./xcffib.cabal > cabal.project

In order to find locally modified versions of xcb-types.

Project details


Download files

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

Source Distribution

xcffib-1.11.0.tar.gz (124.1 kB view details)

Uploaded Source

File details

Details for the file xcffib-1.11.0.tar.gz.

File metadata

  • Download URL: xcffib-1.11.0.tar.gz
  • Upload date:
  • Size: 124.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0rc3

File hashes

Hashes for xcffib-1.11.0.tar.gz
Algorithm Hash digest
SHA256 b2a7d51d4014de8ca676127a9c7e0b72b24a1d259dea50b50242df81fa33d025
MD5 1df07067f7798a0ce4bda5270892f1d1
BLAKE2b-256 4ae05189d8904f79453295410274ba706a44df9008ad006ca082e99f1a8d8f4c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page