InfluxDB client
Project description
InfluxDB-Python is a client for interacting with InfluxDB.
InfluxDB is an open-source distributed time series database, find more about InfluxDB at http://influxdb.com/
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.
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.2, 3.3, 3.4, PyPy and PyPy3.
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
InfluxDB-Python documentation is available at http://influxdb-python.readthedocs.org
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 = [ { "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 = [('192.168.0.1', 8086), ('192.168.0.2', 8086), ('192.168.0.3', 8086)], username='root', password='root', database='example')
InfluxDBClusterClient has the same methods as InfluxDBClient, it basically is a proxy to multiple InfluxDBClients.
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/.
Development
All development is done on Github. Use Issues to report problems or submit contributions.
TODO
The TODO/Roadmap can be found in Github bug tracker: https://github.com/influxdb/influxdb-python/issues/109
Source code
The source code is currently available on Github: https://github.com/influxdb/influxdb-python
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for influxdb-2.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfe76c162a452549e6a055b7dd55ef03140c2efd6778652f11f3999beb043280 |
|
MD5 | d1103a97f84a015068a5dbc25d798ca1 |
|
BLAKE2b-256 | 22c16d6609b1d4756ada4efc8d02342382f6ca40a03c5d6e9c7e699f80994169 |