influxdb3-python release notes
v0.21.0
Bug Fixes
- #234: Add support for connecting to InfluxDB servers using IPv6 addresses.
- IPv6 addresses in server URLs must be enclosed in square brackets, for example, http://[2001:db8::1]:8086.
- IPv6 zone identifiers are not currently supported.
Breaking Changes
#217: Makes the writing API simpler and more consistent with other v3 clients.
- Removes unused
InfluxLoggingHandlerclass. WriteApinow handles all functions to write to InfluxDB.- The following internal classes have been removed:
ConfigurationApiClientWriteServiceInfluxDBClient
- The following internal classes have been refactored:
write_client._sync.RestClient- this class is now responsible for low-level handling of transport requests. End users should not need to use it directly.write_client.client.WriteApi- all internal settings needed for writing are now encapsulated within this Api.
- The following internal classes have been removed:
- Refactors Multiprocessing helper class.
- Migration Guidance
InfluxDBClient3constructor now has additional parameters for configuring the internalWriteApiandRestClient.auth_scheme- string - the token authentation scheme, typicallyTokenorBearer.enable_gzip- boolean - whether or not to compress data in writing payloads.gzip_threshold- int - minimum payload size to trigger gzip compression whenenable_gzipis True.point_settings- PointSettings - default settings used when writing Points, primarily used to wrap default tags to be added to Point data.debug- boolean - toggle debug level logging.
- Any clients explicitly using the
Configuration,ApiClient,WriteServiceor legacyInfluxDBClientclasses, will need to migrate their settings to theInfluxDBClient3constructor.
- Removes unused
#222: Refactor
MultiprocessingWriterclass.- New Process will be created by using
DefaultContext.Process(target)to prevent erratic crashes, handle cross-platform code behavior safely, and coordinate complex resource sharing. - Users can now choose one of the start methods
fork,spawnorforkserverwhen creating new Process. The default will bespawn. - Users can set time to live for the child process through
process_ttlparameter, the default value will be 300 seconds.
- New Process will be created by using
v0.20.0
Features
- #208: Add
influx3 queryCLI support for executing SQL/InfluxQL queries with JSON/JSONL/CSV/pretty output, including module execution viapython -m influxdb_client_3. - #213: Add partial write support and default writes to the V2 API endpoint.
See Partial writes for more.
no_syncrequiresuse_v2_api=False;accept_partialapplies only to V3 API endpoint writes.
Others
- #215:
- Remove cookie/session-based signin/signout support from the writing client.
- Remove basic authentication with a username and password.
v0.19.0
Features
- #198: Support custom tag order via
tag_orderwrite option. See Sort tags by priority for more. - #202: Add escape for field keys when serializing to line protocol in
PolarsDataframeSerializer.
v0.18.0
Features
- #196: Support passing middleware functions to the Flight client.
Bug Fixes
- #194: Fix
InfluxDBClient3.write_file()andInfluxDBClient3.write_dataframe()fail with batching mode. - #197: InfluxDB 3 Core/Enterprise write errors details handling.
v0.17.0
Features
- #177: Add dedicated DataFrame methods for improved usability and type safety:
write_dataframe(): New method for writing pandas and polars DataFrames with explicit parameters (measurement,timestamp_column,tags,timestamp_timezone).query_dataframe(): New method for querying data directly to a pandas or polars DataFrame via theframe_typeparameter.- Updated README with clear examples for DataFrame operations.
- #179: Add option to disable gRPC response
compression for Flight queries:
disable_grpc_compressionparameter inInfluxDBClient3constructorINFLUX_DISABLE_GRPC_COMPRESSIONenvironment variable support infrom_env()
- #180: Add
flush()method toInfluxDBClient3:- Allows flushing the write buffer without closing the client when using batching mode.
- Enables applications to ensure data is written before querying, while keeping the client open for further operations.
- #185:
- Add API Reference page on document page
- Remove old document link.
- Add link to document page in README.md
Bug Fixes
- #177: Fix
TypeErrorwhen writing DataFrames. Serializer-specific kwargs (e.g.,data_frame_measurement_name) are now filtered before being passed to the HTTP layer.
- CI updates
v0.16.0
Features
- #158 Improved parameters for setting timeouts
InfluxDB3Client()constructor now directly specifieswrite_timeout- timeout in milliseconds to be used when writing data.query_timeout- timeout in milliseconds to be used when querying data.
- Timeouts can be specifically overridden in direct method calls.
client.write()now propagates the argument_request_timeoutas anintin milliseconds on the call stack even in batching mode.client.query()now propagates the argumenttimeoutas afloatin seconds on the call stack.
- CI updates
v0.15.0
Features
- #146: Add function to get InfluxDB version.
- #149: Run integration tests against a locally started InfluxDB 3 Core server.
v0.14.0
Features
- #141 Move “setuptools” package to build dependency.
- #142: Support fast writes without waiting for WAL
persistence:
- New write option (
WriteOptions.no_sync) added:Truevalue means faster write but without the confirmation that the data was persisted. Default value:False. - Supported by self-managed InfluxDB 3 Core and Enterprise servers only!
- Also configurable via environment variable (
INFLUX_WRITE_NO_SYNC). - Long precision string values added from v3 HTTP API:
"nanosecond","microsecond","millisecond","second"( in addition to the existing"ns","us","ms","s").
- New write option (
- #145: Improve the document wording for README.md
v0.13.0
Features
- #130: Remove org parameters from the example code because It is not mandatory in Influxdb3
- #139: Supports environment variables with the same name as other clients
- #140: Query api will throw
InfluxdbClientQueryErrorwhen receivingArrowExceptionfrom gRPC servers
v0.12.0
Features
- #123: Introduces
query_async()method. From this release the client now has aquery_async()method that takes advantage of asyncio’s event loop to run query calls in their own executor.
For example:
table = await client.query_async(query)Bug Fixes
- #121: Fix use of arguments
verify_sslandssl_ca_certinQueryApi.
v0.11.0
Bug Fixes
- #119: Fix use of
proxyargument in client and query_api to use in channel solution for GRPC proxy.
v0.10.0
Bug Fixes
- #113: Fix import error of
PolarsDataframeSerializerin batching mode
v0.9.0
Features
- #108: Better expose access to response headers in
InfluxDBError. Examplehandle_http_erroradded. - #112: Update batching examples, add integration tests of batching.
Bug Fixes
- #107: Missing
py.typedin distribution package - #111: Reduce log level of disposal of batch processor to DEBUG
v0.8.0
Features
- #101: Add support for InfluxDB Edge (OSS) authentication
Bug Fixes
v0.7.0
Bug Fixes
v0.6.1
Bug Fixes
- #98: Missing declaration for
querymodule
v0.6.0
Features
- #89: Use
datetime.fromisoformatoverdateutil.parsein Python 3.11+ - #92: Update
user-agentheader value toinfluxdb3-python/{VERSION}and add it to queries as well.
Bug Fixes
- #86: Refactor to
timezonespecificdatetimehelpers to avoid use deprecated functions
v0.5.0
Features
- #88: Add support for named query parameters:
from influxdb_client_3 import InfluxDBClient3 with InfluxDBClient3(host="https://us-east-1-1.aws.cloud2.influxdata.com", token="my-token", database="my-database") as client: table = client.query("select * from cpu where host=$host", query_parameters={"host": "server01"}) print(table.to_pandas())
Bug Fixes
- #87: Fix examples to use
write_optionsinstead of the object nameWriteOptions
Others
- #84: Enable packaging type information -
py.typed
v0.4.0
Bugfix
- #77: Support using pandas nullable types
Others
- #80: Integrate code style check into CI
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Core and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.