[tahoe-dev] Why pyutils isn't well known

Ravi Pinjala ravi at p-static.net
Wed Jul 28 02:30:57 UTC 2010


On 07/27/10 01:24, Zooko O'Whielacronx wrote:
> On Mon, Jul 26, 2010 at 11:03 PM, Ravi Pinjala <ravi at p-static.net> wrote:
>> I'd like to second this - not trying to be harsh here, but a package
>> where the description is basically "contains good code!" is next to useless.
> 
> 
> All right, all right! So, here's a list of the files:
> 
> http://tahoe-lafs.org/trac/pyutil/browser/trunk/pyutil
> 
> At some point I will browse through this list and add a bullet-point
> about each file to the README.
> 
> Someone else could do this if they want to help. Most files have a
> docstring or comment at the top briefly describing what it is. If you
> want to help with this, you can just write a bullet-point for each
> file whose purpose is clear to you, and make a list of the names of
> all files whose purpose is unclear to you and it will be my job to add
> doc of each file on that list.
> 
> Regards,
> 
> Zooko
> _______________________________________________
> tahoe-dev mailing list
> tahoe-dev at tahoe-lafs.org
> http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
> 

assertutil.py - Provides functions to test preconditions,
postconditions, and assertions.
 * Looking at this one, I can't help but notice that the assertion
functions in here aren't disabled by running python with -O. Is that
intentional? >_>

benchutil.py - Allows you to benchmark a function by running it repeatedly.

cache.py - Contains multiple implementations of a least-recently-used
in-memory caching strategy, optimized for different situations.

dictutil.py - Provides several specialized dict implementations, as well
as some convenient functions for working with dicts.
 * By the way, it's possible now to subclass dict directly rather than
wrapping it - that could eliminate a few hundred lines of code from this
file

fileutil.py - A set of utility functions for working with files and
directories more safely.
 * I understand wanting one-liners to read/write a file, but read_file
and write_file hide all exceptions by returning None. Is that really
intentional? It seems like Python's with statement would be more
appropriate.

find_exe.py - Apparently a kludge. Might be counterproductive to
document this?

hashexpand.py - Cryptographically strong pseudo-random number generator
based on SHA256.

humanreadable.py - Provides an improved version of the builtin repr()
function.

increasing.py - Provides an implementation of a monotonically-increasing
timer.
 * By the way, would this have the same effect?
http://stackoverflow.com/questions/1205722/how-do-i-get-monotonic-time-durations-in-python/1205762#1205762

iputil.py - Provides functions for querying available local IPv4 addresses.

jsonutil.py - An encoder/decoder for the JSON format.
 * Actually, why does this exist? It looks the same as Python's json module.

lineutil.py - Removes extra whitespace from files.

logutil.py - Logs to either the Twisted logger or the Python standard
logger, depending on availability.

mathutil.py - Assorted mathematical utilities.

The rest to come after I get some food in me.

--Ravi


More information about the tahoe-dev mailing list