Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/influxdata/influxdb-python

Python client for InfluxDB
https://github.com/influxdata/influxdb-python

influxdata influxdb python python3

Last synced: about 11 hours ago
JSON representation

Python client for InfluxDB

Awesome Lists containing this project

README

        

InfluxDB-Python
===============

.. image:: https://travis-ci.org/influxdata/influxdb-python.svg?branch=master
:target: https://travis-ci.org/influxdata/influxdb-python
.. image:: https://readthedocs.org/projects/influxdb-python/badge/?version=latest&style
:target: http://influxdb-python.readthedocs.org/
:alt: Documentation Status

.. image:: https://img.shields.io/coveralls/influxdata/influxdb-python.svg
:target: https://coveralls.io/r/influxdata/influxdb-python
:alt: Coverage

.. image:: https://img.shields.io/pypi/v/influxdb.svg
:target: https://pypi.python.org/pypi/influxdb
:alt: 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.

.. _readme-about:

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

.. _installation:

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:

- 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
-----------

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.

.. _Github: https://github.com/influxdb/influxdb-python/
.. _Issues: https://github.com/influxdb/influxdb-python/issues

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

.. _InfluxDB: https://influxdata.com/
.. _Sphinx: http://sphinx.pocoo.org/
.. _Tox: https://tox.readthedocs.org