Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

InfluxDB client

Project description

InfluxDB-Python is a client for interacting with InfluxDB. Documentation Status Coverage Downloads Latest Version Supported Python versions License

InfluxDB is an open-source distributed time series database, find more about InfluxDB at

InfluxDB > v0.9 support

The 1.0.0 version of this library now supports InfluxDB 0.9. Please note that InfluxDB 0.9 is still pre-release software. For stability, you should use the influxdb.influxdb08 module in conjunction with InfluxDB 0.8.

InfluxDB v0.8.X users

Influxdb >=0.9.0 brings many breaking changes to the API. InfluxDB 0.8.X users may use the legacy client by using from influxdb.influxdb08 import InfluxDBClient instead.


Install, upgrade and uninstall InfluxDB-Python with these commands:

$ pip install influxdb
$ pip install --upgrade influxdb
$ pip uninstall influxdb

On Debian/Ubuntu, you can install it with this command:

$ sudo apt-get install python-influxdb


The InfluxDB-Python distribution is supported and tested on Python 2.7, 3.2, 3.3, 3.4, PyPy and PyPy3.

Main dependency is:

Additional dependencies are:


InfluxDB-Python documentation is available at

You will need Sphinx installed to generate the documentation.

The documentation can be generated by running:

$ tox -e docs

Generated documentation can be found in the docs/build/html/ directory.


Here’s a basic example (for more see the examples directory):

$ python

>>> from influxdb import InfluxDBClient

>>> json_body = [
        "name": "cpu_load_short",
        "tags": {
            "host": "server01",
            "region": "us-west"
        "timestamp": "2009-11-10T23:00:00Z",
        "fields": {
            "value": 0.64

>>> client = InfluxDBClient('localhost', 8086, 'root', 'root', 'example')

>>> client.create_database('example')

>>> client.write_points(json_body)

>>> result = client.query('select value from cpu_load_short;')

>>> print("Result: {0}".format(result))

If you want to connect to a cluster, you could initialize a InfluxDBClusterClient:

$ python

>>> from influxdb import InfluxDBClusterClient

>>> cc = InfluxDBClusterClient(hosts = [('', 8086),
                                        ('', 8086),
                                        ('', 8086)],

InfluxDBClusterClient has the same methods as InfluxDBClient, it basically is a proxy to multiple InfluxDBClients.


Make sure you have tox by running the following:

$ pip install tox

To test influxdb-python with multiple version of Python, you can use Tox:

$ tox


For issues with, questions about, or feedback for InfluxDB, please look into our community page:


All development is done on Github. Use Issues to report problems or submit contributions.


The TODO/Roadmap can be found in Github bug tracker:

Source code

The source code is currently available on Github:

Project details

Download files

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

Files for influxdb, version 2.3.0
Filename, size File type Python version Upload date Hashes
Filename, size influxdb-2.3.0-py2.py3-none-any.whl (55.9 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size influxdb-2.3.0.tar.gz (44.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page