-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-59150: Add table of runnable modules #93410
Conversation
It can be even longer, see gh-93096. |
@arhadthedev Thanks for making the list - the ones I have here were just found via something like |
I like this :) |
Guido, the last time this came up, I think you recommended not doing this on the theory that the standard library is primarily a library for people writing software and not a collection of command-line tools, some of which were added as simple demonstrations and were not intended to be stable production tools. And generally the test code is an implementation detail, just a convenience for the module maintainers and not something guaranteed by the docs. |
IDLE | ||
==== | ||
:mod:`idlelib` --- IDLE | ||
======================= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IDLE is primarily an application, and secondly a module for use by IDLE extension writers. So I wouldn’t change this heading!
The modules that are runnable as scripts have various degree of support and also different intended audiences. |
:mod:`idlelib` --- IDLE | ||
======================= | ||
|
||
.. module:: idlelib | ||
|
||
.. moduleauthor:: Guido van Rossum <guido@python.org> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As long as we're making updates to this, while I originally wrote it, maybe the more useful information is the current maintainer (Terry Reedy).
@@ -112,6 +112,79 @@ source. | |||
python -m timeit -s 'setup here' 'benchmarked code here' | |||
python -m timeit -h # for details | |||
|
|||
Other modules include |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have to agree with @rhettinger that this is not the right place to document this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you say that such a list should be on some other page instead, or that it shouldn't be on the official docs at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel that it doesn't make sense for such a list to exist. What would you do with such a list? It's like making a list of all UNIX commands that have a -j
flag.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's like making a list of all UNIX commands that have a -j flag.
Who is a target audience of the tools?
Currently the documentation is dedicated to Python programmers and CPython plugin authors. The most of tools, however, seems to be for more broad audience like sysadmin users. Should we force them to sift through a sizable man(3)
-like docs while they, expecting just man(1)
, need nothing more than simple advertisement of available CLI tools to keep them on the belt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's as good an argument against inluding this list as any, because half the commands supported here are of no use to sysadmin users (unless they are also Python programmers). If you want to post this list (or something like it) in a blog or on realpython.com, feel free, but the Python docs are for Python programmers.
Closing this PR as we don’t want a long list of all modules, and not in that document. |
The comments above said that there shouldn't be a list at all, and if I'm reading it right then sublists, even if grouped well, would seem to follow the same reasoning. I'm not too sure where the list would better go either if not the section describes the command line option. Maybe parts of the tutorial that touch on these modules can have an extra line that references the cli option, but then the list isn't quite a list anymore. |
It doesn't really belong in the tutorial either IMO -- this information should be listed with specific modules, e.g. the |
From my previous message here or Nick’s message on the ticket, some examples of specific subsets could be:
Having written this, I now agree with Guido that a specific mention in each module’s specific docs is enough, and should be done on a case by case basis (and not for all of them). Will close the issue too. |
Implemented in issue gh-109435 as new documentation page: https://docs.python.org/dev/library/cmdline.html If you prefer a table, you can propose a PR to enhance how the list is rendered. |
#59150
https://docs.python.org/dev/using/cmdline.html#cmdoption-m
Looks roughly like
but much longer. For checking that the docs mention
-m
:Skipped
py_compile
as I couldn't find documentation;asyncio
's documentation is only on the 3.8 what's new;xmlrpc.client
documentation is inxmlrpc.server
;pickle
documentation is inpickletool