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? |
|
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 |
|
@cjw296: Please replace |
remove unused __version__ from mock.py (python#17977)
This isn't included in `__all__` and could be a source of confusion.
|
Juts a heads up that this actually breaks things: https://bugzilla.redhat.com/show_bug.cgi?id=1797690 |
|
Why are they relying on this version number? What are they using it for? |
|
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 |
|
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. |
|
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? |
|
I'm sorry, but I don't considering this a break in backwards compatibility. This |
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. :) |
|
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/ |
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." |
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