JARVIS is a dashboard framework designed to run on the Raspberry Pi.
It features live-updating widgets using server-sent events and can be easily extended to fit your needs.
JARVIS requires Python 2.7+ or Python 3.3+ to run.
Some dependencies have native bindings which requires these packages on Debian/Ubuntu:
aptitude install -y python-dev libxml2-dev libxslt1-dev zlib1g-dev
Install requirements:
pip install -r requirements.txt
For development it's recommended to use virtualenv.
All configuration of widgets is done in a single Python source file. The
configuration is specified by setting the JARVIS_SETTINGS
environment
variable.
A sample config (app/config.py.sample
) is provided. This file can be used as a
starting point for your own configuration.
Copy app/config.py.sample
to app/config.py
and edit it to suit your needs.
After installing dependencies and creating a config file, the app can be started by running:
JARVIS_SETTINGS=config.py make run
To start the app in debug mode, use:
JARVIS_SETTINGS=config.py make debug
Run a job standalone and pretty-print output (useful for debugging):
JARVIS_SETTINGS=config.py make run-job
Create Google API credentials (required for calendar and gmail widget):
JARVIS_SETTINGS=config.py make google-api-auth
Create a new widget:
make widget
Create a new dashboard:
make dashboard
See WIDGETS.md for documentation on available widgets.
See INSTALL.md for a basic deployment guide.
A Vagrantfile
is included for use with Vagrant.
Version 1.8+
is required for the ansible_local
provisioner to work.
Run vagrant up
in the repository root to provision a development environment.
Licensed under the MIT license. See the LICENSE file if you've never seen it before.