Name | larigira JSON |
Version |
1.4.0
JSON |
| download |
home_page | None |
Summary | A radio automation based on MPD |
upload_time | 2025-03-01 00:52:22 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | AGPL-3.0-only |
keywords |
radio automation
music
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# larigira
[](https://pypi.python.org/pypi/larigira)
[](https://boyska.degenerazione.xyz/larigira/doc/)
## About
A radio automation based on MPD. Larigira will sit right to your mpd
player and will keep your playlist never empty. It will also manage a db
of \"events\", so that you can schedule shows, play jingles every X
minutes, etc.
## Software stack
- MPD, of course
- python3.8 or greater
- gevent as an async framework
- flask to provide web interface and rpc
- tinydb as an embedded database
## Why? (aka design features)
Reinventing a player is a bad idea. MPD provides an eccellent base.
Separating the player from \"action loops\" makes it easy to work on
this. For example, you can stop larigira for some minutes, and the audio
will keep playing. It also means that you can easily replace specific
parts of your radio automation.
The \"continous playing\" part is separated from the \"events\" part.
`larigira` can be run to perform one, the other, or both.
The \"audio generation\" part can be used separately by any script that
you like.
## Installation
Just run `python setup.py install`. It will, of course, also work in a
virtualenv. Apart from running an MPD server, there is no additional
setup.
You will find some command in your PATH now; they all begin with
`larigira`, so the usual `<TAB><TAB>` is a good way to explore them ;)
## The name
> larigira mai la sbaglia\...
>
> \-- <https://www.youtube.com/watch?v=K9XJkOSSdEA>
Raw data
{
"_id": null,
"home_page": null,
"name": "larigira",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "radio automation, music",
"author": null,
"author_email": "boyska <piuttosto@logorroici.org>",
"download_url": "https://files.pythonhosted.org/packages/47/7e/d5a2aacf44dcb659d7ef1a0c72b7935810cca20ba4bfdc55af4a4f4b4f2c/larigira-1.4.0.tar.gz",
"platform": null,
"description": "# larigira\n\n[](https://pypi.python.org/pypi/larigira)\n\n[](https://boyska.degenerazione.xyz/larigira/doc/)\n\n## About\n\nA radio automation based on MPD. Larigira will sit right to your mpd\nplayer and will keep your playlist never empty. It will also manage a db\nof \\\"events\\\", so that you can schedule shows, play jingles every X\nminutes, etc.\n\n## Software stack\n\n- MPD, of course\n- python3.8 or greater\n - gevent as an async framework\n - flask to provide web interface and rpc\n- tinydb as an embedded database\n\n## Why? (aka design features)\n\nReinventing a player is a bad idea. MPD provides an eccellent base.\n\nSeparating the player from \\\"action loops\\\" makes it easy to work on\nthis. For example, you can stop larigira for some minutes, and the audio\nwill keep playing. It also means that you can easily replace specific\nparts of your radio automation.\n\nThe \\\"continous playing\\\" part is separated from the \\\"events\\\" part.\n`larigira` can be run to perform one, the other, or both.\n\nThe \\\"audio generation\\\" part can be used separately by any script that\nyou like.\n\n## Installation\n\nJust run `python setup.py install`. It will, of course, also work in a\nvirtualenv. Apart from running an MPD server, there is no additional\nsetup.\n\nYou will find some command in your PATH now; they all begin with\n`larigira`, so the usual `<TAB><TAB>` is a good way to explore them ;)\n\n## The name\n\n> larigira mai la sbaglia\\...\n>\n> \\-- <https://www.youtube.com/watch?v=K9XJkOSSdEA>\n",
"bugtrack_url": null,
"license": "AGPL-3.0-only",
"summary": "A radio automation based on MPD",
"version": "1.4.0",
"project_urls": null,
"split_keywords": [
"radio automation",
" music"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "ef021809c059512b10f9790700787de395294e8c1e825c5c946234025e5d3f4f",
"md5": "d6c15cb2070e7884b676288dd66feb51",
"sha256": "29148384458b32189152540a63b6f7fbba78f96bd9e2155de3d0492edfe3d9d8"
},
"downloads": -1,
"filename": "larigira-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d6c15cb2070e7884b676288dd66feb51",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1160350,
"upload_time": "2025-03-01T00:52:19",
"upload_time_iso_8601": "2025-03-01T00:52:19.144773Z",
"url": "https://files.pythonhosted.org/packages/ef/02/1809c059512b10f9790700787de395294e8c1e825c5c946234025e5d3f4f/larigira-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "477ed5a2aacf44dcb659d7ef1a0c72b7935810cca20ba4bfdc55af4a4f4b4f2c",
"md5": "689342e812de2deffecd691ede13d19e",
"sha256": "f2291d5848a64f497ad5cc5a11714f5861d88681a78a69cc8a80adda734177ce"
},
"downloads": -1,
"filename": "larigira-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "689342e812de2deffecd691ede13d19e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1028969,
"upload_time": "2025-03-01T00:52:22",
"upload_time_iso_8601": "2025-03-01T00:52:22.774454Z",
"url": "https://files.pythonhosted.org/packages/47/7e/d5a2aacf44dcb659d7ef1a0c72b7935810cca20ba4bfdc55af4a4f4b4f2c/larigira-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-01 00:52:22",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "larigira"
}