Skip to content

newsic/newsic

Repository files navigation

newsic

You're very welcome to open an issue for bugs you found, improvements or new ideas :)

Got YouTube or Vimeo playlists with way too many songs and a thirst for exploring something new? With newsic you can listen to small 30-second song snippets (or the whole song) and discover other playlists easily.

Project page & demo

Project page: newsic.tocsin.de

Demo: trynewsic.tocsin.de

How newsic looks like

How newsic looks like.

System requirements

newsic's backend is based on Python 3 and the Flask framework, while the frontend uses Plyr (which comes bundled with this repository). Required Python packages are listed in the requirements.txt.

Optional dependencies

Starting with version 0.3 newsic offers support for caching, compressing and minifying - based on Flask Caching, Flask-Compress and htmlmin. The packages are installable with pip install -r requirements-performance.txt. See config.py.example for all available options and module documentation.

For using .env and .flaskenv newsic supports python-dotenv. Installable with pip install -r requirements-env.txt or, more directly: pip install python-dotenv.

Run

  1. Clone this repository: git clone https://github.com/newsic/newsic.git
  2. Go to newsic/newsic and create a config.py from config.py.example
  3. Add your API keys (YouTube, Vimeo) to config.py
  4. Install the minimal requirements with pip install -r requirements.txt; you might want to use a virtual environment
  5. Set newsic as Flask app with export FLASK_APP=newsic and start it with flask run. The script is now running at 127.0.0.1:5000

Deployment

For running newsic on your server (or a shared hosting provider) you would like to use a deployment script. There are many different options for running Flask on a server.

As an example have a look at the FCGI script powering the newsic demo (hosted proudly on Uberspace) in the deployment repository.

Shortcuts

Shortcut What it does
A or Previous song
D or Next song
S, K or Space bar Toggle play/pause
C Play complete song
F Toggle fullscreen
M Toggle mute
X Start mix based on current song
L Search for lyrics on Genius
E Focus search field

License

MIT License, Copyright (c) 2015-2019 Stephan Fischer (@tocsinDE, stephan-fischer.de, tocsin.de)

For more details see LICENSE.

Dependencies and credits

Core

Optional

Donate

If you think newsic is worth a small donation: Thank you very much :) Let me be clear that earning money wasn't the motivation behind all this. I'll appreciate your code contributions, pull requests or bug reports just equally :)