Skip to main content

A simple and lightweight http server to visualize measurements

Project description

plot_server

A lightweight http plot server written in python to visualize data locally. Storing only a fixed number of data points (100 per default) per measurement to keep the resources low.

Empty plot Selectable data

Quickstart

Install the package via pip

pip3 install http-plot-server

Adapt the settings in param.cfg to your needs and run

plot_server --cfg=param.cfg

or run the module as

python3 -m plot_server --cfg=param.cfg

and open your browser with the specified port, per default:

http://localhost:8080

You can also leave out the cfg flag and default values will be used.

Command line options

  • --host: specifies the host (default: 0.0.0.0), can be localhost to avoid access from outside
  • --port: specifies the port the server runs on (default: 8080)
  • --max-points: specifies the maximum number of data points the plot server stores per measurement (default: 100)
  • --cfg: specifies the path to a config file containing the above command line arguments (see misc/param.cfg)

How to feed data to the plot_server

You can add data points to the plot_server by a simple http POST request including the json payload

{
    "tag": "Measurement Name",
    "value": 1234,
    "unit": "W",
    "ts": 1649859909
}

Where unit and ts are optional. If ts is not provided, then the time is used at which the post request is made. If unit is not provided, then the plot_server simply displays "Value" on the y-axis.

An example program feeding the plot_server is included in this repository and named misc/data_injector.py.

A short python snippet would look like this

import requests
data = {
    "tag": "Measurement Name",
    "value": 1234,
    "unit": "W",
    "ts": 1649859909
}
url = "http://localhost:8080"
requests.post(url,json=data)

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

http-plot-server-0.1.tar.gz (9.3 kB view hashes)

Uploaded Source

Built Distribution

http_plot_server-0.1-py3-none-any.whl (10.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