Skip to main content

Python bindings for libxdo

Project description

libxdo is the library behind xdotool, a tool to “fake keyboard/mouse input, window management, and more”.

This package aims to provide ctypes-based Python bindings (and a more pythonic way to use the C library, of course..)

WARNING The project is still work in progress! Only a small part of the library is supported, and tests / documentation are missing. Use with care (and make sure to report any issue you should find!)


Documentation is hosted on Read The Docs:

Note: there currently is a problem building the documentation on RTD due to missing libxdo library (which makes importing xdo.xdo fail). For this reason, a (locally-generated) copy of the documentation is hosted on github pages:

Example usage

Ask the user to click a window with the mouse, then write “Python rocks!” to that window.

from xdo import Xdo
xdo = Xdo()
win_id = xdo.select_window_with_click()
xdo.enter_text_window(win_id, 'Python rocks!')


The library is currently tested on:

OS Architecture libxdo version Date Test result
Debian GNU/Linux “jessie” (testing) amd64 3.20130111.1-3.1   ✓ success
Archlinux amd64 3.20150503.1 2015-11-16 ✓ success


The package is available on pypi

Install via pip:

pip install python-libxdo

Install the tarball directly from github:

pip install

Install in development mode from git:

pip install -e 'git+'

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

python-libxdo-0.1.2a1.tar.gz (21.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page