This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Remove formatter module
Type: enhancement Stage: resolved
Components: Versions: Python 3.10
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: EWDurbin, christian.heimes, corona10, hroncok, mdk, terry.reedy, vstinner, xtreak
Priority: normal Keywords: patch

Created on 2020-11-09 23:41 by terry.reedy, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
mywork2.patch terry.reedy, 2020-11-09 23:46
Pull Requests
URL Status Linked Edit
PR 23476 merged corona10, 2020-11-23 14:46
Messages (14)
msg380623 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-11-09 23:41
#14019 has a patch, unrelated to the issue, that adds test.test_formatter.  There still is no such file, so I open this issue to move the patch here.  It is the second version, responding to review by Ezio Melotti.

But formatter has been deprecated since 3.4.  It was originally scheduled to be removed in 3.6, but we decided to delay such removals until after 2.7 EOL.  That is now past.  Do we add tests for a deprecated module?  If so, the patch, aDo we still want to remove formatter?  If so, when?
msg380624 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-11-09 23:46
The patch is by Francisco Freire (francisco.freire) * (CLA signed).  There is apparently no way to directly move a patch from one issue to another, so I download and upload.
msg381669 - (view) Author: Dong-hee Na (corona10) * (Python committer) Date: 2020-11-23 14:27
> If so, the patch, aDo we still want to remove formatted

IMHO, 3.10 is a good time to remove formatter
msg381710 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2020-11-24 07:23
The formatter has been deprecated for a long time. It's been issuing a DeprecationWarning on import since 3.5. Let's remove it.
msg381725 - (view) Author: Dong-hee Na (corona10) * (Python committer) Date: 2020-11-24 13:13
@christian.heimes

Thank you Christian

I also discuss this issue on python-dev and everybody agree with removing this module.

I will remove this module ;)
msg381746 - (view) Author: Karthikeyan Singaravelan (xtreak) * (Python committer) Date: 2020-11-24 13:56
This was proposed earlier : https://bugs.python.org/issue39352
msg381772 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-11-24 20:17
I took a look at the module and its doc.  It is based on a 1980s model of document processing that has been somewhat superseded by html, xml, and pdf.  The module itself has been pretty well superseded by stdlib and external moudles.  IDLE, for instance, displays idle.html in a tkinter Text widget about 160 lines by subclassing htmlparser.  

One obsolescent 'feature' is that fonts are defined by (size, italic, bold, teletype), where 'teletype' is a bool of undefined meaning.  There is no way I saw to designate a font family like 'Source Code Pro' or 'Monaco'.

Since the module is unmaintained and frozen, anyone importing it can incorporate whatever class code they need.
msg381828 - (view) Author: Dong-hee Na (corona10) * (Python committer) Date: 2020-11-25 13:17
New changeset be319c0c108e308fb7ed6ec9522e969fdffd1253 by Dong-hee Na in branch 'master':
bpo-42299: Remove formatter module (GH-23476)
https://github.com/python/cpython/commit/be319c0c108e308fb7ed6ec9522e969fdffd1253
msg381829 - (view) Author: Dong-hee Na (corona10) * (Python committer) Date: 2020-11-25 13:19
@terry.reedy @vstinner

Thank you, Terry and Victor, and goodbye formatter module!
msg381833 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2020-11-25 14:20
Thread on python-dev:
https://mail.python.org/archives/list/python-dev@python.org/thread/ZEDIBBYCWI34GVOXDEUYXQY3LYXOFHA2/

Copy of Fred Drake's email:

"Oh, the memories!  Looking at docs, I can vaguely recall using the
API, but... it definitely doesn't belong in the stdlib. -Fred"
msg381917 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-11-26 22:23
A coda on my 'obsolete and superseded' claim: text formatting events have 2 sources -- the text being displayed and user actions while reading.  formatter somewhat mixes these together.

html.parser.HTMLParser generates events from the text in the form of calls to handle_xyz methods, where 'xyy is most commonly 'starttag', 'data', 'endtag'.  HTMLPareser subclasses replace the default 'pass' implementations.  So the idea is similar to  formatter.NullFormatter.  IDLE uses the tkinter Text widget as the writer instance for its HTMLParser subclass.  Responses to events may depend on user settings, which may be changed by user events.

For a GUI app, user events are handled by the GUI framework and may or mayy not require user coding to handle.
msg384528 - (view) Author: Miro Hrončok (hroncok) * Date: 2021-01-06 18:15
I am confused. Why is this still online when the source was removed?

https://docs.python.org/3.10/library/formatter.html
msg384535 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-01-06 19:29
https://docs.python.org/3.10/library/index.html no longer links to https://docs.python.org/3.10/library/misc.html but misc.html and formatter.html are still there. It looks like a bug in the build and update process. I bet it's not removing files.

Ee, could you take a look, please?
msg384536 - (view) Author: Ee Durbin (EWDurbin) * (Python triager) Date: 2021-01-06 19:31
Issues relating to documentation build likely need to be looked at and addressed by Julien. If it does end up being an infra issue, feel free to read me to nosy.
History
Date User Action Args
2022-04-11 14:59:37adminsetgithub: 86465
2021-01-06 19:31:45EWDurbinsetnosy: + mdk
messages: + msg384536
2021-01-06 19:29:22christian.heimessetnosy: + EWDurbin
messages: + msg384535
2021-01-06 18:15:41hroncoksetnosy: + hroncok
messages: + msg384528
2020-11-26 22:23:45terry.reedysetmessages: + msg381917
2020-11-25 14:20:17vstinnersetmessages: + msg381833
2020-11-25 13:19:31corona10setstatus: open -> closed

nosy: + vstinner
messages: + msg381829

resolution: fixed
stage: patch review -> resolved
2020-11-25 13:17:38corona10setmessages: + msg381828
2020-11-24 20:17:25terry.reedysetmessages: + msg381772
2020-11-24 13:56:50xtreaksetnosy: + xtreak
messages: + msg381746
2020-11-24 13:13:23corona10setmessages: + msg381725
2020-11-24 13:11:41corona10settitle: Add test_formatter (or remove deprecated formatter module?) -> Remove formatter module
2020-11-24 07:23:53christian.heimessetnosy: + christian.heimes
messages: + msg381710
2020-11-23 14:46:42corona10setpull_requests: + pull_request22368
2020-11-23 14:27:01corona10setnosy: + corona10
messages: + msg381669
2020-11-09 23:46:52terry.reedysetfiles: + mywork2.patch
keywords: + patch
messages: + msg380624
2020-11-09 23:41:26terry.reedycreate