Async subprocess pipelines and stream transports:
"""An example of using ``reel`` to play music."""
import trio
from reel import Reel
from reel.cmd import ffmpeg, sox
async def main():
"""Play some audio files through the speakers."""
cornell77 = ''.join([
'http://archive.org/download/',
'gd1977-05-08.shure57.stevenson.29303',
'.flac16/gd1977-05-08d02t{}.flac'
])
tracks = [
'http://allotropic.com/static/out000.wav',
'http://allotropic.com/static/out001.wav',
'http://allotropic.com/static/out002.wav',
'http://allotropic.com/static/out003.wav',
'http://allotropic.com/static/out004.wav',
'http://allotropic.com/static/out005.wav',
cornell77.format('04'),
cornell77.format('05'),
'http://ice1.somafm.com/groovesalad-256-mp3',
]
playlist = Reel([ffmpeg.read(track) for track in tracks])
speakers = sox.speakers()
async with playlist | speakers as player:
await player.play()
if __name__ == '__main__':
trio.run(main)
Motivation
This project is a simplified version of Python subprocess control with pipes and asynchronous support. It is being developed to support tapedeck, a music streaming package which uses ffmpeg and other shell commands to get music from various sources to various destinations.
Release files for reel 0.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| reel-0.0.8.tar.gz | 43.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reel-0.0.8-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 95.5 kB
Release files / reel-0.0.8.tar.gz
| Download URL | reel-0.0.8.tar.gz |
|---|---|
| Size | 43.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0d659775ef0ec750ad1faaa8c58ab773a806dade28801014d458dc8fd78abe7
|
|
BLAKE2b-256 checksum How to use checksums |
aee4ecc7907c1be484d9a50f7f73520839eb5a5af8ba2f7cda4fed02cac7bea6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
|
Release files / reel-0.0.8-py2.py3-none-any.whl
| Download URL | reel-0.0.8-py2.py3-none-any.whl |
|---|---|
| Size | 52.4 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
eb202abf379d8ef224bca4e1553478405b7a6255950abb27d558d7eb69b0d07e
|
|
BLAKE2b-256 checksum How to use checksums |
545abecda9a06edd872c356e84b685b5248497a1eff89345757b28329884a0c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
|