The standard library logging package is very powerful, but
does not scale *down* well.
Any configuration -- even just saving messages to a file
rather than the console -- requires a fair amount of setup
or glue code.
easylog wraps the standard library, to minimize the amount
of logging-specific code in your own script or application.
>>> from easylog import critical, error, warning, debug, info
>>> debug("getFoo requesting %d %s", 42, "answers")
>>> error("getFoo says %d of those %s are lousy!", 19, "answers")
ERROR:easylog.easylog:getFoo says 19 of those answers are lousy!
Both messages are captured in the logfile, but only the error
is shown onscreen.
If you want to change the logfile name/which messages are
captured/the output format, etc, you can do that with a single call.
Alpha version 0.2.0 is available under the Python Software Foundation
License at http://sourceforge.net/projects/easylog/
Please send comments to JimJJewett(a)yahoo.com.
<P><A HREF="http://sourceforge.net/projects/easylog/">easylog 0.2.0</A>
works with the standard logging package to minimize logging-specific
code in your application.. (05-04-04)
PyMatrix is a package, based on numarray, which provides matrix
arithmetic for the Python user.
This is version 0.0.0b Pre-Alpha release. Thanks to those who commented
on the initial release in November 2003.
The package is available for download from:
I would appreciate comments on the current functionality and suggestions
as to other capabilities which could usefully be integrated into the
Prerequisite: numarray 0.9, which is available from:
The package has been developed under Windows. Reports of usage under
Linux would be of particular interest.
A python resource page with various python modules available.
This is a set of functions that provide a binary to ASCII encoding
(based on a user definable TABLE) and binary interleaving which can be
used for combining files or time/datestamping data.
The purpose of this is that an encrypted password can be timestamped
and then included as ASCII in a hidden form field - in the HTML output
of a CGI. This gives a convenient way of providing a 'user login' with
a CGI - but the password (or it's SHA hash) that is hidden in the HTML
is 'time stamped' so that even if is extracted from the HTML it can't
be used once it has expired. Conceivably, the binary interweave
functions could be used for combining, 'watermarking' or timestamping
any data. The binary to ascii function is no 'better' than the
binascii module - but the mapping is user definable. It can be used
for storing *any* binary data as ascii - e.g. an SHA hash in a
Other Modules on this Page :
ConfigObj 2 - simple config file parser that behaves like a
listparser - parses strings into lists (including nested lists)
dateutils - a set of functions for handling and working out dates
csv_s - a very simple module for reading/writing/comparing CSV
Nanagram - not really a module, a Tkinter desktop application for
finding anagrams. Make silly anagrams of your friends names ! Great
fun. Also available as a CGI for including on your own website.
Guestbook - again, not really a module. The Voidspace Python
Guestbook. Uses HTML templates for simple integration into your own
ConfigObj is a lightweight and easy to use config file parser. It
allows you and your users to write simple text config files - and for
you to easily load, parse, change and save them. In practise, you hand
ConfigObj a filename and it parses the values from keywords in the
file. For adding, retreiving or changing values/keywords it then
behaves liek a normal python dictionary. You can then write the edited
data back to file if you need to with a simple configobj.write()
command. You can give it a list of keywords to parse - or simply have
it find all the keywords in the file. Comments inline with keywords
Not only this, but each value can either be a single value *or* a list
of values. This now includes lists of lists !! In other words each
element of a list, can itself be a list. This is implemented using
listparser - a simple module with functions for reading lists from a
string and also turning lists back into strings. A useful way of
storing data in a readable format. This module is available seperately
if you want but included in the configobj2 zip.
This is a set of functions for dealing with dates - written for a
little tool called 'Victory Days'. They are particularly useful for
dealing with appointments - e.g. the second Tuesday in March etc...
The functions will tell you what day of the week a date is, work out
the 'Julian day number' of a date is, correctly add numbers of days
(weeks, months etc) to a date and tell you the number of days between
a date, format a datestring etc. Full correction for leap years and
A very simple module for reading/writing/comparing CSVs. For use where
you have a version of python prior to 2.3 or don't need hte compelxity
of the CSV module.
Also a couple of other goodies that maybe of interest - particularly
for new programmers.
For a comprehensive set of python links see - YAPLP (yet anothe python
links page) :
fuzzyman AT voidspace DOT org DOT uk
7:00, Tuesday April 6th at ActiveState (6:45 for presenters)
* report from Pycon
* what will be the main features of Python 2.4?
* upcoming meetings.
* planning for a two-day workshop at the beginning of August.
* food and drinks at a local pub
It is our pleasure to announce the release of SimPy 1.4.1, a maintenance
release of SimPy 1.4.
It can be downloaded via the SimPy homepage http://simpy.sourceforge.net.
What is new?
This release makes no changes to the SimPy API. It repairs two bugs and
improves on the unit test coverage:
- To repair a bug with monitoring the activeQ of a
Resource instance, method _release in class Resource
has been changed in modules Simulation.py,
SimulationRT.py, SimulationTrace.py and
- This unit test module has been enhanced with a unit
test for monitored Resources.
- This example had a programming error and has been
- All file names in the source distributions have been made
“Unix-friendly” by changing file names containing blanks.
What is SimPy?
SimPy is a process-based discrete-event simulation
language package implemented in Python and released under
the GNU GPL.
It provides the modeller with building blocks for simulation
models. These include processes, for active components like
customers, messages, and vehicles, and resources, for
passive components that form limited capacity congestion
points like servers, checkout counters, and tunnels. It also
provides monitor variables to aid in gathering statistics.
SimPy has a Tkinter-based GUI and a plotting package.
SimPy comes with extensive reference and tutorial documentation.
SimPy is in use in universities, research institutes and industry.
Klaus Muller (kgmuller at users.sourceforge.net)
Tony Vignaux (vignaux at users.sourceforge.net)
I would like to announce that two articles explaining in detail the
working of new-style (v2.2 and up) objects have been released as final
1. Python Types and Objects
Explains different Python new-style objects, starting with <type 'type'>
and <type 'object'>, and going all the way to user defined classes and
instances. The system described is sometimes called the Python type
system, or the object model.
2. Python Attributes and Methods
Explains the mechanics of attribute access, how functions become
methods, descriptors, properties, MRO and the like for new-style Python
Any and all feedback is appreciated, and can be sent to shalabh(a)cafepy.com.
Gnome-Python 2.0.2 is now available at:
Gnome-Python provides bindings for the Gnome 2.x development platform
libraries. It builds on top of PyGTK, and includes bindings for the
following GNOME libraries:
* the GConf configuration database
* the Bonobo component system
* the Gnome-VFS file access library
* support for writing panel applets and Nautilus views
* the GtkHTML2 widget.
* the Gnome-Print print libraries.
Gnome-Python requires PyGTK, PyORBit, Python >= 2.2 and the Gnome 2.x
development platform to build.
PyGtk, Python and Gnome is usually included in your distribution, if not:
PyGTK can be found on http://www.pygtk.org/
Python can be found on http://www.python.org
Gnome libraries can be found on http://www.gnome.org
Changes since 2.0.1:
The only change since 2.0.1 is a small build fix that makes it possible
to build the vfs bindings again. (bug 138556)
Questions about Gnome-Python can be directed to the PyGTK list:
Bug reports should be filed at the Gnome bug tracker:
Johan Dahlin <johan(a)gnome.org>
I would like to announce the release of TNC v 1.2.
TNC is a non-linear, bound constrained optimizer written in C with a
You can get it at:
The latest version is always available at:
An example and a few test cases are provided.
# A function to minimize
# Must return a tuple with the function value and the gradient
# (as a list) or None to abort the minimization
f = x**2+abs(x)**3
g = [2*x, 3*abs(x)*x]
return f, g
# Optimizer call
rc, nf, x = tnc.minimize(function, x = [-7, 3], low = [-10, 1],
up = [10, 10])
print "After", nf, "function evaluations, TNC returned:",
print "x =", x
print "exact value = [0, 1]"
I have just uploaded the new release of eric3 (version 3.4). This release
features the following enhancements compared to version 3.3.1.
- It comes with it's own source documentation generator.
- Support for Quixote PTL files.
- Capability to generate various UML-like diagrams from the source code.
- Interface to the cyclops cycles finder (a copy of cyclops is included).
- Import/Export of keyboard shortcuts.
- A QRegExp and a Python regexp wizard.
a bunch of smaller usability enhancements, lots of bug fixes and internal
It is available via http://www.die-offenbachs.de/detlev/eric3.html.
Upgrade notice: Starting with this release only XML project files are
supported. Please make sure to save existing project in the XML format
before installing the new release. Alternatively you may download a
conevrsion tool from the contributions page.
What is it?
Eric 3.4 (or short eric3) is a Python IDE written using PyQt and
QScintilla. It has integrated project management capabilities, it gives
you an unlimited number of editors, an integrated Python shell, an
integrated debugger and much more.
Please see for yourself by visiting the a.m. page (it contains a picture
of Eric our mascot as well).
Please report bugs, feature wishes or code contributions to
I really need some support in the area of more translations and user
documentation. Any volunteers out there? Just let me know.
csv2text is a program I wrote to illustrate a point I made on comp.lang.python
about not just creating great Python modules, or Python programs, but of doing
both at the same time.
This program makes the CSV module of Python more accessible by creating a
program 'filter' that guesses and parses a csv file type on standard input
and generates different formats on standard output.
At the moment, output types are CSV, HTML (as an HTML table), and a text
format that is written to be easily parsed by tools such as TCL or AWK
that may not have such a powerful CSV reader module handy. The text format
has conversions to allow AWK to handle CSV files with fields that contain
embedded newlines (XL can generate that type of CSV file).