Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

influxdata/influxdb-python

Repository files navigation

InfluxDB-Python

https://travis-ci.org/influxdata/influxdb-python.svg?branch=master Documentation Status Coverage PyPI Status

Important

This project is no longer in development

This v1 client library is for interacting with InfluxDB 1.x and 1.x-compatible endpoints in InfluxDB 2.x. Use it to:

  • Write data in line protocol.
  • Query data with InfluxQL.

If you use InfluxDB 2.x (TSM storage engine) and Flux, see the v2 client library.

If you use InfluxDB 3.0, see the v3 client library.

For new projects, consider using InfluxDB 3.0 and v3 client libraries.

Description

InfluxDB-python, the InfluxDB Python Client (1.x), is a client library for interacting with InfluxDB 1.x instances.

InfluxDB is the time series platform designed to handle high write and query loads.

For InfluxDB pre-v1.1.0 users

This module is tested with InfluxDB versions v1.2.4, v1.3.9, v1.4.3, v1.5.4, v1.6.4, and 1.7.4.

Users on InfluxDB v0.8.x may still use the legacy client by importing from influxdb.influxdb08 import InfluxDBClient.

For InfluxDB v1.1 users

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

Dependencies

The influxdb-python distribution is supported and tested on Python 2.7, 3.5, 3.6, 3.7, PyPy and PyPy3.

Note: Python <3.5 are currently untested. See .travis.yml.

Main dependency is:

Additional dependencies are:

Documentation

Documentation is available at https://influxdb-python.readthedocs.io/en/latest/.

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.

Examples

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

$ python

>>> from influxdb import InfluxDBClient

>>> json_body = [
    {
        "measurement": "cpu_load_short",
        "tags": {
            "host": "server01",
            "region": "us-west"
        },
        "time": "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))

Testing

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

Support

For issues with, questions about, or feedback for InfluxDB, please look into our community page: http://influxdb.com/community/.

We are also lurking on the following:

  • #influxdb on irc.freenode.net
  • #influxdb on gophers.slack.com

Development

The v1 client libraries for InfluxDB 1.x were typically developed and maintained by InfluxDB community members. If you are an InfluxDB v1 user interested in maintaining this client library (at a minimum, keeping it updated with security patches) please contact the InfluxDB team at on the Community Forums or InfluxData Slack.

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

Please note that we will answer you question as quickly as possible.

Maintainers:

Github ID URL
@aviau (https://github.com/aviau)
@xginn8 (https://github.com/xginn8)
@sebito91 (https://github.com/sebito91)

Source code

The source code for the InfluxDB Python Client (1.x) is currently available on Github: https://github.com/influxdata/influxdb-python

TODO

The TODO/Roadmap can be found in Github bug tracker: https://github.com/influxdata/influxdb-python/issues