Play radio. Style your App.
Project description
Eisenradio - a Web radio expandable collection
- Organize your web radios; delete and update, backup and restore
- Freedom: Style your app with pictures, import a poem, song text, or a funny comment to have a good time
- Cool feature: Create a shuffled playlist within a local audio files folder in seconds
- More action: A ping variable shows the response time and a spectrum analyser the frequency range
- Speed: Travel through the app at breakneck speed, thanks to the smart design of the controls
- Android: download to mobile (link below .-apk), rename *WHL to *ZIP, extract with Android file manager
- https://pypi.org/project/eisenradio-apk/
Eisenradio - the boring details
-
A REST API app on blueprints and application factory of the flask microframework with a SQLite database
-
First Internet Radio App that runs a Spectrum Analyser in a Web Browser (Feb,2022)
-
Eisenradio uses its own API and adjusts the buffer size for a given bit rate
-
Backup and restore are easy work with the help of an optional exported, human-readable *ini file
-
Eisenradio uses Pythons sys.path; it will find its modules on the dark side of the moon
-
The Android APK Package uses Python Kivy for multi-touch and promotes the app to "foreground service" (not get killed)
-
Eisenradio app runs on one processor only; it uses Python Multithreading; Multiprocessing cannot fork on Windows (inherit context)
-
Backend (server) opens the connection, buffers the internet stream and presents it to localhost IP: 127.0.0.1
-
Frontend (browser) controls the backend, plays internet and local audio and has a spectrum analyser at your disposal
-
Test: Kill browser - streams are up, browser reconnects; Kill terminal - stops all communications
""" sketch """ |B | |S | Flask web server, Header[Werkzeug/2.0.2 Python/3.10.1] |r |listen |e |-------> starRadio |o |-------> <-- |r | |w |GhettoRecorder |v |-------> planetRadio |s |---> <----- |e | |e | |r |-------> satteliteRadio |r | | | net: localhost net: internet CORS: accept CORS: deny audioNode: 1,-1 audioNode: 0, 0 JavaScript,CSS Python,SQL
Cross-Origin Resource Sharing mechanism (CORS) i.a. prevents a Browser from analysing audio from internet
pip install
""" xxs Linux xxs """
$ pip3 install eisenradio
$ python3 -m eisenradio.wsgi # watch flask
""" xxm Windows xxm """
> pip install eisenradio
> python -m eisenradio.wsgi
""" xxl big company xxl """
$$$ pip3 install eisenradio
$$$ python3 -m eisenradio.app # serve flask
""" for the sake of completeness, a python
production server 'waitress' is started """
Pytest
~ ... /test/functional$ python3 -m pytest -s # -s print to console
find the modified test db in ./app_writable/db
Uninstall
Python user:
- find the module location
- uninstall and then remove remnants
$ pip3 show eisenradio
$ pip3 uninstall eisenradio
Location: ... /python310/site-packages
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for eisenradio-1.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 579b259c6a23e17ce950acc1dc24897d3a127233fad95482ab38b422afafff0d |
|
MD5 | e6e46cd7af713a00db86a4f88f734a97 |
|
BLAKE2b-256 | 16ee7e68fce63da454fbcce4c3283fe0c5a7a7d9a979e140dbc29744dc355455 |