Created on 2020-07-09 17:01 by Anthony Sottile, last changed 2022-04-11 14:59 by admin.
Pull Requests |
|
|
|
URL |
Status |
Linked |
Edit |
PR 21712 |
open |
ZackerySpytz,2020-08-03 05:50 |
|
Messages (6) |
|
|
msg373407 - (view) |
Author: Anthony Sottile (Anthony Sottile) * |
Date: 2020-07-09 17:01 |
C: https://github.com/python/cpython/blob/8b33961e4bc4020d8b2d5b949ad9d5c669300e89/Modules/_datetimemodule.c#L3183 pure python: https://github.com/python/cpython/blob/8b33961e4bc4020d8b2d5b949ad9d5c669300e89/Lib/datetime.py#L927 this makes it difficult to properly type in mypy: https://github.com/python/typeshed/blob/209b6bb127f61fe173a60776e23883ac450cf1c8/stdlib/2and3/datetime.pyi#L55 and calling with `.strftime(fmt=...)` or `.strftime(format=...)` is inconsistent (that said, it should _probably_ be a positional-only argument) |
|
|
msg373421 - (view) |
Author: Paul Ganssle (p-ganssle) *  |
Date: 2020-07-09 19:06 |
I think a positional-only argument would be the best option if we could do it, but it would be a backwards-incompatible change and it's probably not worth the hassle. If anyone is using the keyword argument, they're probably using `format=` rather than `fmt=`, since it's pretty rare for anyone to use the pure python version of datetime. PyPy uses it, but I think they tend to aim for consistency with the C API of CPython, and it seems like they already patch s/fmt/format/ themselves: https://foss.heptapod.net/pypy/pypy/-/blob/branch/default/lib_pypy/datetime.py#L781 If anyone wants to make a PR I think we can fix this for 3.10, though unfortunately because it is an API change it can't be backported. I think in typeshed they can safely change from `fmt` to `format` even today (which would almost certainly be more accurate to end user use cases). |
|
|
msg373424 - (view) |
Author: Anthony Sottile (Anthony Sottile) * |
Date: 2020-07-09 19:42 |
awesome, I'm going to work through this with someone in my discord as a demo / mentorship opportunity -- hope that's ok! |
|
|
msg406418 - (view) |
Author: Paul Ganssle (p-ganssle) *  |
Date: 2021-11-16 16:56 |
Updating this issue to cover the problem in date, time and datetime. |
|
|
msg406421 - (view) |
Author: Sebastian Rittau (srittau) * |
Date: 2021-11-16 18:30 |
Ref https://github.com/python/typeshed/pull/6317 for a discussion about this in typeshed. |
|
|
msg406424 - (view) |
Author: Alex Waygood (AlexWaygood) *  |
Date: 2021-11-16 19:27 |
In addition to `date.strftime` and `time.strftime`, there is also a discrepancy in `datetime.fromtimestamp`. In the C implementation, the first parameter is called "timestamp"; in the pure-Python implementation, the first parameter is called "t". |
|
|
History |
|
|
|
Date |
User |
Action |
Args |
2022-04-11 14:59:33 |
admin |
set |
github: 85432 |
2021-11-16 19:27:41 |
AlexWaygood |
set |
messages: + |
2021-11-16 18:35:25 |
AlexWaygood |
set |
nosy: + AlexWaygood |
2021-11-16 18:30:56 |
srittau |
set |
nosy: + srittaumessages: + |
2021-11-16 18:25:08 |
AlexWaygood |
set |
versions: + Python 3.9, Python 3.11 |
2021-11-16 16:56:04 |
p-ganssle |
set |
messages: + title: datetime: strftime method takes different keyword argument: fmt (pure) or format (C) -> datetime, date and time: strftime method takes different keyword argument: fmt (pure) or format (C) |
2021-11-16 16:55:25 |
p-ganssle |
link |
issue45814 superseder |
2020-08-03 05:50:20 |
ZackerySpytz |
set |
keywords: + patchnosy: + ZackerySpytzpull_requests: + <pull%5Frequest20856>stage: needs patch -> patch review |
2020-07-09 19:42:04 |
Anthony Sottile |
set |
messages: + |
2020-07-09 19:06:30 |
p-ganssle |
set |
nosy: - rkmmessages: + stage: needs patch |
2020-07-09 18:44:02 |
rkm |
set |
nosy: + rkm |
2020-07-09 17:52:08 |
xtreak |
set |
nosy: + belopolsky, p-ganssle |
2020-07-09 17:01:48 |
Anthony Sottile |
create |
|