pisco


Namepisco JSON
Version 0.6.1 PyPI version JSON
download
home_pagehttps://github.com/christophgietl/pisco
SummaryKeyboard-only controller for Sonos speakers
upload_time2024-01-01 17:52:31
maintainer
docs_urlNone
authorChristoph Gietl
requires_python>=3.9,<4.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pisco

Pisco is a keyboard-only controller for Sonos speakers.
While Pisco's graphical interface displays the album art of the track currently playing,
you can control playback using your keyboard.

<p>
   <img
      src="https://raw.githubusercontent.com/christophgietl/pisco/main/images/pisco-on-mac.png"
      style="aspect-ratio: 864/920; height: auto; max-width: 100%; width: 432px;"
      alt="Pisco running on macOS"
      title="Pisco running on macOS"
   />
</p>

Pisco has been tested on Linux and macOS.
It is especially well suited for use with
small displays (e.g. [Pimoroni HyperPixel 4.0 Square](https://shop.pimoroni.com/products/hyperpixel-4-square?variant=30138251477075)) and
media remote controls (e.g. [Satechi Bluetooth Multi-Media Remote](https://satechi.net/products/satechi-bluetooth-multi-media-remote?variant=27129644617)).

<p>
   <img
      src="https://raw.githubusercontent.com/christophgietl/pisco/main/images/pisco-on-pi-zero.jpg"
      style="aspect-ratio: 500/678; height: auto; max-width: 100%; width: 250px;"
      alt="Pisco running on a Raspberry Pi Zero attached to a Pimoroni HyperPixel 4.0 Square surrounded by a Satechi Bluetooth Multi-Media Remote and a Sonos speaker"
      title="Pisco running on a Raspberry Pi Zero attached to a Pimoroni HyperPixel 4.0 Square surrounded by a Satechi Bluetooth Multi-Media Remote and a Sonos speaker"
   />
</p>

## Setup

To set up Pisco on a regular Linux or macOS machine, follow these steps:

1. Make sure you are using Python 3.9 or higher.
2. Create a virtual environment if you do not want to clutter up your default environment.
3. Install Pisco:
    ```shell
    pip3 install pisco
    ```

For a clean and minimalist deployment
on a [Raspberry Pi Zero](https://www.raspberrypi.com/products/raspberry-pi-zero/),
please see
[the directory `deployment`](https://github.com/christophgietl/pisco/tree/main/deployment).


## Usage

When starting Pisco,
you need to specify the name of the Sonos device (i.e. Sonos room) you want to control:

```shell
pisco Leseecke  # Replace 'Leseecke' with the name of your Sonos device.
```

You can use the option `--help` to find additional options:
```text
$ pisco --help
Usage: pisco [OPTIONS] SONOS_DEVICE_NAME

  Control your Sonos device with your keyboard

Options:
  -b, --backlight DIRECTORY    sysfs directory of the backlight that should be
                               deactivated when the device is not playing
  -w, --width INTEGER RANGE    width of the Pisco window  [default: 320; x>=0]
  -h, --height INTEGER RANGE   height of the Pisco window  [default: 320;
                               x>=0]
  -r, --refresh INTEGER RANGE  time in milliseconds after which playback
                               information is updated  [default: 40; x>=1]
  --help                       Show this message and exit.
```

Once Pisco is running, you can use the following keys to control playback:
- ⏯ (or return) to pause or resume playback
- ⏹ to stop playback
- ⏮ and ⏭ (or left and right arrow) to play the previous or next track
- 0️⃣ to 9️⃣ to play the top 10 tracks (or radio stations) of your Sonos favorites
- ➕ and ➖ (or up and down arrow) to increase or decrease volume
- 🔇 to mute or unmute

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/christophgietl/pisco",
    "name": "pisco",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Christoph Gietl",
    "author_email": "christophgietl@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/88/d1/57da6a6f67c63296dc4900aba69ed84178d5ae89c928d089012256771cc8/pisco-0.6.1.tar.gz",
    "platform": null,
    "description": "# Pisco\n\nPisco is a keyboard-only controller for Sonos speakers.\nWhile Pisco's graphical interface displays the album art of the track currently playing,\nyou can control playback using your keyboard.\n\n<p>\n   <img\n      src=\"https://raw.githubusercontent.com/christophgietl/pisco/main/images/pisco-on-mac.png\"\n      style=\"aspect-ratio: 864/920; height: auto; max-width: 100%; width: 432px;\"\n      alt=\"Pisco running on macOS\"\n      title=\"Pisco running on macOS\"\n   />\n</p>\n\nPisco has been tested on Linux and macOS.\nIt is especially well suited for use with\nsmall displays (e.g. [Pimoroni HyperPixel 4.0 Square](https://shop.pimoroni.com/products/hyperpixel-4-square?variant=30138251477075)) and\nmedia remote controls (e.g. [Satechi Bluetooth Multi-Media Remote](https://satechi.net/products/satechi-bluetooth-multi-media-remote?variant=27129644617)).\n\n<p>\n   <img\n      src=\"https://raw.githubusercontent.com/christophgietl/pisco/main/images/pisco-on-pi-zero.jpg\"\n      style=\"aspect-ratio: 500/678; height: auto; max-width: 100%; width: 250px;\"\n      alt=\"Pisco running on a Raspberry Pi Zero attached to a Pimoroni HyperPixel 4.0 Square surrounded by a Satechi Bluetooth Multi-Media Remote and a Sonos speaker\"\n      title=\"Pisco running on a Raspberry Pi Zero attached to a Pimoroni HyperPixel 4.0 Square surrounded by a Satechi Bluetooth Multi-Media Remote and a Sonos speaker\"\n   />\n</p>\n\n## Setup\n\nTo set up Pisco on a regular Linux or macOS machine, follow these steps:\n\n1. Make sure you are using Python 3.9 or higher.\n2. Create a virtual environment if you do not want to clutter up your default environment.\n3. Install Pisco:\n    ```shell\n    pip3 install pisco\n    ```\n\nFor a clean and minimalist deployment\non a [Raspberry Pi Zero](https://www.raspberrypi.com/products/raspberry-pi-zero/),\nplease see\n[the directory `deployment`](https://github.com/christophgietl/pisco/tree/main/deployment).\n\n\n## Usage\n\nWhen starting Pisco,\nyou need to specify the name of the Sonos device (i.e. Sonos room) you want to control:\n\n```shell\npisco Leseecke  # Replace 'Leseecke' with the name of your Sonos device.\n```\n\nYou can use the option `--help` to find additional options:\n```text\n$ pisco --help\nUsage: pisco [OPTIONS] SONOS_DEVICE_NAME\n\n  Control your Sonos device with your keyboard\n\nOptions:\n  -b, --backlight DIRECTORY    sysfs directory of the backlight that should be\n                               deactivated when the device is not playing\n  -w, --width INTEGER RANGE    width of the Pisco window  [default: 320; x>=0]\n  -h, --height INTEGER RANGE   height of the Pisco window  [default: 320;\n                               x>=0]\n  -r, --refresh INTEGER RANGE  time in milliseconds after which playback\n                               information is updated  [default: 40; x>=1]\n  --help                       Show this message and exit.\n```\n\nOnce Pisco is running, you can use the following keys to control playback:\n- \u23ef (or return) to pause or resume playback\n- \u23f9 to stop playback\n- \u23ee and \u23ed (or left and right arrow) to play the previous or next track\n- 0\ufe0f\u20e3 to 9\ufe0f\u20e3 to play the top 10 tracks (or radio stations) of your Sonos favorites\n- \u2795 and \u2796 (or up and down arrow) to increase or decrease volume\n- \ud83d\udd07 to mute or unmute\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Keyboard-only controller for Sonos speakers",
    "version": "0.6.1",
    "project_urls": {
        "Homepage": "https://github.com/christophgietl/pisco",
        "Repository": "https://github.com/christophgietl/pisco"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "237eda3713117ac79be7cc394ca9040984f88f97de615541385043626a965095",
                "md5": "b1ce6d7cf9b421358121c6f9569356fd",
                "sha256": "f94f269e57d35ee0191965ebc4eafca43023b546a6a0a1a69ea23d6d6329ec88"
            },
            "downloads": -1,
            "filename": "pisco-0.6.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b1ce6d7cf9b421358121c6f9569356fd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 13522,
            "upload_time": "2024-01-01T17:52:30",
            "upload_time_iso_8601": "2024-01-01T17:52:30.030879Z",
            "url": "https://files.pythonhosted.org/packages/23/7e/da3713117ac79be7cc394ca9040984f88f97de615541385043626a965095/pisco-0.6.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88d157da6a6f67c63296dc4900aba69ed84178d5ae89c928d089012256771cc8",
                "md5": "3348db2a2347d0b3b7f8715053e5e5e2",
                "sha256": "3b4e288f9748d8f9ba204d6ab089973fcaf45a5ec5124fc07754b92c040e8f7c"
            },
            "downloads": -1,
            "filename": "pisco-0.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "3348db2a2347d0b3b7f8715053e5e5e2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 11288,
            "upload_time": "2024-01-01T17:52:31",
            "upload_time_iso_8601": "2024-01-01T17:52:31.359030Z",
            "url": "https://files.pythonhosted.org/packages/88/d1/57da6a6f67c63296dc4900aba69ed84178d5ae89c928d089012256771cc8/pisco-0.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-01 17:52:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "christophgietl",
    "github_project": "pisco",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pisco"
}
        
Elapsed time: 0.29661s