Skip to content

Commit 53c1ea4

Browse files
committed
better timezone support
1 parent fa0aa8a commit 53c1ea4

File tree

4 files changed

+34
-5
lines changed

4 files changed

+34
-5
lines changed

bmsdna/table_rendering/table_rendering.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,16 @@ def render_into_sheet(
153153
def create_excel(
154154
sheets: "Mapping[str, tuple[TableRenderer, list[dict]| pl.DataFrame]|tuple[TableRenderer, list[dict]| pl.DataFrame, SheetOptions]]",
155155
excel: Path | None,
156+
*,
157+
workbook_options: dict | None = None,
156158
) -> Path: ...
157159

158160

159161
@overload
160162
def create_excel(
161163
sheets: "Mapping[str, tuple[TableRenderer, list[dict]| pl.DataFrame]|tuple[TableRenderer, list[dict]| pl.DataFrame, SheetOptions]]",
164+
*,
165+
workbook_options: dict | None = None,
162166
) -> Path: ...
163167

164168

@@ -172,6 +176,8 @@ def create_excel(
172176
def create_excel(
173177
sheets: "Mapping[str, tuple[TableRenderer, list[dict]| pl.DataFrame]|tuple[TableRenderer, list[dict]| pl.DataFrame, SheetOptions]]",
174178
excel: "Path | Workbook | None" = None,
179+
*,
180+
workbook_options: dict | None = None,
175181
) -> Path | None:
176182
if excel is None:
177183
excel = Path(os.getenv("TEMP", "/tmp")) / f"{str(uuid4())}.xlsx"
@@ -186,7 +192,13 @@ def create_excel(
186192
wb = excel
187193
path = None
188194
else:
189-
wb = Workbook(excel)
195+
wb = Workbook(
196+
excel,
197+
workbook_options
198+
or {
199+
"remove_timezone": True,
200+
},
201+
)
190202
path = excel
191203

192204
for sheet_name, tpl in sheets.items():

pyproject.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "bmsdna-table-rendering"
3-
version = "0.3.10"
3+
version = "0.3.11"
44
description = ""
55
authors = [{ name = "Adrian Ehrsam", email = "adrian.ehrsam@bmsuisse.ch" }]
66
dependencies = [
@@ -39,4 +39,8 @@ dev = [
3939
"pyright >=1.1.359,<2",
4040
"ruff >=0.4.1",
4141
]
42-
test = ["pytest >=8.1.1,<9", "openpyxl >=3.1.5,<4"]
42+
test = [
43+
"pytest >=8.1.1,<9",
44+
"openpyxl >=3.1.5,<4",
45+
"tzdata>=2025.2",
46+
]

tests/test_merge.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datetime import date, datetime
1+
from datetime import date, datetime, timezone
22
import os
33
import polars as pl
44

@@ -13,11 +13,13 @@ def test_excel():
1313
"first_name": "hans",
1414
"last_name": "muster",
1515
"age": 30,
16+
"dt": datetime.now(tz=timezone.utc),
1617
},
1718
{
1819
"first_name": "max",
1920
"last_name": "mustermann",
2021
"age": 40,
22+
"dt": datetime.now(tz=timezone.utc),
2123
},
2224
]
2325
)

uv.lock

Lines changed: 12 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)