pendulum icon indicating copy to clipboard operation
pendulum copied to clipboard

DeprecationWarning about datetime.utcfromtimestamp in Python-3.12

Open wosc opened this issue 1 year ago • 2 comments

  • [x] I am on the latest Pendulum version

  • [x] I have searched the issues of this repo and believe that this is not a duplicate.

  • OS version and name: macOS 14.5, Debian Linux 12

  • Pendulum version: 3.0

Issue

datetime.utcfromtimestamp() is used by pendulum.from_timestamp(), but it is deprecated starting in Python-3.12 (the stdlib docs say to use datetime.fromtimestamp(timestamp, tz=timezone.utc) instead):

$ python3.12 -W all
Python 3.12.3 (main, May 14 2024, 07:34:56) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pendulum
>>> pendulum.from_timestamp(1)
/usr/local/lib/python3.12/site-packages/pendulum/__init__.py:295: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  dt = _datetime.datetime.utcfromtimestamp(timestamp)
DateTime(1970, 1, 1, 0, 0, 1, tzinfo=Timezone('UTC'))

wosc avatar May 28 '24 12:05 wosc

Hello @edgarrmondragon.

Do you know if there was an answer for how to deal with this?

henviso avatar Sep 03 '24 19:09 henviso

Hello @edgarrmondragon.

Do you know if there was an answer for how to deal with this?

Not a maintainer, but since it's just a warning the simplest way to deal with it is to ignore it either globally^1 or in the pytest config^2 if you use that.

There seems to be an open PR to address this: https://github.com/sdispater/pendulum/pull/803.

edgarrmondragon avatar Sep 04 '24 04:09 edgarrmondragon