Uh oh!
There was an error while loading. Please reload this page.
bpo-31826: remove unused __version__ from mock.py - #17977
Conversation
This isn't included in `__all__` and could be a source of confusion.
@tirkarthi / @mariocj89 - can you see any problems with this? |
tirkarthi
commented
Jan 13, 2020
My username in GitHub is @tirkarthi :) Regarding the |
Cool, I'm comfortable removing this as you're +0. It's now confusing because it clashes with the |
bedevere-bot
commented
Jan 13, 2020
@cjw296: Please replace |
remove unused __version__ from mock.py (python#17977)
This isn't included in `__all__` and could be a source of confusion.
hroncok
commented
Feb 3, 2020
Juts a heads up that this actually breaks things: https://bugzilla.redhat.com/show_bug.cgi?id=1797690 |
cjw296
commented
Feb 3, 2020
Why are they relying on this version number? What are they using it for? |
hroncok
commented
Feb 3, 2020
I have no idea. IMHO they should stop doing that, yet this change affects something at least. I suggest documenting it at https://docs.python.org/3.9/whatsnew/3.9.html |
cjw296
commented
Feb 3, 2020
Ah, fair, I should have done a blurb for this. No idea if I can separately put one of those in? |
Upstream issue for stem: torproject/stem#56
No idea either. However I think that blurbs only do changelogs, https://docs.python.org/3.9/whatsnew/3.9.html is maintained separately. |
atagar
commented
Feb 3, 2020
Hello, Stem's author here.
Only display purposes when running the tests. Stem 1.8 supports Python 2.6-3.x, and with 2.x Mock often came from PyPI. As such the version sometimes mattered in test failures. Is there a reason to break backward compatibility now rather than Python 4.x? |
cjw296
commented
Feb 3, 2020
I'm sorry, but I don't considering this a break in backwards compatibility. This |
atagar
commented
Feb 3, 2020
Gotcha. We might need to agree to disagree on this. Python 3.6 has a version attribute whereas Python 3.9 does not, causing anyone that references it to raise an AttributeError. Is it a useless attribute? Absolutely, and I firmly agree with removing it in Python 4.x. But as a fellow user of symantic versioning if I was in your shoes I'd flag this attribute as obsolete and remove it in Python 4.x but that said, your show. :) |
hroncok
commented
Feb 4, 2020
Python regularly breaks backward compatibility in subtle ways between X.Y and X.Y+1. It does not follow semver. See also https://www.python.org/dev/peps/pep-0387/ |
atagar
commented
Feb 4, 2020
Interesting, I didn't realize that. PEP 387 seems to advise otherwise [1] but that said, not a big whoop. Clearly this is an obscure issue and we can hotfix on our end if necessary. [1] "Unless it is going through the deprecation process below, the behavior of an API must not change between any two consecutive releases." |
hroncok
commented
Feb 4, 2020
Yes. That doesn't mean "break in 4.x", but rather "deprecate in 3.9, remove in 3.10". Neither happened here. The confusion here IMHO is based on the fact that |
This isn't included in
__all__and could be a source of confusion.https://bugs.python.org/issue31826