PythonInEssential

python-essential -- batteries excluded

Package name: essential, base? no-batteries, discharged-batteries? Solar Python?

Package Contents

  • Dependencies on essential packages only
  • Same "functionality" as perl-base
  • Should work without /usr ?
  • Does package size matter?

Package size

Sizes with batteries included, stripped extension modules, no .pyc and .pyo files:

  1004    bin/
  120     lib/python2.3/lib-old
  4       lib/python2.3/site-packages
  532     lib/python2.3/encodings
  208     lib/python2.3/email
  196     lib/python2.3/compiler
  20      lib/python2.3/hotshot
  80      lib/python2.3/logging
  80      lib/python2.3/bsddb
  284     lib/python2.3/distutils/command
  680     lib/python2.3/distutils
  152     lib/python2.3/xml/dom
  8       lib/python2.3/xml/parsers
  72      lib/python2.3/xml/sax
  236     lib/python2.3/xml
  32      lib/python2.3/curses
  36      lib/python2.3/plat-linux2
  1680    lib/python2.3/lib-dynload
  6896    lib/python2.3
  7952    lib/

Largest submodules:

  • 932kB: unicodedata & encodings

  • 680kB: distutils
  • 350kB: pyexpat and xml

Contents, derived from perl-base

perl-base contents and mapping to equivalent python modules

perl-base

python-essential

comments

AutoLoader

\-

B, B\:\:Deparse

compiler?

compiler backend, essential?

base

\-

bytes

\-

Perl pragma to force byte semantics rather than character semantics

Carp

\-

Config

sys

constant

\-

perl only

Cwd

os

Data\:\:Dumper

pickle, cPickle

repr function for non equivalent usage, pprint for formatted output

DynaLoader

\-

Errno

errno

Exporter

\-

Fcntl

fcntl, os, stat

fields

\-

perl only

File\:\:Glob

glob, fnmatch, os

File\:\:Spec

os.path

Getopt

getopt, optparse

integer

\-

perl only

IO

IO\:\:Handle

\-

builtin functions

IO\:\:Seekable

\-

builtin functions

IO\:\:File

\-

builtin functions

IO\:\:Pipe

os, popen2

IO\:\:Socket

socket, _socket

IO\:\:Dir

os, os.path

IO\:\:Select

select

IO\:\:Poll

select

IPC\:\:Open2

popen2

IPC\:\:Open3

popen2

lib

sys

sys.path modifications

List\:\:Util

\-

builtin functions

locale

\?

switch locale for builtins

overload

\-

perl only

POSIX

os, posix

re

\-

alter regexp behaviour

Scalar\:\:Util

\-

perl only

SelectSaver

\-

perl only

Socket

socket, _socket

strict

\-

perl only

Symbol

\-

perl only

Text\:\:ParseWords

string

string methods

Text\:\:Tabs

string

Text\:\:Wrap

textwrap

utf8

\-

utf8 encoding for sources

warnings

warnings

warnings\:\:register

warnings

XSLoader

\-

perl only

List of modules

  • _socket, cPickle, errno, fcntl, fnmatch, getopt, glob, optparse, os pickle, popen2, select, socket, stat, string, sys, textwrap, warnings

Add

List of modules and dependent modules:

  • StringIO, UserDict, _socket, _sre, array, binascii, cPickle, cStringIO, copy_reg, errno, fcntl, fnmatch, getopt, glob, linecache, marshal, optparse, os, pickle, popen2, posixpath, pwd, re, select, socket, sre, sre_compile, sre_constants, sre_parse, stat, string, strop, struct, textwrap, time, types, warnings

Do not include:

  • _ssl, pickle, cPickle,

For 2.4, include:

  • subprocess

Contents, minimum

What to include

empty

What to exclude

  • distutils: package installations only, but: some things like distutils.get_platform used at runtime as well.
  • encodings & various codecs

    • + python2.4 adds 800kB for CJK-codecs
  • different server modules
    • + SimpleXMLRPCServer, DocXMLRPCServer, CGIHTTPServer, BaseHTTPServer, SimpleHTTPServer, smtpd
  • network modules not used during system startup
    • + nntplib, gopherlib, poplib, imaplib
  • development stuff:
    • + compiler, parser, pyclbr
    • + cgitb
    • + profile, pstats, timeit
    • + hotshot, _hotshot
    • + pdb, bdb
    • + tabnanny
    • + test, unittest
  • Tools
    • + pydoc
  • Multimedia libs
    • + audioop
    • + imageop
    • + aifc, toaiff
    • + sunau, sunaudio
    • + wave
    • + chunk
    • + colorsys
    • + rgbimg
    • + imghdr
    • + sndhdr
    • + ossaudiodev, audiodev, linuxaudiodev (?)
  • Not essential:
    • + nis
    • + user
    • + this
  • Deprecated stuff / not used in base lib / not recommended for use
    • + UserList, UserString

    • + dl
    • + reconvert, regex_syntax, regex, regsub, pcre, pre
    • + TERMIOS, FCNTL

