Skip to content

Commit a126d50

Browse files
committed
chore: remove pendulum dependencies
1 parent 8d27fb9 commit a126d50

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

airbyte/logs.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,16 @@
1515
import os
1616
import platform
1717
import tempfile
18+
from time import strptime
1819
import warnings
1920
from functools import lru_cache
2021
from pathlib import Path
2122

22-
import pendulum
2323
import structlog
2424
import ulid
2525

26+
from airbyte_cdk.utils.datetime_helpers import ab_datetime_now, ab_datetime_format
27+
2628

2729
def _str_to_bool(value: str) -> bool:
2830
"""Convert a string value of an environment values to a boolean value."""
@@ -60,6 +62,7 @@ def warn_once(
6062

6163
if not with_stack:
6264
stacklevel = 0
65+
6366
if with_stack is True:
6467
stacklevel = 2
6568

@@ -139,7 +142,7 @@ def get_global_file_logger() -> logging.Logger | None:
139142
for handler in logger.handlers:
140143
logger.removeHandler(handler)
141144

142-
yyyy_mm_dd: str = pendulum.now().format("YYYY-MM-DD")
145+
yyyy_mm_dd: str = ab_datetime_now().strftime("%Y-%m-%d")
143146
folder = AIRBYTE_LOGGING_ROOT / yyyy_mm_dd
144147
try:
145148
folder.mkdir(parents=True, exist_ok=True)

airbyte/progress.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
from enum import Enum, auto
2929
from typing import IO, TYPE_CHECKING, Any, Literal, cast
3030

31-
import pendulum
3231
from rich.errors import LiveError
3332
from rich.live import Live as RichLive
3433
from rich.markdown import Markdown as RichMarkdown
3534

35+
from airbyte_cdk.utils.datetime_helpers import ab_datetime_now
3636
from airbyte_protocol.models import (
3737
AirbyteMessage,
3838
AirbyteStreamStatus,
@@ -410,7 +410,8 @@ def _send_telemetry(
410410
def _log_sync_start(self) -> None:
411411
"""Log the start of a sync operation."""
412412
self._print_info_message(
413-
f"Started `{self.job_description}` sync at `{pendulum.now().format('HH:mm:ss')}`..."
413+
f"Started `{self.job_description}` sync at "
414+
f"`{ab_datetime_now().strftime('%H:%M:%S')}`..."
414415
)
415416
# We access a non-public API here (noqa: SLF001) to get the runtime info for participants.
416417
self._send_telemetry(
@@ -423,13 +424,14 @@ def log_stream_start(self, stream_name: str) -> None:
423424
if stream_name not in self.stream_read_start_times:
424425
self._print_info_message(
425426
f"Read started on stream `{stream_name}` at "
426-
f"`{pendulum.now().format('HH:mm:ss')}`..."
427+
f"`{ab_datetime_now().strftime('%H:%M:%S')}`..."
427428
)
428429
self.stream_read_start_times[stream_name] = time.time()
429430

430431
def _log_stream_read_end(self, stream_name: str) -> None:
431432
self._print_info_message(
432-
f"Read completed on stream `{stream_name}` at `{pendulum.now().format('HH:mm:ss')}`..."
433+
f"Read completed on stream `{stream_name}` at "
434+
f"`{ab_datetime_now().strftime('%H:%M:%S')}`..."
433435
)
434436
self.stream_read_end_times[stream_name] = time.time()
435437

@@ -535,7 +537,8 @@ def log_success(
535537
self._update_display(force_refresh=True)
536538
self._stop_rich_view()
537539
self._print_info_message(
538-
f"Completed `{self.job_description}` sync at `{pendulum.now().format('HH:mm:ss')}`."
540+
f"Completed `{self.job_description}` sync at "
541+
f"`{ab_datetime_now().strftime('%H:%M:%S')}`."
539542
)
540543
self._log_read_metrics()
541544
self._send_telemetry(
@@ -552,7 +555,8 @@ def log_failure(
552555
self._update_display(force_refresh=True)
553556
self._stop_rich_view()
554557
self._print_info_message(
555-
f"Failed `{self.job_description}` sync at `{pendulum.now().format('HH:mm:ss')}`."
558+
f"Failed `{self.job_description}` sync at "
559+
f"`{ab_datetime_now().strftime('%H:%M:%S')}`."
556560
)
557561
self._send_telemetry(
558562
state=EventState.FAILED,

0 commit comments

Comments
 (0)