playerdo


Nameplayerdo JSON
Version 2.2 PyPI version JSON
download
home_pageNone
SummaryControl various media players from a single command line interface.
upload_time2024-10-19 10:10:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseBSD
keywords music media mpris player command interface wrapper
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            player_do
=========

player_do provides a simple command line interface to control whatever media
player is running on your computer. It has been designed for and tested on
Linux.

It is designed to allow you to configure the media buttons on your keyboard
(play, pause, next etc.) to Do The Right Thing without having to change anything
if you switch to a different media player.

It also includes commands ``install_gnome``, ``install_mate``,
``install_gnome3``, and ``install_cinnamon`` to help set up keyboard shortcuts
initially on GNOME2/Mate/GNOME3/Cinnamon. It can, however, be used with any
system where you can map keyboard shortcuts to commands.

The currently supported media players can be seen by running ``player_do --help``.
Those that have been tested include the following:

* Audacious
* Amarok
* Banshee
* Clementine
* cmus
* Exaile
* Guayadeque
* moc
* MPD (configurable using MPD_HOST and MPD_PORT environment variables like mpc)
* pianobar
* Quodlibet
* Rhythmbox (needs MPRIS plugin installed and enabled)
* shell-fm (0.8 and later)
* VLC (2.0 and later)
* Firefox, Chrome (when playing some media like videos and podcasts)

Many other players will be supported due to support for the MPRIS DBUS protocol,
without a specific backend. If you only need support for those players, consider
using `MPRIS-remote <http://incise.org/mpris-remote.html>`_ or `playerctl
<https://github.com/altdesktop/playerctl>`_.

To add more supported programs, see the existing code in the ``backends``
directory. Patches gratefully received!

Installation
------------

You need Python 3.8 or later, Python 3.12 or later recommended as I test on
that. We recommend the use of `uv <https://docs.astral.sh/uv/>`_ to install as
below::

    uv python install 3.12
    uv tool install playerdo --python 3.12

This should install everything for you.

Installation using pipx
-----------------------

On older systems or if ``uv`` is not available, you can install using `pipx
<https://pypi.org/project/pipx/>`_ to install it into its own virtualenv, using
your standard system Python 3, with “system” libraries available (due to the
DBUS requirementw)::

    pipx install playerdo --system-site-packages --python `which python3`

You will also need to install Python DBUS bindings. We recommend doing this at
the system level. On Debian-like systems this is usually done with one of the
following packages::

      python-dbus
      python3-dbus

An alternative to system-level Python DBUS is to use pipx to install them::

    pipx inject playerdo dbus-python

(If an appropriate binary wheel for dbus is not found, the above may require
development packages to be installed, including ``libglib2.0-dev`` and
``libdbus-1-dev`` and Python development headers).

After installation, you can use ``player_do test`` to ensure everything expected
is available. It’s normal to see error messages relating to players that you
do not use or have installed.

Usage
-----

Control the currently active player using commands like::

  player_do playpause
  player_do next


For all commands and other options, see::

  player_do --help



Links
-----
Download: https://pypi.python.org/pypi/playerdo

Source code: https://github.com/spookylukey/playerdo

Bug tracking: https://github.com/spookylukey/playerdo/issues

