Python bindings for LIRC.
Project description
python-lirc
===========
LIRC extension written in Cython for Python 3 (and 2). I'm trying to get this into
[Debian](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=Bug%23718980)
[PyPI](https://pypi.python.org/pypi/python-lirc/)
Install
=======
`python-lirc` and `python3-lirc` are in the main repositories for Raspbian. If you're on a
RaspberryPi you can just run:
$ sudo apt-get install python3-lirc # or python-lirc
Otherwise, download the latest relase from
[here](https://github.com/tompreston/python-lirc/releases) and install with:
$ sudo dpkg -i python3-lirc_1.2.1-1_all.deb
Configure
=========
You need a valid [lircrc configuration file](http://www.lirc.org/html/configure.html#lircrc_format). For example:
$ cat ~/.lircrc
begin
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
end
begin
button = 2
prog = myprogram
config = two
end
Use
===
$ 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 https://github.com/tompreston/python-lirc.git
cd python-lirc/
make py3 && sudo python3 setup.py install
make py2 && sudo python setup.py install
Or just install straight from PyPI:
sudo easy_install3 python-lirc
sudo easy_install python-lirc
Development
===========
1. Install the dev libraries as above.
2. Make changes to `lirc/lirc.pyx`.
3. Compile with `make py3 && python3 setup.py build`
4. Test with `python3 tests/tests.py`
Change Log
==========
v1.2.3
------
- Rebuilt (again) and uploaded to PyPi.
- Added requirements.txt
v1.2.2
------
- Rebuilt and uploaded to PyPi.
v1.2.1
------
- Fixed `set_blocking` bug (issue #2).
- Added nonblocking tests.
- Added python-dev and python3-dev to README.
v1.2.0
------
- Structured for Debian packaging.
v1.1
----
- Tidied up project structure.
- init now tries to use config at ~/.lircrc and then /etc/lirc/lircrc.
===========
LIRC extension written in Cython for Python 3 (and 2). I'm trying to get this into
[Debian](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=Bug%23718980)
[PyPI](https://pypi.python.org/pypi/python-lirc/)
Install
=======
`python-lirc` and `python3-lirc` are in the main repositories for Raspbian. If you're on a
RaspberryPi you can just run:
$ sudo apt-get install python3-lirc # or python-lirc
Otherwise, download the latest relase from
[here](https://github.com/tompreston/python-lirc/releases) and install with:
$ sudo dpkg -i python3-lirc_1.2.1-1_all.deb
Configure
=========
You need a valid [lircrc configuration file](http://www.lirc.org/html/configure.html#lircrc_format). For example:
$ cat ~/.lircrc
begin
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
end
begin
button = 2
prog = myprogram
config = two
end
Use
===
$ 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 https://github.com/tompreston/python-lirc.git
cd python-lirc/
make py3 && sudo python3 setup.py install
make py2 && sudo python setup.py install
Or just install straight from PyPI:
sudo easy_install3 python-lirc
sudo easy_install python-lirc
Development
===========
1. Install the dev libraries as above.
2. Make changes to `lirc/lirc.pyx`.
3. Compile with `make py3 && python3 setup.py build`
4. Test with `python3 tests/tests.py`
Change Log
==========
v1.2.3
------
- Rebuilt (again) and uploaded to PyPi.
- Added requirements.txt
v1.2.2
------
- Rebuilt and uploaded to PyPi.
v1.2.1
------
- Fixed `set_blocking` bug (issue #2).
- Added nonblocking tests.
- Added python-dev and python3-dev to README.
v1.2.0
------
- Structured for Debian packaging.
v1.1
----
- 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.
Source Distribution
python-lirc-1.2.3.tar.gz
(36.6 kB
view details)
File details
Details for the file python-lirc-1.2.3.tar.gz
.
File metadata
- Download URL: python-lirc-1.2.3.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61481b36cc9c10cd215f7ddd93990f7c722af3d918c297bf2366fce1ca39b1f3 |
|
MD5 | 8ee12bf21d349f6a7726fdf55a6b9246 |
|
BLAKE2b-256 | 20375614ed0459439a96430e1aac479b6608b51e69ca0bd7d91277517d5895e9 |