Skip to content

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

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Doc/library/idle.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
.. _idle:

IDLE
====
:mod:`idlelib` --- IDLE
=======================
Copy link
Member

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!


.. module:: idlelib

.. moduleauthor:: Guido van Rossum <guido@python.org>
Copy link
Member

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).


73 changes: 73 additions & 0 deletions Doc/using/cmdline.rst
Original file line number Diff line number Diff line change
@@ -112,6 +112,79 @@ source.
python -m timeit -s 'setup here' 'benchmarked code here'
python -m timeit -h # for details

Other modules include
Copy link
Member

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.

Copy link
Contributor Author

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?

Copy link
Member

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.

Copy link
Member

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?

Copy link
Member

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.


.. list-table::

* - :mod:`ast`
- Process Python Abstract Syntax Trees

* - :mod:`asyncio`
- Launch a natively async REPL

* - :mod:`compileall`
- Precompile Python source modules to bytecode

* - :mod:`doctest`
- Run :func:`doctest.testmod` on a module

* - :mod:`http.server`
- Create a server that serves files in the current directory

* - :mod:`idlelib`
- Open IDLE

* - :mod:`json.tool`
- Validate and pretty-print JSON objects

* - :mod:`pickle`
- Display the contents of pickles saved as files

* - :mod:`pickletools`
- Analyse the contents of pickles saved as files

* - :mod:`profile`
- Profile Python programs

* - :mod:`site`
- Display details of Python's configuration

* - :mod:`sysconfig`
- Display additional details of Python's configuration

* - :mod:`tarfile`
- Interact with tar archives

* - :mod:`test`
- Execute Python's own regression test suite

* - :mod:`timeit`
- Microbenchmark small Python snippets

* - :mod:`tkinter`
- Open a Tk interface to verify proper installation

* - :mod:`tokenize`
- Tokenize Python source code

* - :mod:`trace`
- Trace program execution

* - :mod:`unittest`
- Find and execute unit tests

* - :mod:`webbrowser`
- Open a page in a new browser window or tab

* - :mod:`xmlrpc.client`
- Launch demo XMLRPC client

* - :mod:`xmlrpc.server`
- Launch demo XMLRPC server

* - :mod:`zipapp`
- Manage Python zip files

.. audit-event:: cpython.run_module module-name cmdoption-m

.. seealso::