# NAME

rrdpython - About the RRD Python bindings

# SYNOPSIS

    import rrdtool
    rrdtool.create('/tmp/test.rrd', 'DS:foo:GAUGE:20:0:U')

# DESCRIPTION

The rrdtool functions are directly callable via the Python programming language. This wrapper implementation has been written from the scratch (without SWIG)

The API expects strings and/or a list of strings as parameters to the functions. Please refer to the other rrdtool documentation for functions and valid arguments.

# EXAMPLES

## Example 1

    import sys
    sys.path.append('/path/to/rrdtool/lib/python2.6/site-packages/')
    import rrdtool, tempfile

    DAY = 86400
    YEAR = 365 * DAY
    fd,path = tempfile.mkstemp('.png')

    rrdtool.graph(path,
                 '--imgformat', 'PNG',
                 '--width', '540',
                 '--height', '100',
                 '--start', "-%i" % YEAR,
                 '--end', "-1",
                 '--vertical-label', 'Downloads/Day',
                 '--title', 'Annual downloads',
                 '--lower-limit', '0',
                 'DEF:downloads=downloads.rrd:downloads:AVERAGE',
                 'AREA:downloads#990033:Downloads')

    info = rrdtool.info('downloads.rrd')
    print info['last_update']
    print info['ds[downloads].minimal_heartbeat']

## Example 2

    import sys
    sys.path.append('/path/to/rrdtool/lib/python2.6/site-packages/')
    import rrdtool

    # in real life data_sources would be populated in loop or something similar
    data_sources=[ 'DS:speed1:COUNTER:600:U:U',
                   'DS:speed2:COUNTER:600:U:U',
                   'DS:speed3:COUNTER:600:U:U' ]

    rrdtool.create( 'speed.rrd',
                    '--start', '920804400',
                    data_sources,
                    'RRA:AVERAGE:0.5:1:24',
                    'RRA:AVERAGE:0.5:6:10' )

If you use the site-python-install make target you can drop to first sys.path.append line since the RRDtool module will be available everywhere.

If RRDtool runs into trouble, it will throw an exception which you might want to catch.

# SEE ALSO

rrdcreate, rrdupdate, rrdgraph, rrddump, rrdfetch, rrdtune, rrdlast, rrdxport, rrdinfo

# AUTHOR

Hye-Shik Chang <perky@i18n.org>

Alan Milligan <alan.milligan@last-bastion.net>