Created on 2022-02-06 19:48 by rouilj, last changed 2022-02-06 20:00 by rouilj.
|msg7449||Author: [hidden] (rouilj)||Date: 2022-02-06 19:48|
PEP:0594 at https://python.github.io/peps/pep-0594/ discussed at: https://discuss.python.org/t/pep-594-removing-dead-batteries-from-the-standard-library/170 is deprecating a number of standard library modules used by roundup. They will be gone in 3.13. The most critical one is cgi which provides MiniFieldStorage and FieldStorage. These are used throughout the web interface cgitb is used in the cgi deployment mode (good for cheap hosting) and will refuse to start if not available. Possibilities are to: rewrite roundup to replace all cgi derived classes/methods etc. with new replacements (some cgi stuff has no replacement in standard library). We still want to support python 2 and 3. vendor the cgi/cgitb libraries for python 3 (use existing lib under python2) vendor replacement libraries (looks like python3 only) Note that not replacing or vendoring libraries makes demoing/running Roundup require third party libraries to operate. This raises the bar for people interested in Roundup. issue2551191 opened for the only other module that I think is used: crypt. Excerpts from pep and discussion: ---- https://python.github.io/peps/pep-0594/#cgi The cgi module is a support module for Common Gateway Interface (CGI) scripts. CGI is deemed as inefficient because every incoming request is handled in a new process. PEP 206 considers the module as: "[…] designed poorly and are now near-impossible to fix (cgi) […]" Replacements for the various parts of cgi which are not directly related to executing code are: parse with urllib.parse.parse_qs (parse is just a wrapper) parse_header with email.message.Message (see example below) parse_multipart with email.message.Message (same MIME RFCs) FieldStorage/MiniFieldStorage has no direct replacement --- https://discuss.python.org/t/pep-594-take-2-removing-dead-batteries-from-the-standard- library/13508/2 https://github.com/defnull/multipart is a proper replacement for cgi.FieldStorage, used by Zope, and thus by Plone, and so here to stay til the end of time
|2022-02-06 20:00:36||rouilj||set||keywords: + Effort-High, Deprecation|