On 5/30/06, Steven Bethard <steven.bethard@gmail.com> wrote:
[Steven Bethard]
> I think that having a package level that exactly matches the divisions
> in the Library Reference (http://docs.python.org/lib/lib.html) would
> be great.

[Brett Cannon]
> Makes sense to me.
>
[snip]
> > 5. Miscellaneous Services
>
> I don't think we necessarily want a misc package.  Should stuff that falls
> into here just be at the root level? Besides, some stuff, such as heapq,
> bisect, collections, and the User* modules could got into a data structure
> package.  I also think that a testing package would make sense.  Could also
> have a math package.

That sounds about reasonable.  One possible grouping:

Testing Stuff:
    * 5.2 doctest -- Test interactive Python examples
    * 5.3 unittest -- Unit testing framework
    * 5.4 test -- Regression tests package for Python
    * 5.5 test.test_support -- Utility functions for tests

Yep, what I was thinking but possibly renaming 'test' to another naming or putting its functions at the package top level.

Math/Numeric Stuff:
    * 5.6 decimal -- Decimal floating point arithmetic
    * 5.7 math -- Mathematical functions
    * 5.8 cmath -- Mathematical functions for complex numbers
    * 5.9 random -- Generate pseudo-random numbers
    * 5.10 whrandom -- Pseudo-random number generator

Data Structures/Collections Stuff:
    * 5.11 bisect -- Array bisection algorithm
    * 5.12 collections -- High-performance container datatypes
    * 5.13 heapq -- Heap queue algorithm
    * 5.14 array -- Efficient arrays of numeric values
    * 5.15 sets -- Unordered collections of unique elements
    * 5.16 itertools -- Functions creating iterators for efficient looping

Stuff I still don't know what to do with:
    * 5.1 pydoc -- Documentation generator and online help system
    * 5.17 ConfigParser -- Configuration file parser
    * 5.18 fileinput -- Iterate over lines from multiple input streams
    * 5.19 calendar -- General calendar-related functions
    * 5.20 cmd -- Support for line-oriented command interpreters
    * 5.21 shlex -- Simple lexical analysis

There are just going to be some things that are odd.  Those will probably just have to sit at the top-level with no place to stick them so that they get proper visibility rather than sticking them in misc, forcing people to hunt in there every time they can't find a specific module that does what they want.
 

> > 8. Unix Specific Services
> > 9. The Python Debugger
> > 10. The Python Profiler
>
> Can't the pdb and profiling going into a developer package?

I thought the same thing when I copied the list over the first time.


Well, there you go then.  It's just *that* good of an idea.  =)

-Brett
 

Steve
--
Grammar am for people who can't think for myself.
        --- Bucky Katt, Get Fuzzy
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/brett%40python.org