[Python-3000] PEP 3108: Standard Library Reorganization

Ronald Oussoren ronaldoussoren at mac.com
Wed Jan 3 21:26:50 CET 2007


On 2 Jan, 2007, at 1:14, Brett Cannon wrote:
>> * buildtools
> 2.3

This one is still used by buildapplet (a mac specific tool/module). 
However, see below for more on this.
> * cfmfile
> 2.4

mac specific, I don't know if this works on OSX (Jack probably knows).
> * macfs
> 2.3

Mac specific, I have no idea whether this is still in use.
> * Mac
> + applesingle
> - Undocumented.
> * AppleSingle is a binary file format for A/UX.
> + A/UX no longer distributed.

No problems here.
> * UNIX
> + nis
> - Wrapper for NIS.
> * NIS has been replaced by LDAP, DNS, and Kerberos.

That's rather optimistic, NIS is still in active use. NIS is often 
easier to setup than LDAP/Kerberos, especially with older proprietary 
unix versions.
> * telnetlib
> + Telnet is not used very much anymore.
> - Telnet is unsafe.
> - Most people use SSH instead.

I still use telnet to connect to embedded systems, or even ancient 
unix systems. I must admit that I don't often use the telnetlib 
module but mostly just use plain socket connections and ignore the 
telnet protocol.
> * asynchat/asyncore
> + Third-party libraries provide better solutions.
> - twisted [#twisted]_
> + Deprecation previously supported [#py-dev-summary-2004年11月01日]_

Asyncore is still in active use, also not everyone agrees that 
Twisted is better.
> Modules to Rename
> =================
>>> PEP 8 specifies that modules "should have short, lowercase names,
> without underscores" [#pep-0008]_.

Why does the restriction on underscores exist? Removing that 
restriction would make lowercase-only names easier to use 
(basehttpserver vs. base_http_server).
> * autoGIL
> autogil

This one is mac specific. It's probably possible to completely drop 
this one with some changes to the Carbon bindings.
> * Carbon
> carbon

Also mac specific. I'm pretty sure the capitalization is on purpose, 
this is a wrapper for Apple's Carbon libraries.
> * EasyDialogs
> easydialogs
> * FrameWork
> framework

Also mac specific. Framework is badly documented and hasn't even been 
updated to support Carbon Events, which itself is ancient technology 
by now.
> * MacOS
> macos

> * MiniAEFrame
> miniaeframe

Mac specific.
> * Nav
> nav

Mac specific.
> * PixMapWrapper
> pixmapwrapper

Mac specific
> * W
> w

Mac specific and ancient (see Framework). It's also no longer present 
in the trunk.
>>> Merging C and Python implementations of the same interface
> ----------------------------------------------------------
>> Several interfaces have both a Python and C implementation. While it
> is great to have a C implementation for speed with a Python
> implementation as fallback, there is no need to expose the two
> implementations independently in the stdlib. For Python 3.0 all
> interfaces with two implementations will be merged into a single
> public interface.

+lots on that. A Python and C implementation that are almost but not 
quite the same can be confusing at times.
> Open Issues
> ===========
> * mac
> + Various Mac-specific modules.
> + Same can be done for other platform-specific code.

The mac libraries need some serious love. Most of the extensions and 
corresponding python libraries are generated from Apple's headers 
files, but generating them requires the old OS9 SDK. It should be 
possible to convert the toolchain to use the current OSX headers, but 
that requires someone that either knows how bgen works or is willing 
to spend time to learn bgen.
Several parts of the mac library should be deprecated in 2.6 and 
removed in 3.0. Applescript/OSA support is an example of that: the 
applescript support in the stdlib is awkward to use and has some bugs 
(especially on intel macs). There's also a much better way to 
interface with Applescript/OSA: appscript (http:// 
appscript.sourceforge.net/).
Support for CoreFoundation should also be dropped, Carbon.CF is 
incomplete and barely tested. I'm already working on extending PyObjC 
to include full support for CoreFoundation (and other frameworks 
based on CF) [http://pyobjc.sf.net].
>> Modules reliant on obsolete/rarely used file formats?
> -----------------------------------------------------
>> Several modules in the stdlib work on a specific file format. It is
> possible some of these formats are no longer used and thus the stdlib
> modules for them can go. Below is a list of some modules which rely
> on a file format that may be obsolete.
>> * aifc
> AIFF and AIFF-C audio files. Appears to be only user of the cl
> module (which is undocumented).

AIFF is not an obsolete file format (http://en.wikipedia.org/wiki/AIFF).
> * binhex
> binhex4 encoding.

binhex is still used in the mac world, although most software seems 
to move to more cross-platform-friendly formats.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3562 bytes
Desc: not available
Url : http://mail.python.org/pipermail/python-3000/attachments/20070103/d628ead7/attachment-0001.bin 


More information about the Python-3000 mailing list

AltStyle によって変換されたページ (->オリジナル) /