Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
gh-59150: Add table of runnable modules#93410
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
Uh oh!
There was an error while loading. Please reload this page.
Conversation
slateny commented Jun 1, 2022 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
arhadthedev commented Jun 1, 2022
It can be even longer, see gh-93096. |
slateny commented Jun 2, 2022
@arhadthedev Thanks for making the list - the ones I have here were just found via something like |
carlbordum commented Jun 6, 2022
I like this :) |
rhettinger commented Jul 5, 2022
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!
merwok commented Jul 5, 2022
The modules that are runnable as scripts have various degree of support and also different intended audiences. |
| .. 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).
| 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.
merwok commented Jul 10, 2022
Closing this PR as we don’t want a long list of all modules, and not in that document. |
slateny commented Jul 10, 2022
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. |
gvanrossum commented Jul 10, 2022
It doesn't really belong in the tutorial either IMO -- this information should be listed with specific modules, e.g. the |
merwok commented Jul 11, 2022 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
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. |
vstinner commented Sep 29, 2023
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_compileas I couldn't find documentation;asyncio's documentation is only on the 3.8 what's new;xmlrpc.clientdocumentation is inxmlrpc.server;pickledocumentation is inpickletool