From 2433629e171a86970ed5cde74c6b5e03970d726c Mon Sep 17 00:00:00 2001 From: Tapanhaz Date: Mon, 11 Nov 2024 19:58:07 +0530 Subject: [PATCH 1/4] fix: write polars dataframe --- influxdb_client_3/write_client/client/write_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/influxdb_client_3/write_client/client/write_api.py b/influxdb_client_3/write_client/client/write_api.py index 3519161..7181813 100644 --- a/influxdb_client_3/write_client/client/write_api.py +++ b/influxdb_client_3/write_client/client/write_api.py @@ -461,7 +461,7 @@ def _write_batching(self, bucket, org, data, precision, **kwargs) elif 'polars' in str(type(data)): - from influxdb_client_3.write_client.client.write.dataframe_serializer import PolarsDataframeSerializer + from influxdb_client_3.write_client.client.write.polars_dataframe_serializer import PolarsDataframeSerializer serializer = PolarsDataframeSerializer(data, self._point_settings, precision, self._write_options.batch_size, **kwargs) From 5ba3a0abcdf59d66c1247d24b585b32a16d83d1b Mon Sep 17 00:00:00 2001 From: Tapanhaz Date: Mon, 11 Nov 2024 21:51:35 +0530 Subject: [PATCH 2/4] docs: update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7a43a8..d6b37ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.10.0 [unreleased] +### Bug Fixes + +1. [#113](https://github.com/InfluxCommunity/influxdb3-python/pull/113): Fixed importerror of PolarsDataframeSerializer + ## 0.9.0 [2024-09-13] ### Features From 5ccedde561063821bb859fec0aec4cca2c12611c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Tue, 12 Nov 2024 05:03:03 +0100 Subject: [PATCH 3/4] chore: add tests --- tests/test_polars.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tests/test_polars.py b/tests/test_polars.py index dabde23..b1934bd 100644 --- a/tests/test_polars.py +++ b/tests/test_polars.py @@ -2,7 +2,7 @@ import unittest from unittest.mock import Mock -from influxdb_client_3 import PointSettings, InfluxDBClient3 +from influxdb_client_3 import PointSettings, InfluxDBClient3, write_client_options, WriteOptions from influxdb_client_3.write_client import WriteService from influxdb_client_3.write_client.client.write.polars_dataframe_serializer import polars_data_frame_to_list_of_points @@ -61,3 +61,31 @@ def test_write_polars(self): actual = self.client._write_api._write_service.post_write.call_args[1]['body'] self.assertEqual(b'measurement temperature=22.4 1722470400000000000\n' b'measurement temperature=21.8 1722474000000000000', actual) + + def test_write_polars_batching(self): + import polars as pl + df = pl.DataFrame({ + "time": pl.Series(["2024-08-01 00:00:00", "2024-08-01 01:00:00"]).str.to_datetime(time_unit='ns'), + "temperature": [22.4, 21.8], + }) + self.client = InfluxDBClient3( + host="localhost", + org="my_org", + database="my_db", + token="my_token", write_client_options=write_client_options( + write_options=WriteOptions(batch_size=2) + ) + ) + self.client._write_api._write_options = WriteOptions(batch_size=2) + self.client._write_api._write_service = Mock(spec=WriteService) + + self.client.write( + database="database", + record=df, + data_frame_measurement_name="measurement", + data_frame_timestamp_column="time", + ) + + actual = self.client._write_api._write_service.post_write.call_args[1]['body'] + self.assertEqual(b'measurement temperature=22.4 1722470400000000000\n' + b'measurement temperature=21.8 1722474000000000000', actual) From 41b3608823fc293ac524418f706203a6a9316868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Bedn=C3=A1=C5=99?= Date: Tue, 12 Nov 2024 05:04:41 +0100 Subject: [PATCH 4/4] docs: Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6b37ef..0c54ffc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Bug Fixes -1. [#113](https://github.com/InfluxCommunity/influxdb3-python/pull/113): Fixed importerror of PolarsDataframeSerializer +1. [#113](https://github.com/InfluxCommunity/influxdb3-python/pull/113): Fix import error of `PolarsDataframeSerializer` in batching mode ## 0.9.0 [2024-09-13]