There are three dozens of standard modules that can be called via python -m and their documentation doesn't mention it. They can be grouped into five categories:
-
kind of smoke tests:
-
full-fledged crossplatform utils for admin-like users and small automation:
- asyncio: like python but allows to use await in top-level script code
- cProfile, profile: runs a script under the profiler
- encodings.rot_13: a stream converter
- filecmp: a crossplatform file comparison utility
- fileinput: prints specified files one by another annotating lines with their source
- http.server: makes a directory available as a site; useful to quickly test a static site with relative links
- mimetypes: useful for batch processing of files (maybe) (gh-93096: Make mimetypes CLI tool public #93097)
- modulefinder: the objdump but for Python source files
- netrc: prints content of .netrc for a current user
- pdb
- platform: returns a single line like Windows-10-10.0.19044-SP0; can be useful in automation
- quopri: a stream converter
- tabnanny
- wsgiref.simple_server - the same as http.server but for APIs; pases a single request and exits
-
both:
-
demos with no real world application:
- curses.textpad: shows an input area; when a user closes it, prints the text back
- ftplib: a simple one-pass FTP downloader (uses ~/.netrc for login)
- getopt: just passes arguments to getopt() The module is no longer maintained after gh-106535: Soft deprecate the getopt module #105735
- imaplib: sending emails to a dead end has no sence but can be used to check if a email client works or got broken
- shlex: parses stdin using shlex() and prints the list into stdout
- smtplib: a simple e-mail client
- xmlrpc.server: serves a datetime service
-
complex matter; better leave untouched:
- idlelib.*
- tkinter.*
- turtledemo.*
- pstats
Eggs and to-be-removed modules aren't listed.
We need to decide what to do with all these undocumented categories.
I propose the following:
Linked PRs
Reactions are currently unavailable
There are three dozens of standard modules that can be called via python -m and their documentation doesn't mention it. They can be grouped into five categories:
kind of smoke tests:
full-fledged crossplatform utils for admin-like users and small automation:
both:
demos with no real world application:
complex matter; better leave untouched:
Eggs and to-be-removed modules aren't listed.
We need to decide what to do with all these undocumented categories.
I propose the following:
Linked PRs