[issue36908] "This module is always available" is confusing
New submission from Ned Batchelder <ned@nedbatchelder.com>: The math and cmath modules say this in their docs: "This module is always available." This lead a beginner to believe they didn't need to be imported. Nearly the entire standard library is always available in this sense (they can be imported). This sentence isn't useful. Can we change the first paragraph of the math module to be: "This module provides access to the mathematical functions defined by the C standard." (and similarly for the cmath module.) ---------- assignee: docs@python components: Documentation messages: 342386 nosy: docs@python, nedbat priority: normal severity: normal status: open title: "This module is always available" is confusing _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Change by Ned Batchelder <ned@nedbatchelder.com>: ---------- keywords: +patch pull_requests: +13207 stage: -> patch review _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Mariatta Wijaya <mariatta@python.org> added the comment: I agree the wording "is always available" is quite ambiguous. It's just that we use this phrase pretty much everywhere... Example: First paragraph of https://docs.python.org/3/library/sys.html "It is always available." https://docs.python.org/3/library/threading.html?highlight=threading#module-... "This module used to be optional, it is now always available." I wonder if it will be clearer if it says "is available across all platforms"? ---------- nosy: +Mariatta _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Ned Batchelder <ned@nedbatchelder.com> added the comment: If we want to keep it, how about "it can always be imported."? Though I still wonder whether this is worth it. Are we going to annotate all of the always-available modules with this notation? ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Ned Batchelder <ned@nedbatchelder.com> added the comment: Looks like these modules describe themselves as always available: _thread, sys, threading, time. Notice that the built-ins are also described as "always available", which is the meaning we're trying to move math away from (you can use them without importing anything). ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Emmanuel Arias <emmanuelarias30@gmail.com> added the comment: I agree. What about create a section (or subsection?) or note with the text: ``` The next modules: sys, math ... are always available. This mean that ... ``` ? ---------- nosy: +eamanu _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Ned Batchelder <ned@nedbatchelder.com> added the comment: There are hundreds of modules that are always importable. The majority of the standard library is always importable. More useful would be to annotate those modules that might not be importable, with a reason why. ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Emmanuel Arias <emmanuelarias30@gmail.com> added the comment:
More useful would be to annotate those modules that might not be importable, with a reason why.
yes, that is more reasonable. :-D ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Kushal Das <mail@kushaldas.in> added the comment: In future we should do the similar change for any module. This will be helpful for new beginners. ---------- nosy: +kushal.das _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Kushal Das <mail@kushaldas.in> added the comment: New changeset 6faad355db6c2bd4a0ade7868f245b42c04f5337 by Kushal Das (Ned Batchelder) in branch 'master': bpo-36908: 'This module is always available' isn't helpful. (#13297) https://github.com/python/cpython/commit/6faad355db6c2bd4a0ade7868f245b42c04... ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Change by miss-islington <mariatta.wijaya+miss-islington@gmail.com>: ---------- pull_requests: +13304 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
miss-islington <mariatta.wijaya+miss-islington@gmail.com> added the comment: New changeset 740a7cde9c0af5a237a7f6525b38d65a83f4fbf1 by Miss Islington (bot) in branch '3.7': bpo-36908: 'This module is always available' isn't helpful. (GH-13297) https://github.com/python/cpython/commit/740a7cde9c0af5a237a7f6525b38d65a83f... ---------- nosy: +miss-islington _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
Mariatta Wijaya <mariatta@python.org> added the comment: Thanks all. I've backported the change to 3.7. I think this is good to be closed. ---------- resolution: -> fixed stage: patch review -> resolved status: open -> closed versions: +Python 3.7, Python 3.8, Python 3.9 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue36908> _______________________________________
participants (5)
-
Emmanuel Arias -
Kushal Das -
Mariatta Wijaya -
miss-islington -
Ned Batchelder