Skip to main content

Python bindings for LIRC.

Project description


LIRC extension written in Cython for Python 3 (and 2). I'm trying to get this into


`python-lirc` is in the main repositories for Raspbian. If you're on a
RaspberryPi you can just run:

$ sudo apt-get install python-lirc

Otherwise, download the latest relase from
[here]( and install with:

$ sudo dpkg -i python3-lirc_1.2.1-1_all.deb


You need a valid [lircrc configuration file]( For example:

$ cat ~/.lircrc
button = 1 # what button is pressed on the remote
prog = myprogram # program to handle this command
config = one, horse # configs are given to program as list

button = 2
prog = myprogram
config = two


$ python3
>>> import lirc
>>> sockid = lirc.init("myprogram")
>>> lirc.nextcode() # press 1 on remote after this
['one', 'horse']
>>> lirc.deinit()

Load custom configurations with:

>>> sockid = lirc.init("myprogram", "mylircrc")
>>> lirc.load_config_file("another-config-file") # subsequent configs

Set whether `nextcode` blocks or not with:

>>> sockid = lirc.init("myprogram", blocking=False)
>>> lirc.set_blocking(True, sockid) # or this

Building and Installing
If you want to install manually then you may also need to install
cython and some dev libraries:

$ sudo aptitude install liblircclient-dev cython gcc \
python{,3}-setuptools python{,3}-dev

Download, compile and install for Python 3 and 2.

git clone
cd python-lirc/
make py3 && sudo python3 install
make py2 && sudo python install

Or just install straight from PyPI:

sudo easy_install3 python-lirc
sudo easy_install python-lirc

1. Install the dev libraries as above.
2. Make changes to `lirc/lirc.pyx`.
3. Compile with `make py3 && python3 build`
4. Test with `python3 tests/`
Change Log

- Fixed `set_blocking` bug (issue #2).
- Added nonblocking tests.
- Added python-dev and python3-dev to README.

- Structured for Debian packaging.

- Tidied up project structure.
- init now tries to use config at ~/.lircrc and then /etc/lirc/lircrc.

Project details

Download files

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

Files for python-lirc, version 1.2.1
Filename, size File type Python version Upload date Hashes
Filename, size python-lirc-1.2.1.tar.gz (26.3 kB) File type Source Python version None Upload date Hashes View

Supported by

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