sisyphus-control
Control your Sisyphus Kinetic Art Table from Python 3.6 with asyncio!
This initial release is mainly targeting the functionality needed for basic integrations with home automation systems such as Home Assistant:
Status queries (playing/paused/current playlist/current/track/brightness/speed)
Play controls (play/pause/shuffle/loop/set playlist/set track)
Table controls (movement speed, LED brightness)
Usage example
Finding tables on your network
To find the IP addresses of all tables on your local network. This is a very naive search; it assumes your subnet mask is 255.255.255.0:
from sisyphus_control import Table ip_addrs = await Table.find_table_ips()
Once you know the IP address, connect to the table:
async with await Table.connect(ip_addr) as Table: # Do stuff here
Change notifications
Register for state change notifications:
table.add_listener(my_listener)
Basic controls
In addition to a bunch of properties for querying the current state of the table, Table has several methods that allow simple control:
await table.set_brightness(1.0) # Set maximum LED brightness await table.set_speed(0.5) # Set half speed await table.play() # Resume playing (if not already playing)
Working with playlists and tracks
Playlist and Track objects represent playlists and tracks, respectively. The following code will start playing the Default Playlist, beginning at the track named “Hep” (note that neither playlists nor tracks are required to be uniquely named):
default_playlist = table.get_playlists_named("Default Playlist")[0]
hep_track = default_playlist.get_tracks_named("Hep")[0]
await hep_track.play()
Future opportunities
The following features would be reasonable to include; I’ll happily accept pull requests:
Playlist editing
Upload tracks to table
Track thumbnail rendering
Table administration (wifi settings, etc.)
Interactions with Sisyphus cloud
Metadata
Release files for sisyphus_control 3.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sisyphus_control-3.1.4.tar.gz | 10.1 kB | Without provenance | Details for sisyphus_control-3.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sisyphus_control-3.1.4-py3-none-any.whl | Python 3 | none | any | Details for sisyphus_control-3.1.4-py3-none-any.whl |
Total release size: 22.3 kB
Release files / sisyphus_control-3.1.4.tar.gz
| Download URL | sisyphus_control-3.1.4.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0709497a49c064778ec1ea2e39f57b5596fd181946a3fd86e71adfe9f1d77d50
|
|
BLAKE2b-256 checksum How to use checksums |
745361ebc281e9e06baca81c06980253e683b8e2e387612fb25dec3e1a75df53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure
|
Release files / sisyphus_control-3.1.4-py3-none-any.whl
| Download URL | sisyphus_control-3.1.4-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6fcf85795ddc7b98830bf0f13f4c7bf6c4604f97ea9c8af1745ae6d7a6dd7701
|
|
BLAKE2b-256 checksum How to use checksums |
9f24c49783028814cc591efa614ecfa9f29f2ffc6b925ba1a5bf761501fff239
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure
|
Security for sisyphus_control 3.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.