InfluxDB-Python
InfluxDB-Python is a client for interacting with InfluxDB.
Development of this library is maintained by:
Github ID | URL |
---|---|
@aviau | (https://github.com/aviau) |
@xginn8 | (https://github.com/xginn8) |
@sebito91 | (https://github.com/sebito91) |
InfluxDB is an open-source distributed time series database, find more about InfluxDB at https://docs.influxdata.com/influxdb/latest
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.
Those users still on InfluxDB v0.8.x users may still use the legacy client by importing from influxdb.influxdb08 import InfluxDBClient
.
Installation
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:
- Requests: HTTP library for human beings (http://docs.python-requests.org/)
Additional dependencies are:
- pandas: for writing from and reading to DataFrames (http://pandas.pydata.org/)
- Sphinx: Tool to create and manage the documentation (http://sphinx-doc.org/)
- Nose: to auto-discover tests (http://nose.readthedocs.org/en/latest/)
- Mock: to mock tests (https://pypi.python.org/pypi/mock)
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
All development is done on Github. Use Issues to report problems or submit contributions.
Please note that we WILL get to your questions/issues/concerns as quickly as possible. We maintain many software repositories and sometimes things may get pushed to the backburner. Please don't take offense, we will do our best to reply as soon as possible!
Source code
The source code 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