InfluxDB-Python is a client for interacting with InfluxDB. Maintained by @aviau (https://github.com/aviau).
Help needed: Development of this library is made by the community and help is needed. A co-maintainer would be welcome. To contribute, take a look at the issues list of simply contact @aviau.
InfluxDB is an open-source distributed time series database, find more about InfluxDB at http://influxdata.com/
InfluxDB 0.9 was released and it is the new recommended version. However, InfluxDB 0.8.x users may still use the legacy client by using from influxdb.influxdb08 import InfluxDBClient<
85CB
/code> 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.3, 3.4, PyPy and PyPy3.
Note: Python 3.2 is 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)
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.
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))
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.
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: http://influxdb.com/community/.
All development is done on Github. Use Issues to report
problems or submit contributions.
The TODO/Roadmap can be found in Github bug tracker: https://github.com/influxdata/influxdb-python/issues
The source code is currently available on Github: https://github.com/influxdata/influxdb-python