- #652: Refactor to
timezone
specificdatetime
helpers to avoid use deprecated functions
- #657: Prefer datetime.fromisoformat over dateutil.parse in Python 3.11+
- #658: Add
find_buckets_iter
function that allow iterate through all pages of buckets.
- #655: Replace deprecated
urllib
callsHTTPResponse.getheaders()
andHTTPResponse.getheader()
.
- #654: Enable packaging type information -
py.typed
- #648: Fix
DataFrame
serialization withNaN
values
- #643: Add a support for Python 3.12
- #636: Handle missing data in data frames
- #638, #642: Refactor DataFrame operations to avoid chained assignment and resolve FutureWarning in pandas, ensuring compatibility with pandas 3.0.
- #641: Correctly dispose ThreadPoolScheduler in WriteApi
- #639: Use Markdown for
README
- #625: Make class
Point
equatable
- #562: Use
ThreadPoolScheduler
forWriteApi
's batch subject instead ofTimeoutScheduler
to prevent creating unnecessary threads repeatedly - #631: Logging HTTP requests without query parameters
- #635: Fix render
README.rst
at GitHub
- #616: Add
find_tasks_iter
function that allow iterate through all pages of tasks.
- #601: Use HTTResponse.headers to clear deprecation warning [urllib3]
- #610: Use iloc to clear deprecation warning
- #566: Fix Sphinx documentation build and add support
.readthedocs.yml
V2 configuration file
This release disables using of the HTTP proxy environment variables HTTP_PROXY
and HTTPS_PROXY
for the asynchronous HTTP client.
The proxy environment variables must be explicitly enabled in the client's configuration:
from influxdb_client.client.influxdb_client_async import InfluxDBClientAsync
async with InfluxDBClientAsync(url="http://localhost:8086", token="my-token", org="my-org",
client_session_kwargs={'trust_env': True}) as client:
pass
This release introduces a support for new version of InfluxDB API definitions with following breaking changes:
User
,UserResponse
,ResourceMember
andResourceOwner
classes no longer supportsoauth_id
fieldTask
class no longer supportstype
fieldScriptUpdateRequest
class no longer supportsname
fieldUsersService.get_flags
operation is moved toConfigService
- #586: Add
config_name
key argument forfrom_config_file
function to allow loading a specific configuration from a config file
- #588: Use the latest InfluxDB API definitions for generated APIs
- #583: Async HTTP client doesn't always use
HTTP_PROXY
/HTTPS_PROXY
environment variables. [async/await] - #584: Parsing empty query result value as
numpy.NaN
- #595: The
Config-Encoding: identity
header will no longer be set by thewrite_api
calls to a remote server
- #559: Exceptions in callbacks can cause deadlocks
- #536: Query to
CSV
skip empty lines - #538: Configure types of
integer
fields when initializingPoint
fromdict
structure
- #528: Add
BucketSchemasService
to manage explicit bucket schemas to enforce column names, tags, fields, and data types for your data
- #526: Creating client instance from static configuration
- #531: HTTP request return type for Management API [async/await]
- #534: Use
HTTResponse.headers
to clear deprecation warning [urllib3]
- #523: Add Python 3.11 to CI builds
- #509: Rename
key_file
tocert_key_file
inside the central configuration class
- #510: Allow to use client's optional configs for initialization from file or environment properties
- #509: MTLS support for the InfluxDB Python client
- #512: Exception propagation for asynchronous
QueryApi
[async/await] - #518: Parsing query response with two-bytes UTF-8 character [async/await]
- #521: Duplicated
debug
output
- #498: Add possibility to update user's password by
users_api
- #502: Add
FluxRecord.row
with response data stored in array
- #497: Parsing InfluxDB response with new line character in CSV column [async/await]
- #483: Querying data if the
debug
is enabled - #477: Parsing date fails due to thread race
- #486: Serializing DataFrames with columns starting with digits
- #491: Creating
Tasks
withimport
statements
- #472: Update
RxPY
to4.0.4
- #397: Add an example: How to use RxPY to prepare batches by maximum bytes count
- #269: Add new example: How to check connection credentials
- #467: Add possibility to initialize client by json file
- #450: Improve Query UX - simplify serialization to JSON and add possibility to serialize query results as a flattened list of values
- #462: Redact the
Authorization
HTTP header from log
- #440: Add possibility to specify timestamp column and its timezone [DataFrame]
- #457: Formatting nanoseconds to Flux AST
- #449: Remove
pytz
library
- #443: Initialization of the client without auth credentials
- #433: Rename
InvocableScripts
toInvokableScripts
- #435: Add possibility to authenticate by
username/password
- #439: Remove
six
library
- #413: Add support for
async/await
with asyncio viaInfluxDBClientAsync
, for more info see: How to use Asyncio
- #425: Improve error message if there is no
organization
with requiredname
- #412:
DeleteApi
uses default value fromInfluxDBClient.org
if anorg
parameter is not specified - #405: Add
InfluxLoggingHandler
. A handler to use the client in native python logging. - #404: Add
InvokableScriptsApi
to create, update, list, delete and invoke scripts by seamless way
- #419: Use
allowed_methods
to clear deprecation warning [urllib3]
- #419: Update dependencies:
urllib3
to 1.26.0
- #411: Use new Codecov uploader for reporting code coverage
This release introduces a support for new version of InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi
, QueryApi
, BucketsApi
, OrganizationsApi
...
- Add
LegacyAuthorizationsService
to deal with legacy authorizations - Add
ResourceService
to retrieve all knows resources - Add
BackupService
to represents the data backup functions of InfluxDB - Add
ReplicationsService
to represents the replication functions of InfluxDB - Add
RestoreService
to represents the data restore functions of InfluxDB - Add
ConfigService
to retrieve InfluxDB's runtime configuration - Add
RemoteConnectionsService
to deal with registered remote InfluxDB connections - Add
TelegrafPluginsService
to retrieve all Telegraf's plugins - Update
TemplatesService
to deal withStack
andTemplate
API DBRPsService
:- doesn't requires
org_id
parameter for operations get_dbr_ps_id
operation usesDBRPGet
as a type of resultpatch_dbrpid
operation usesDBRPGet
as a type of resultpost_dbrp
operation usesDBRPCreate
as a type of request
- doesn't requires
DefaultService
:get_routes
operation is moved toRoutesService
get_telegraf_plugin
operation is moved toTelegrafsService
post_signin
operation is moved toSigninService
post_signout
operation is moved toSignoutService
OrganizationsService
:get_orgs_id_secrets
operation is moved toSecretsService
patch_orgs_id_secrets
operation is moved toSecretsService
post_orgs_id_secrets
operation is moved toSecretsService
- Remove
DocumentApi
in favour of InfluxDB Community Templates. For more info see - influxdb#19300, openapi#192 TelegrafsService
usesTelegrafPluginRequest
to createTelegraf
configurationTelegrafsService
usesTelegrafPluginRequest
to updateTelegraf
configuration
- #399: Use the latest InfluxDB OSS API definitions to generated APIs
- #408: Improve error message when the client cannot find organization by name
- #407: Use
pandas.concat()
instead of deprecatedDataFrame.append()
[DataFrame]
- #393: Add callback function for getting profilers output with example and test
- #375: Construct
InfluxDBError
without HTTP response - #378: Correct serialization DataFrame with nan values [DataFrame]
- #384: Timeout can be specified as a
float
- #380: Correct data types for querying [DataFrame]
- #391: Ping function uses debug for log
- #395: Add an example How to use create a Task by API
- #370: Add Python 3.10 to CI builds
- #358: Update management API:
BucketsApi
- add possibility to:update
OrganizationsApi
- add possibility to:update
UsersApi
- add possibility to:update
,delete
,find
- #356: Add
MultiprocessingWriter
to write data in independent OS process
- #359: Correct serialization empty columns into LineProtocol [DataFrame]
InfluxDBClient.health()
: instead useInfluxDBClient.ping()
- #352: Add
PingService
to check status of OSS and Cloud instance
- #344: Add an example How to use Invokable scripts Cloud API
- #330: Add support for write structured data -
NamedTuple
,Data Classes
- #335: Add support for custom precision for index specified as number [DataFrame]
- #341: Add support for handling batch events
- #348: Optimize appending new columns to Pandas DataFrame [DataFrame]
- #331: Add Migration Guide
- #341: How to handle client errors
- #319: Add supports for array expressions in query parameters
- #320: Add JSONEncoder to encode query results to JSON
- #317:
delete_api
also acceptdatetime
as a value forstart
andstop
- #321: Fixes return type for dashboard when
include=properties
is used
- #327: Switch to next-gen CircleCI's convenience images
- #281:
FluxTable
,FluxColumn
andFluxRecord
objects have helpful reprs - #293:
dataframe_serializer
supports batching - #301: Add
proxy_headers
to configuration options - #306: Supports
numpy
type in serialization to Line protocol
- #301: How to configure proxy
- #283: Set proxy server in config file
- #290:
Threshold
domain models mapping - #290:
DashboardService
responses types - #303: Backslash escaping in serialization to Line protocol
- #312: Zip structure for AWS Lambda
- #299: Deploy package to Anaconda.org
- #264: Org parameter can be specified as ID, Name or Organization Object [write, query]
- #264: Deprecated
org_id
options BucketsApi.create_bucket in favor oforg
parameter
- #270: Supports
write_precision
for write Pandas DataFrame
This release introduces a support for new InfluxDB OSS API definitions - oss.yml. The following breaking changes are in underlying API services and doesn't affect common apis such as - WriteApi
, QueryApi
, BucketsApi
, OrganizationsApi
...
AuthorizationsService
usesAuthorizationPostRequest
to createAuthorization
BucketsService
usesPatchBucketRequest
to updateBucket
DashboardsService
usesPatchDashboardRequest
to updateDashboard
DeleteService
is used to delete time series date instead ofDefaultService
DBRPs
contains list ofDBRP
incontent
propertyOrganizationsService
usesPostOrganizationRequest
to createOrganization
Run
contains list ofLogEvent
inlog
propertyOrganizationsService
usesPatchOrganizationRequest
to updateOrganization
OnboardingResponse
usesUserResponse
asuser
propertyResourceMember
andResourceOwner
inherits fromUserResponse
Users
contains list ofUserResponse
inusers
propertyUsersService
usesUserResponse
as a response to requests
- #237: Use kwargs to pass query parameters into API list call - useful for the ability to use pagination.
- #241: Add detail error message for not supported type of
Point.field
- #238: Add possibility to specify default
timezone
for datetimes withouttzinfo
- #262: Add option
auth_basic
to allow proxied access to InfluxDB 1.8.x compatibility API
- #254: Serialize
numpy
floats into LineProtocol
- #255: Fix invalid description for env var
INFLUXDB_V2_CONNECTION_POOL_MAXSIZE
- #261: Use InfluxDB OSS API definitions to generated APIs
- #222: Pass configured timeout to HTTP client
- #218: Support for
with .. as ..
statement - #232: Specify package requirements in
setup.py
- #235: Write a dictionary-style object without tags
- #206: Use default (system) certificates instead of Mozilla's root certificates (certifi.where())
- #217: Fix clone_task function
- #209: Allow setting shard-group durations for buckets via API
- #202: Added an example how to use RxPY and sync batching
- #213: Added an example how to use Buckets API
- #193: Fixed
tasks_api
to use proper function to getRun
- #200: Updated docs, examples, tests: use
close
instead of__del__
.
- #199: Updated stable image to
influxdb:latest
and nightly toquay.io/influxdb/influxdb:nightly
- #176: Allow providing proxy option to InfluxDBClient
- #179: Updated default docker image to v2.0.3
- #189: Updated docs about
DeleteApi
.
- #171: CSV parser is able to parse export from UI
- #170: Skip DataFrame rows without data - all fields are nan.
- #175: Updated default docker image to v2.0.2
- #163: Added support for Python 3.9
- #161: Added logging message for retries
- #164: Excluded tests from packaging
- #152: WriteApi supports generic Iterable type
- #158: Added possibility to specify certificate file path to verify the peer
- #151: Default port changed from 9999 -> 8086
- #156: Removed labels in organization API, removed Pkg* structure and package service
- #154: Fixed escaping string fields in DataFrame serialization
- #140: Added exponential backoff strategy for batching writes, Allowed to configure default retry strategy. Default value for
retry_interval
is 5_000 milliseconds. - #136: Allows users to skip of verifying SSL certificate
- #143: Skip of verifying SSL certificate could be configured via config file or environment properties
- #141: Added possibility to use datetime nanoseconds precision by
pandas.Timestamp
- #145: Api generator was moved to influxdb-clients-apigen
- #112: Support timestamp with different timezone in _convert_timestamp
- #120: ciso8601 is an optional dependency and has to be installed separably
- #121: Added query_data_frame_stream method
- #132: Use microseconds resolutions for data points
- #117: Fixed appending default tags for single Point
- #115: Fixed serialization of
\n
,\r
and\t
to Line Protocol,=
is valid sign for measurement name - #118: Fixed serialization of DataFrame with empty (NaN) values
- #130: Use
Retry-After
header value for Retryable error codes
- #92: Optimize serializing Pandas DataFrame for writing
- #110: Removed log system from Bucket, Dashboard, Organization, Task and Users API - influxdb#18459, Update swagger to latest version
- #105: Fixed mapping dictionary without timestamp and tags into LineProtocol
- #108: The WriteApi uses precision from Point instead a default precision
- #79: Added support for writing Pandas DataFrame
- #85: Fixed a possibility to generate empty write batch
- #86: BREAKING CHANGE: Fixed parameters in delete api - now delete api accepts also bucket name and org name instead of only ids
- #93: Remove trailing slash from connection URL
- #75: Updated docs to clarify how to use an org parameter
- #84: Clarify how to use a client with InfluxDB 1.8
- #72: Optimize serializing data into Pandas DataFrame
- #59: Set User-Agent to influxdb-client-python/VERSION for all requests
- #61: Correctly parse CSV where multiple results include multiple tables
- #66: Correctly close connection pool manager at exit
- #69:
InfluxDBClient
andWriteApi
could serialized by pickle (python3.7 or higher)
- #52: Initialize client library from config file and environmental properties
- #54: Add Python 3.7 and 3.8 to CI builds
- #56: Fix default tags for write batching, added new test
- #58: Source distribution also contains: requirements.txt, extra-requirements.txt and test-requirements.txt
- #50: Implemented default tags
- #47: Updated swagger to latest version
- #49: Added beta release to continuous integration
- #48: InfluxDBClient default org is used by WriteAPI
- #44: Optimized serialization into LineProtocol, Clarified how to use client for import large amount of data
- #42: Updated swagger to latest version
- #45: Pandas is a optional dependency and has to installed separably
- #29: Added support for serialise response into Pandas DataFrame
- #24: Added possibility to write dictionary-style object
- #27: Added possibility to write bytes type of data
- #30: Added support for streaming a query response
- #35: FluxRecord supports dictionary-style access
- #31: Added support for delete metrics
- #28: Updated swagger to latest version
- #19: Removed strict checking of enum values
- #22: Documented how to connect to InfluxCloud
- #2: The write client is able to write data in batches (configuration:
batch_size
,flush_interval
,jitter_interval
,retry_interval
) - #5: Added support for gzip compression of query response and write body
- #10: Updated swagger to latest version