// the find
influxdata/influxdb-client-python
InfluxDB 2.0 python client
The official Python client for InfluxDB 2.x, covering writes, queries, and the full management API. Targets data engineers and developers who need to ingest time-series data or run Flux queries from Python, with first-class Pandas and async support.
- Multiple write input formats (line protocol strings, Point objects, dicts, dataclasses, NamedTuples, Pandas DataFrames, RxPY Observables) with configurable batching, retry with exponential backoff, and jitter - the batching write path is genuinely production-ready.
- Full async client (influxdb_client_async) using aiohttp alongside the sync urllib3 client, so you're not forced into threads for concurrent workloads.
- Config loading from .ini, TOML, JSON, or environment variables with a consistent naming convention, which makes 12-factor deployment straightforward.
- Management API is auto-generated from the InfluxDB swagger spec, so org/bucket/task/auth management stays in sync with the server API without manual maintenance.
- This library is explicitly for InfluxDB 2.x with Flux; the README itself tells new users to go elsewhere (v3 client for InfluxDB 3.x, v1 client for InfluxDB 1.x with InfluxQL). If you're on the latest InfluxDB, you shouldn't be starting here.
- The RxPY dependency for batching mode adds real complexity - debugging reactive pipelines when writes silently fail or back-pressure stalls is painful, and the dependency itself has had stability issues across major versions.
- query_data_frame returns multiple DataFrames when a query returns multiple tables, which forces callers to handle a list vs single DataFrame inconsistency that regularly trips people up in practice.
- The domain/ directory is hundreds of generated files that bloat the package install significantly and make grepping the source for actual client logic tedious.