Skip to content

Commit fa1a4f2

Browse files
authored
Deprecate __version__ attribute (#897)
1 parent e57ca8e commit fa1a4f2

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

src/pendulum/__init__.py

+18-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
import datetime as _datetime
44

5+
from typing import Any
56
from typing import Union
67
from typing import cast
78
from typing import overload
89

9-
from pendulum.__version__ import __version__
1010
from pendulum.constants import DAYS_PER_WEEK
1111
from pendulum.constants import HOURS_PER_DAY
1212
from pendulum.constants import MINUTES_PER_HOUR
@@ -343,6 +343,23 @@ def interval(
343343
travel_to = _traveller.travel_to
344344
travel_back = _traveller.travel_back
345345

346+
347+
def __getattr__(name: str) -> Any:
348+
if name == "__version__":
349+
import importlib.metadata
350+
import warnings
351+
352+
warnings.warn(
353+
"The '__version__' attribute is deprecated and will be removed in"
354+
" Pendulum 3.4. Use 'importlib.metadata.version(\"pendulum\")' instead.",
355+
DeprecationWarning,
356+
stacklevel=2,
357+
)
358+
return importlib.metadata.version("pendulum")
359+
360+
raise AttributeError(name)
361+
362+
346363
__all__ = [
347364
"DAYS_PER_WEEK",
348365
"HOURS_PER_DAY",
@@ -364,7 +381,6 @@ def interval(
364381
"Time",
365382
"Timezone",
366383
"WeekDay",
367-
"__version__",
368384
"date",
369385
"datetime",
370386
"duration",

src/pendulum/__version__.py

-4
This file was deleted.

0 commit comments

Comments
 (0)