Changes: https://github.com/spookylukey/playerdo/blob/master/CHANGES.rst

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "playerdo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "music media MPRIS player command interface wrapper",
    "author": null,
    "author_email": "Luke Plant <luke@lukeplant.me.uk>",
    "download_url": "https://files.pythonhosted.org/packages/49/e6/ac8259dca795c6a340ebaaa26357ecaa9f8f0525bbce698a717abff4e5bd/playerdo-2.2.tar.gz",
    "platform": null,
    "description": "player_do\n=========\n\nplayer_do provides a simple command line interface to control whatever media\nplayer is running on your computer. It has been designed for and tested on\nLinux.\n\nIt is designed to allow you to configure the media buttons on your keyboard\n(play, pause, next etc.) to Do The Right Thing without having to change anything\nif you switch to a different media player.\n\nIt also includes commands ``install_gnome``, ``install_mate``,\n``install_gnome3``, and ``install_cinnamon`` to help set up keyboard shortcuts\ninitially on GNOME2/Mate/GNOME3/Cinnamon. It can, however, be used with any\nsystem where you can map keyboard shortcuts to commands.\n\nThe currently supported media players can be seen by running ``player_do --help``.\nThose that have been tested include the following:\n\n* Audacious\n* Amarok\n* Banshee\n* Clementine\n* cmus\n* Exaile\n* Guayadeque\n* moc\n* MPD (configurable using MPD_HOST and MPD_PORT environment variables like mpc)\n* pianobar\n* Quodlibet\n* Rhythmbox (needs MPRIS plugin installed and enabled)\n* shell-fm (0.8 and later)\n* VLC (2.0 and later)\n* Firefox, Chrome (when playing some media like videos and podcasts)\n\nMany other players will be supported due to support for the MPRIS DBUS protocol,\nwithout a specific backend. If you only need support for those players, consider\nusing `MPRIS-remote <http://incise.org/mpris-remote.html>`_ or `playerctl\n<https://github.com/altdesktop/playerctl>`_.\n\nTo add more supported programs, see the existing code in the ``backends``\ndirectory. Patches gratefully received!\n\nInstallation\n------------\n\nYou need Python 3.8 or later, Python 3.12 or later recommended as I test on\nthat. We recommend the use of `uv <https://docs.astral.sh/uv/>`_ to install as\nbelow::\n\n    uv python install 3.12\n    uv tool install playerdo --python 3.12\n\nThis should install everything for you.\n\nInstallation using pipx\n-----------------------\n\nOn older systems or if ``uv`` is not available, you can install using `pipx\n<https://pypi.org/project/pipx/>`_ to install it into its own virtualenv, using\nyour standard system Python 3, with \u201csystem\u201d libraries available (due to the\nDBUS requirementw)::\n\n    pipx install playerdo --system-site-packages --python `which python3`\n\nYou will also need to install Python DBUS bindings. We recommend doing this at\nthe system level. On Debian-like systems this is usually done with one of the\nfollowing packages::\n\n      python-dbus\n      python3-dbus\n\nAn alternative to system-level Python DBUS is to use pipx to install them::\n\n    pipx inject playerdo dbus-python\n\n(If an appropriate binary wheel for dbus is not found, the above may require\ndevelopment packages to be installed, including ``libglib2.0-dev`` and\n``libdbus-1-dev`` and Python development headers).\n\nAfter installation, you can use ``player_do test`` to ensure everything expected\nis available. It\u2019s normal to see error messages relating to players that you\ndo not use or have installed.\n\nUsage\n-----\n\nControl the currently active player using commands like::\n\n  player_do playpause\n  player_do next\n\n\nFor all commands and other options, see::\n\n  player_do --help\n\n\n\nLinks\n-----\nDownload: https://pypi.python.org/pypi/playerdo\n\nSource code: https://github.com/spookylukey/playerdo\n\nBug tracking: https://github.com/spookylukey/playerdo/issues\n\nChanges: https://github.com/spookylukey/playerdo/blob/master/CHANGES.rst\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Control various media players from a single command line interface.",
    "version": "2.2",
    "project_urls": {
        "Homepage": "http://bitbucket.org/spookylukey/playerdo"
    },
    "split_keywords": [
        "music",
        "media",
        "mpris",
        "player",
        "command",
        "interface",
        "wrapper"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "092f58b671b9170598b9b921a895107644ab70958fe9dbc25ce13ba3ebab70fc",
                "md5": "0f4a1c53ff09a7e6840d27c8835472b1",
                "sha256": "f65c42b74fd031e4da2c156fcd71f67bdb8de812d50b311da9d8fbad10f4850b"
            },
            "downloads": -1,
            "filename": "playerdo-2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0f4a1c53ff09a7e6840d27c8835472b1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 19139,
            "upload_time": "2024-10-19T10:10:42",
            "upload_time_iso_8601": "2024-10-19T10:10:42.485743Z",
            "url": "https://files.pythonhosted.org/packages/09/2f/58b671b9170598b9b921a895107644ab70958fe9dbc25ce13ba3ebab70fc/playerdo-2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "49e6ac8259dca795c6a340ebaaa26357ecaa9f8f0525bbce698a717abff4e5bd",
                "md5": "d2ba78c6061c7d23e9f706e7fdc95568",
                "sha256": "b40d3fff715f1a88ff3750ae656c232aad30348520c4437842061f8602bfbfb9"
            },
            "downloads": -1,
            "filename": "playerdo-2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "d2ba78c6061c7d23e9f706e7fdc95568",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 17432,
            "upload_time": "2024-10-19T10:10:44",
            "upload_time_iso_8601": "2024-10-19T10:10:44.186295Z",
            "url": "https://files.pythonhosted.org/packages/49/e6/ac8259dca795c6a340ebaaa26357ecaa9f8f0525bbce698a717abff4e5bd/playerdo-2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-19 10:10:44",
    "github": false,
    "gitlab": false,
    "bitbucket": true,
    "codeberg": false,
    "bitbucket_user": "spookylukey",
    "bitbucket_project": "playerdo",
    "lcname": "playerdo"
}
        
Elapsed time: 0.30927s