An object-oriented interface for the Comedi drivers.
Project description
This package provides an object-oriented interface to the Comedi drivers. The standard Python interface bundled with Comedilib is a simple SWIG clone of the C interface. In pycomedi, we convert the functions into class methods (see pycomedi.classes), so you don’t have to worry about dragging around opaque types like comedi_t * device pointers. We also bundle related constants together in _Enums and _Flags (see pycomedi.constants), to make handling common operations like flag manipulations simpler. Finally, there are a number of utility classes (see pycomedi.utility) to make common tasks like creating instructions or reading hardware-timed analog input easier.
Installation
Packages
Gentoo
I’ve packaged pycomedi for Gentoo. You need layman and my wtk overlay. Install with:
# emerge -av app-portage/layman # layman --add wtk # emerge -av dev-python/pycomedi
Dependencies
If you’re installing by hand or packaging pycomedi for another distribution, you’ll need the following dependencies:
Package |
Purpose |
||
---|---|---|---|
? |
python-numpy |
dev-python/numpy |
|
testing |
python-scipy |
sci-libs/scipy |
|
Comedilib interface |
python-comedilib |
sci-libs/comedilib [1] |
|
testing |
python-nose |
dev-python/nose |
|
Comedilib interface |
cython |
dev-python/cython |
Installing by hand
Pycomedi is available as a Git repository:
$ git clone git://tremily.us/pycomedi.git
See the homepage for details. To install the checkout, run the standard:
$ python setup.py install
Usage
See the examples in the doc directory.
Testing
Integration tests with:
$ nosetests --with-doctest --doctest-extension=txt doc
Run both integration tests and internal unit tests with:
$ ./test.sh
Licence
This project is distributed under the GNU General Public License Version 2 or greater.