Yepkit YKUSH Python API and command line tool
Project description
pykush
__ __ _ _ _
\ \ / /__ _ __ | | _(_) |_
\ V / _ \ '_ \| |/ / | __|
| | __/ |_) | <| | |_
|_|\___| .__/|_|\_\_|\__|
|_|
Yepkit YKUSH Python library and command line tool
Provides library and command line functionality for communicating with a YKUSH device over USB.
Thanks to the developers and maintainers of the following projects among others:
- HIDAPI multi-platform library
- Python hidapi wrapper module
- Python hidapi-cffi wrapper module Any of the above python wrappers are currently supported.
Features
- Easy to use
- Written to support YKUSH, the Yepkit USB Switchable Hub
- Open-source, please be our guest to collaborate
- Current development version supports both Python 2 and 3
- Works on Linux, Windows and Mac
Requirements
- A Linux, Windows or Mac (OS X) system
- A YKUSH device
- A recent Python 2 >=2.7.9 or Python 3 >=3.4 installed
- hidapi or hidapi-cffi module installed
Installation
If you are in a hurry and just need a console application you can give our Pyinstaller bundled executable a try:
- Windows executable, Windows XP or newer
- macOS executable, El Capitan or newer
- Linux x86_64, kernel 2.6 or newer
- Linux i386, kernel 2.6 or newer
Download the executable corresponding to your platform and run it from a terminal window. Also remember to authorize execution on Linux or macOS systems:
$ chown u+x pykush
$ ./pykush -l
From source
Anonymous:
$ git clone https://github.com/Yepkit/pykush
$ cd pykush/
$ python setup.py install
Git:
$ git clone git@github.com:Yepkit/pykush
$ cd pykush/
$ python setup.py install
Usage
Basic command line usage
$ python pykush.py -h
usage: pykush.py [-h] [-s SERIAL]
(-l | -u [UP [UP ...]] | -d [DOWN [DOWN ...]] | -r READ | -w WRITE WRITE | -p)
Yepkit YKUSH command line tool.
optional arguments:
-h, --help show this help message and exit
-s SERIAL, --serial SERIAL
specify the serial number string of the YKUSH to be
listed or managed
-l, --list list YKUSH devices
-u [UP [UP ...]], --up [UP [UP ...]]
the downstream port numbers to power up, none means
all
-d [DOWN [DOWN ...]], --down [DOWN [DOWN ...]]
the downstream port numbers to power down, none means
all
-r READ, --read READ the GPIO pin to read from
-w WRITE WRITE, --write WRITE WRITE
the GPIO pin to write to
-p, --persist make the current running configuration persistent
across reboots (only supported on devices with
firmware v2.0 and above)
$ python pykush.py -l
listing YKUSH family devices
found a YKUSH release 2 device with serial number YK20001
system device path 0001:000a:00, vendor id 0x04d8, product id 0xf2f7
the device is running a v1.2 firmware and has 3 downstream ports
downstream running power states, port 1 to 3: UP, UP, UP
$ python pykush.py -d 1 2
managing YKUSH family devices
found a YKUSH release 2 device with serial number YK20001
system device path 0001:000a:00, vendor id 0x04d8, product id 0xf2f7
the device is running a v1.2 firmware and has 3 downstream ports
powering DOWN port 1... done
powering DOWN port 2... done
Basic module programming usage
$ python
>>> import pykush
>>> yk = pykush.YKUSH()
>>> yk.set_allports_state_up()
True
>>> yk.get_downstream_port_count()
3
>>> yk.set_port_state(2, pykush.YKUSH_PORT_STATE_DOWN)
True
>>> yk.get_port_state(2)
0
>>> yk.get_port_state(2) == pykush.YKUSH_PORT_STATE_DOWN
True
>>>
Disclaimer
The module is already usable in the limited scope we tested but it is still in a alpha stage.
Contributing
Bug Reports
If you find a problem, please submit a bug report on issue tracker.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file yepkit-pykush-0.3.5.tar.gz.
File metadata
- Download URL: yepkit-pykush-0.3.5.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed43039187d35e11b790c1b46ce3fc02fed42bffcf7630b450ea086946ae6ea5
|
|
| MD5 |
1f640988922abf8dadf27cefddeb3af6
|
|
| BLAKE2b-256 |
70772887fde543165ff247f89bd8a47902a757b4a97dc8c0e43297c0fcbba677
|