List of modules and dependent modules:

  • Bastion, ConfigParser, Cookie, HTMLParser, MimeWriter, Queue, SocketServer, StringIO, UserDict, future, _codecs, _csv, _curses, _locale, _random, _socket, _sre, _strptime, _symtable, _weakref, _xmlplus, anydbm, array, asynchat, asyncore, atexit, base64, binascii, binhex, bisect, bsddb, cPickle, cStringIO, calendar, cgi, cmath, cmd, code, codecs, codeop, commands, compileall, copy, copy_reg, crypt, csv, curses, datetime, dbhash, difflib, dircache, dis, dumbdbm, dummy_thread, dummy_threading, email, encodings, errno, exceptions, fcntl, filecmp, fileinput, fnmatch, formatter, fpformat, ftplib, getopt, getpass, gettext, glob, grp, gzip, heapq, hmac, htmlentitydefs, htmllib, httplib, ihooks, imp, imputil, inspect, itertools, keyword, linecache, locale, logging, mailbox, mailcap, markupbase, marshal, math, md5, mhlib, mimetools, mimetypes, mimify, mmap, modulefinder, multifile, mutex, netrc, new, opcode, operator, optparse, pickle, pickletools, pipes, pkgutil, platform, popen2, posix, posixfile, posixpath, pprint, pty, pwd, py_compile, pyexpat, quopri, random, re, repr, resource, rexec, rfc822, robotparser, rotor, sched, select, sets, sgmllib, sgmlop, sha, shelve, shlex, shutil, site, smtplib, socket, sre, sre_compile, sre_constants, sre_parse, stat, statvfs, string, stringprep, strop, struct, symbol, symtable, syslog, tarfile, telnetlib, tempfile, termios, textwrap, thread, threading, time, timing, token, tokenize, trace, traceback, tty, types, tzparse, unicodedata, urllib, urllib2, urlparse, uu, warnings, weakref, webbrowser, whichdb, whrandom, xdrlib, xml, xmllib, xmlrpclib, xreadlines, zipfile, zlib

Module dependencies:

Contents, delimited by dependencies only

Modules to exclude:

  • Deprecated Modules (lib-old):
    • addpack, cmpcache, cmp, codehack, dircmp, dump, find, fmt, grep, lockfile, newdir, ni, packmail, Para, poly, rand, tb, util, whatsound, zmod, stringold
  • Dependencies not in essential:
    • + _bsddb
    • + _curses_panel
    • + readline
    • + _ssl
    • + _tkinter, FixTk, Tkconstants, Tkinter

    • + bz2
    • + gdbm
    • + mpz (removed in 2.4)
  • Other modules to remove:
    • + _testcapi
    • + os2emxpath, ntpath, nturl2path, macurl2path, macpath

List of modules and dependent modules:

  • BaseHTTPServer, Bastion, CGIHTTPServer, ConfigParser, Cookie, DocXMLRPCServer, FCNTL, HTMLParser, MimeWriter, Queue, SimpleHTTPServer, SimpleXMLRPCServer, SocketServer, StringIO, TERMIOS, UserDict, UserList, UserString, future, _codecs, _csv, _curses, _hotshot, _locale, _random, _socket, _sre, _strptime, _symtable, _weakref, _xmlplus, aifc, anydbm, array, asynchat, asyncore, atexit, audiodev, audioop, base64, bdb, binascii, binhex, bisect, bsddb, cPickle, cStringIO, calendar, cgi, cgitb, chunk, cmath, cmd, code, codecs, codeop, colorsys, commands, compileall, compiler, copy, copy_reg, crypt, csv, curses, datetime, dbhash, difflib, dircache, dis, dl, dumbdbm, dummy_thread, dummy_threading, email, encodings, errno, exceptions, fcntl, filecmp, fileinput, fnmatch, formatter, fpformat, ftplib, getopt, getpass, gettext, glob, gopherlib, grp, gzip, heapq, hmac, hotshot, htmlentitydefs, htmllib, httplib, ihooks, imageop, imaplib, imghdr, imp, imputil, inspect, itertools, keyword, linecache, linuxaudiodev, locale, logging, mailbox, mailcap, markupbase, marshal, math, md5, mhlib, mimetools, mimetypes, mimify, mmap, modulefinder, multifile, mutex, netrc, new, nis, nntplib, opcode, operator, optparse, ossaudiodev, parser, pcre, pdb, pickle, pickletools, pipes, pkgutil, platform, popen2, poplib, posix, posixfile, posixpath, pprint, pre, profile, pstats, pty, pwd, py_compile, pyclbr, pydoc, pyexpat, quopri, random, re, reconvert, regex, regex_syntax, regsub, repr, resource, rexec, rfc822, rgbimg, robotparser, rotor, sched, select, sets, sgmllib, sgmlop, sha, shelve, shlex, shutil, site, smtpd, smtplib, sndhdr, socket, sre, sre_compile, sre_constants, sre_parse, stat, statvfs, string, stringprep, strop, struct, sunau, sunaudio, symbol, symtable, syslog, tabnanny, tarfile, telnetlib, tempfile, termios, test, textwrap, this, thread, threading, time, timeit, timing, toaiff, token, tokenize, trace, traceback, tty, types, tzparse, unicodedata, unittest, urllib, urllib2, urlparse, user, uu, warnings, wave, weakref, webbrowser, whichdb, whrandom, xdrlib, xml, xmllib, xmlrpclib, xreadlines, zipfile, zlib

CategoryArchive

PythonInEssential (last edited 2008-08-06 16:16:17 by localhost)