Skip to main content

An application for displaying a rotating set of information panels

Project description

Overview

Datapanels is an application for displaying a rotating set of independent panels, each of which displays some useful or entertaining information or something visually interesting.

Usage

After installation, the application can be run using

python -m datapanels.app [--builder_path path_to_builder_file] [--transition-sec secs] [--full_screen]

The --builder_path option lets you specify a configuration file that will determine what panels get displayed. The --transition-sec parameter lets you specify the number of seconds between transitions. If no parameters are provided, a simple default set of panels will be created.

Configuring DataPanels

DataPanels can be configured via a configuration file that specifies what panels should be displayed. This is actually a Kivy ([https://kivy.org/]) configuration file.

The configuration file should take the form:

<DataBuilder>:
    PanelType1:
        panel type one parameters
    PanelType2
        panel type two parameters
    PanelType2
        parameters for another instance of PanelType2

The following example show a sample configuration.

<DataBuilder>:
    border: 0
    QuotationDisplay:
        update_sec: 5
        quotations: "See https://github.com/man-vs-electron/datapanels for info on how to configure this application.", "Where you go, that's where you'll be", "Thanks for trying this application."
    StockPanel:
        tickers: 'MSFT', 'PSEC', 'TSLA'
        data_update_rate_sec: 60*20
        ticker_change_rate_sec: 5
    GameOfLifePanel:
        update_rate: 0.5
        activated_color: 1, 0, 0, 1
        grid_color: 0, 0, 1, 1

Example Usage

TODO

Panel Types

Each panel displayed in Datapanels can be configured. The following sections describe each panel type and its key parameters.

QuotationDisplay

The quotation display is a simple panel that displays quotations. These quotations change periodically.

The parameters include:

  • update_sec: The number of seconds before changing the quotation
  • quotations: assigned as either a list of strings, one per quotation, or a single string that is a path to a file with quotations, one per line.

StockPanel

The StockPanel display information about a list of stocks. Data about one stock is shown at a time and the specific stock shown is rotated around on a regular basis.

The parameters include:

  • data_update_rate_sec: how many seconds between updating the stock info
  • proxserver: if not None, a proxy server to use for talking to yfinance
  • ticker_change_rate_sec: how many seconds between changing the stock being shown
  • tickers: list of security ticker symbols to track

GameOfLifePanel

The Kivy panel that displays the Game of Life, along with some controls.

Key Properties:

  • update_rate: number of seconds between each generation
  • random_cell_count: Either percentage of cells to make alive or the number of cells to make alive when randomizing.
  • background_color - RGBA list for the inactive cell color
  • grid_color - RGBA for the grid lines
  • activated_color - RGBA for the active cell color
  • cell_length - the length of the side of a cell (essentially cell size)

WeatherPanel

The Kivy panel that displays current weather and weather forecast for a list of provided locations.

This panel uses information downloaded from https://openweathermap.org and requires a key. The free key is sufficient for the data that is used in this panel. When configuring the panel, the key can either be places in the configuation key using the owm_key option or an environment variable owm_key can be set.

Key Properties:

  • owm_key - The user's key from https://openweathermap.org/. IMPORTANT: This panel will not work without this key.* It either needs to be specified as a property in the configuration or it needs to be set as an environment variable. You can get a free key by registering at openweathermap.org.

  • temp_units - either fahrenheit or celcius (Default - fahrenheit)

  • text_color - the rgba color of the text and line components of the interface. (Default - [0,0,0,1])

  • bg_color - the background color (Default - [.5, .5, .5, 1])

  • data_update_rate_sec - The number of seconds between data updates

  • location_switch_rate_sec - The number of seconds to show each location

  • locations - a list of WeatherResponse objects, one each for the locations of interest. This attribute can be set by assigning a list in the form of [(lat1, lon1), location_name1, (lat2, lon2), location_name2, ...]. This is the form to use when assigning locations using the configuration file. If assigned this way, it will be converted in a list of WeatherResponse objects.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datapanels-0.1.3.tar.gz (128.8 kB view hashes)

Uploaded Source

Built Distribution

datapanels-0.1.3-py3-none-any.whl (162.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page