InfluxDB 2.0 python client¶
- User Guide
- Pandas DataFrame
- Delete data
- Gzip support
- API Reference
Note: Use this client library with InfluxDB 2.x and InfluxDB 1.8+. For connecting to InfluxDB 1.7 or earlier instances, use the influxdb-python client library.
The API of the influxdb-client-python is not the backwards-compatible with the old one - influxdb-python.
InfluxDB 2.0 client features¶
- `InfluxDB 1.8 API compatibility`_
InfluxDB python library uses RxPY - The Reactive Extensions for Python (RxPY).
Python 3.6 or later is required.
It is recommended to use
ciso8601 with client for parsing dates.
ciso8601 is much faster than built-in Python datetime. Since it’s written as a
C module the best way is build it from sources:
You have to install Visual C++ Build Tools 2015 to build
Install from sources:
conda install -c conda-forge/label/cf202003 ciso8601.
The python package is hosted on PyPI, you can install latest version directly:
pip install influxdb-client[ciso]
Then import the package:
Please follow the Installation and then run the following:
from influxdb_client import InfluxDBClient, Point from influxdb_client.client.write_api import SYNCHRONOUS bucket = "my-bucket" client = InfluxDBClient(url="http://localhost:8086", token="my-token", org="my-org") write_api = client.write_api(write_options=SYNCHRONOUS) query_api = client.query_api() p = Point("my_measurement").tag("location", "Prague").field("temperature", 25.3) write_api.write(bucket=bucket, record=p) ## using Table structure tables = query_api.query('from(bucket:"my-bucket") |> range(start: -10m)') for table in tables: print(table) for row in table.records: print (row.values) ## using csv library csv_result = query_api.query_csv('from(bucket:"my-bucket") |> range(start: -10m)') val_count = 0 for row in csv_result: for cell in row: val_count += 1
A client can be configured via
*.ini file in segment
The following options are supported:
url- the url to connect to InfluxDB
org- default destination organization for writes and queries
token- the token to use for the authorization
timeout- socket timeout in ms (default value is 10000)
verify_ssl- set this to false to skip verifying SSL certificate when calling API from https server
ssl_ca_cert- set this to customize the certificate file to verify the peer
connection_pool_maxsize- set the number of connections to save that can be reused by urllib3
self.client = InfluxDBClient.from_config_file("config.ini")
Via Environment Properties¶
A client can be configured via environment properties.
Supported properties are:
INFLUXDB_V2_URL- the url to connect to InfluxDB
INFLUXDB_V2_ORG- default destination organization for writes and queries
INFLUXDB_V2_TOKEN- the token to use for the authorization
INFLUXDB_V2_TIMEOUT- socket timeout in ms (default value is 10000)
INFLUXDB_V2_VERIFY_SSL- set this to false to skip verifying SSL certificate when calling API from https server
INFLUXDB_V2_SSL_CA_CERT- set this to customize the certificate file to verify the peer
INFLUXDB_V2_CONNECTION_POOL_MAXSIZE- set this to customize the certificate file to verify the peer
self.client = InfluxDBClient.from_env_properties()