

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.

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

.. _readme-about:

InfluxDB is an open-source distributed time series database, find more about InfluxDB_ at http://influxdata.com/


.. _installation:

InfluxDB pre v1.1.0 users
=========================

InfluxDB 1.1.0 was released and it is the new recommended version. InfluxDB 0.8.x users may still 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.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)


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 = [
        {
            "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/.


Development
===========

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


TODO
====

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


Source code
===========

The source code is currently available on Github: https://github.com/influxdata/influxdb-python


.. _InfluxDB: https://influxdata.com/time-series-platform/influxdb/
.. _Sphinx: http://sphinx.pocoo.org/
.. _Tox: https://tox.readthedocs.org
