RRDPYTHON(1)                         rrdtool                        RRDPYTHON(1)

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 lan‐
     guage. This wrapper implementation has been written from the scratch (with‐
     out  SWIG)

     The API expects strings and/or a list of strings as parameters to the func‐
     tions.   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,  rrdx‐
     port, rrdinfo

AUTHOR
     Hye-Shik Chang <perky@i18n.org>

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

1.11.0                             2026-08-08                       RRDPYTHON(1)
