I'm pleased to announce the release of lazy.py version 0.7, released
under the GNU LGPL.
lazy.py can be obtained from:
Release Name: 0.7
lazy.py provides support for lazy expressions, lazy tuples
(functional programming languages call these lazy lists, but since lists
mutable in Python, tuples are closer in meaning), and lazy equivalents
for map, filter, reduce, and zip.
New in this release:
Lazy has become its own module now, since functional was growing
10/18/2000 - Version 0.7:
Removed from functional.py to become separate module.
I'm pleased to announce the release of threadpool.py version 0.9,
released under the GNU LGPL.
threadpool.py can be obtained from:
Release Name: 0.9
This module uses the threading and Queue modules to create a pool of
After creating an instance of ThreadPool, one queues functions to be
excecuted. The pool dispatches the functions to the waiting threads,
When queueing a function on the pool with *pool*.put(), an instance
of ReturnValue is returned. ReturnValue is a subclass of
can be used in any context that a regular lazy expression can. When
a ReturnValue, the evaluating thread will block until the other thread
completed its work and loaded the return value of the function into the
VLocks are an alternative to RLocks which include a visible queue
for the lock.
lock, unlock, getLockFor, and deleteLockFor work with a module-level
dictionary of objects to locks, and can be more convenient than working
lock objects directly.
Locked and Async are callable wrappers around a function. Async calls
immediately after queueing their function on a thread pool, while Locked
first acquire the lock they were passed on creation, call their
release the lock.
Fixed endless loop bug when an exception was raised.
Move to SourceForge, release 0.8
I'm pleased to announce the release of functional.py version 0.7,
released under the GNU LGPL.
functional.py can be obtained from:
Release Name: 0.7
functional.py provides support for a functional style of Python
It includes support for closures, curried functions, many higher-order
functions for composing, joining or otherwise manipulating functions
and other callables.
New in this release:
All the functors (callable classes) now descend from Functor, a
provides facilities for masquerading as a function. This allows
curries and disjoins to be passed to code which expects to be able
inspect it for things like the names of its arguments, default
These functors all provide a SimCode instance as their func_code
which has most of the information that a real code object would
helps complete the illusion.
This release fixes bugs which affected the curry and rcurry
functors. As a
result, curry and rcurry will now work with any callable, not only
and methods. This includes *classes* as well, so you can now pass a
as the first argument to curry, and when the curried function is
the return value will be a new instance of the class.
The Lazy and LazyTuple classes, along with related items, have been
to their own module, lazy.py.
10/18/2000 - Version 0.7:
Fix for bug in getMinimumArgCount which returned misleading results
Allow classes as first argument to curry and rcurry.
All functors now Functor subclasses.
Removed lazy functionality to lazy.py
10/12/2000 - Version 0.6:
Fix for LazyTuples of length zero (thanks to Alex Martelli)
Added new functions/functors:
10/1/2000 - Initial release 0.5
On Tue, 17 Oct 2000 09:03:33 -0700, Brian Mailman
>Russ Allbery wrote:
>> Brian Mailman <bmailman(a)sfo.com> writes:
>> > Sheila King wrote:
>> >> Here's one I came across recently, that looks promising:
>> >> http://tgos.org/newbie/
>> > Before you start pointing people there, please subscribe to alt.config
>> > and read all that "The Guardian of Sailor Moon" (tgos) has to say about
>> > newsgroup creation.
>> The content in the above pages isn't too bad, though, although I could
>> nit-pick some of the technical details.
>No, it isn't, and there's plenty I agree with him about. There's also a
>lot of things I don't. It seems the details you'd nitpick some find to
>be major--and not being a sysadmin, (I only lurk in nanap) I can't tell
>who's right. I believe that listing both categories might be offtopic
>for this list and I was attempting to make a neutral statement so that
>Sheila King could ascertain for herself the provenance of the advice.
I've never decided whether TGOS is a kook with spells of rationality or
a sane guy who goes crazy on certain topics. In any case he's not in my
killfile yet, although I've been sorely tempted of late. :)
In a nutshell, he keeps telling proponents they don't need a charter for
a newsgroup knowing full well there are users coming to alt.config
to say their ISP won't carry a group because there is no charter. His
FAQ... ignore justification, traffic measurements, charters....
conflicts with all the other FAQs on group creation.
On Mon, 16 Oct 2000, Sheila King wrote:
>Here's one I came across recently, that looks promising:
Thanks for the heads-up, Sheila.
I did notice that they erroneously define Ob as "obviously," whereas
in Usenet I've always known it to stand for "obligatory" (i.e.
"ObSoc.culture.hawaii: Okay, so I'll admit Hawaii pineapples DO taste
better"). I can't find a way to notify them though; the "contact TGOS"
link is not a link. Oy.
\0/ "Packing tips for one-bag trips" | Baglady Lani Teshima, MLIS/tech writer
|D The Travelite.FAQ--Get enLITEned | <lani(a)lava.net> IM/eBay: Traveliter
/< at <http://www.travelite.org> | Home: http://www.lava.net/~lani
soc.culture.hawaii co-moderator, Mouseplanet columnist, Black Rock Ranger
I've just released pybliographer-1.0.6, available from:
Pybliographer is a tool for handling bibliographic databases. It
provides an homogeneous interface over several bibliographic formats,
and powerful search capabilities. It can interact with LyX.
* Works with Python 1.6 & 2.0
* Capability to create alternate key generators
* Fixed the Refer -> BibTeX converter for special characters (angström)
* a working gnome 1.0.x environment for the graphical interface
* gnome-python >= 1.0.53
* python >= 1.5.2
I am happy to announce that Python 2.0 is released. I thank my
colleagues at BeOpen PythonLabs and the many volunteers in the Python
developer community for their incredible work on this release over the
past months. Please pick up the new release at
There you will find a Windows installer, a source tarball, RedHat
RPMs, downloadable and online documentation, and a long list of new
features and fixed bugs. Among the new features in Python 2.0 are:
- Augmented assignment, e.g. x += 1
- List comprehensions, e.g. [x**2 for x in range(10)]
- Extended import statement, e.g. import Module as Name
- Extended print statement, e.g. print >> file, "Hello"
- Collection of cyclical garbage
For a fuller discussion of the changes in Python 2.0 since Python
1.5.2, please see the article "What's New in Python 2.0" by A.M.
Kuchling and Moshe Zadka:
All major reported bugs have been fixed in this final release. We've
gone through an extremely thorough set of beta releases followed by a
release candidate, and therefore we expect that this release will be
stable and virtually problem-free. If you nevertheless run into a
bug, use the SourceForge bug tracker to report it:
--Guido van Rossum (home page: http://www.python.org/~guido/)
Gdchart-py-0.5 is available.
Gdchart-py is a Python interface to Bruce Verderaime's GDChart library,
which produces charts and graphs in PNG, JPEG, and GIF format.
Changes in version 0.5:
- Uses gd-1.8.3 (bug fixes)
- Uses gdchart-0.951 (new options and chart styles)
- Now builds against Python-1.6 (still builds against 1.5.x).
- option() now returns a dict of current settings when called with no args
- GIF and JPEG support are selectable at build time
- The build is easier and more solid
- Minor bug fixes
I have tested this version on WinNT 4.0 and Linux/x86. The makefile
includes settings for Solaris and HP-UX (untested). If you have trouble on
these platforms, or can provide settings for other platforms, please let me
Documentation, source code, and Win32 binaries are available:
We are making the first announce of the first stable release (1.0) of
our package pyclimate, which presents some tools used for climate
variability analysis and which make extensive use of Numerical Python
and C. It is released under the GNU Public License.
Changes from the previous release
Version 1.0--October, 2000.
1) Improved tests. They are more accurate, reliable, informative,
comprehensive and use less disk space.
2) The package compiles using distutils.
This feature has been checked on FreeBSD, Linux and OSF platforms.
3) Some minor typos corrected in the documentation.
4) Added KPDF.c, a extension module to estimate univariate
and multivariate kernel--based probability density functions.
5) Added a class to compute the vertical component
of the curl of a vectorial field in diffoperators.py.
6) DCDFLIB.C is currently distributed with the package.
7) KZFilter.py has been converted into a general
purpose LinearFilter.py which holds the basic operations
of any linear filter. There are two different subclasses currently, the
Lanczos filter and the previous Kolmogorov--Zurbenko filter, KZFilter.py.
The user can define new filters just by redefining the filter
coefficients subclassing LinearFilter.
The package also contains (from release 0.0):
-ASCII files (simple, but useful)
-ncstruct.py: netCDF structure copier. From a COARDS compliant netCDF
file, this module creates a COARDS compliant file,
copying the needed attributes, comments, and so on in
Time handling routines
* JDTime.py -> Some C/Python functions to convert from date to Scaliger's
Julian Day and from Julian Day to date. We are not trying to
replace mxDate, but addressing a different problem.
In particular, this module contains a routine
especially suited to handling monthly time steps
for climatological use.
* JDTimeHandler.py -> Python module which parses the units
attribute of the time variable in a COARDS
file and which offsets and scales adequately
the time values to read/save date fields.
Interface to DCDFLIB.C
A C/Python interface to the free DCDFLIB.C library is provided. This library
allows direct and inverse computations of parameters for several
probability distribution functions like Chi^2, normal, binomial, F,
noncentral F, and many many more.
Empirical Orthogonal Function analysis based on the SVD decomposition of
the data matrix and related functions to test the reliability/degeneracy
of eigenvalues (truncation rules). Monte Carlo test of the stability
of eigenvectors to temporal subsampling.
SVD decomposition of the correlation matrix of two datasets, functions
to compute the expansion coefficients, the squared cumulative covariance
fraction and the homogeneous and heterogeneous correlation maps.
Monte Carlo test of the stability of singular vectors to temporal
Multivariate digital filter
Multivariate digital filter (high and low pass) based on the
Differential operators on the sphere
Some classes to compute differential operators (gradient and divergence)
on a regular latitude/longitude grid.
GNU General Public License Version 2.
To be able to use it, you will need:
1. Python ;-)
2. netCDF library 3.4 or later
3. Scientific Python, by Konrad Hinsen
IF AND ONLY IF you really want to change the C code (JDTime.[hc] and
pycdf.[hc]), then, you will also need SWIG.
Now, we use distutils. The installation is simpler.
Postscript and PDF versions of the manual are included in the
distribution. We are preparing an even better version of the
Any feedback from the users of the package will be really appreciated
by the authors.
Jon Saenz, jsaenz(a)wm.lc.ehu.es
Juan Zubillaga, wmpzuesj(a)lg.ehu.es
Jesus Fernandez, chus(a)wm.lc.ehu.es
<P><A HREF="http://starship.python.net/crew/jsaenz/pyclimate">PyClimate 1.0</A> - Several routines for the analysis of climate variability. (16-Oct-00)