Not Logged In

bpdiag 0.5

BP Diag parses blood preasure statistics from data files, generates some
statistics and prints them to STDERR. You can export the data (and the
gathered statistics) to JSON (dump to STDOUT). And you can also generate
SVG or PNG charts from it.

BP Diag first tries to split multiple entries on each line using the
string given with the --delimiter option (default is ,). Each entry
found is then split into sys, dia and pulse values with the string
given with the --seperator option (default: /).

So if we run BP Diag on the file like this bpdiag.py bp.csv, we got
the following results:

Dump JSON

As you see parsing errors are ignored. We can dump JSON with the --json
option. Only the JSON dump is written to STDOUT, other output goes to
STDERR, so we can redirect the dump to a file (use --compact to
prevent spaces after , and :):

bpdiag.py --json --compact bp.csv > bp.json

The file bp.json will then contain one long line with the JSON data. You
can also dump the statistic gatherd from the data to JSON with the --json-
stats option. Use the --sort and --indent 2 options if you want a
more readable output.

Generate Charts

To generate SVG charts, you need to have PyGal installed (see below). Other
than that, just use the --chart option to have a chart called bp.svg
generated in your current directory. There are more options to this, take a
look at the --help output.

Instead of the interactive SVG charts you can use PNG as output format. Just
use the --png option along with --chart. You need a couple more
dependencies for that though, take a look below.

Number of measurements per line

Per default all values are gathered one after the other and parsing errors are
ignored. But you can use the --entries option to set a fixed number of
measurements per line.

What this means is that only that much values are used per line (even if there
are more) and if a line contains less than entries values, the remaining
ones are filled with None values. Also values that conatin - (or any
other combination of characters that does not parse to a three integer tuple)
are not ignored but stored as a None value too.

This can be helpful in cases where you have a given number of measurements per
line and you want to keep them aligned even if sometimes a measurement is
skipped / missing.:

Install with pip

Install from source

You can fetch the latest sourceball from github and unpack it, or just clone
this repository: git clone git://github.com/brutus/bpdiag. If you
got the source, change into the directory and use setup.py:

python setup.py install

Dependencies

PyGal is used to generate the charts. If you want to generate charts,
you need to install it. With pip it’s as easy as this: