=== Leipzig Python User Group ===
We will meet on Tuesday, March 20 at 8:00 p.m. at the training
center of Python Academy in Leipzig, Germany
( http://www.python-academy.com/center/find.html ).
Everybody who uses Python, plans to do so or is interested in
learning more about the language is encouraged to participate.
We will continue to work on our project "Python macht Schule" 
creating Python teaching material for kids.
While the meeting language will be mainly German, we will provide
English translation if needed.
Food and soft drinks are provided. Please send a short
confirmation mail to info(a)python-academy.de, so we can prepare
Current information about the meetings are at
== Leipzig Python User Group ===
Wir treffen uns am Dienstag, 20.03.2012 um 20:00 Uhr
im Schulungszentrum der Python Academy in Leipzig
( http://www.python-academy.de/Schulungszentrum/anfahrt.html ).
Willkommen ist jeder, der Interesse an Python hat, die Sprache
bereits nutzt oder nutzen möchte.
Wir werden weiter an unserem Projekt "Python macht Schule" 
arbeiten. Dabei geht es darum Materialien für Kinder zum Erlernen
von Python zu erarbeiten.
Für das leibliche Wohl wird gesorgt. Eine Anmeldung unter
info(a)python-academy.de wäre nett, damit wir genug Essen
Aktuelle Informationen zu den Treffen sind unter
http://www.python-academy.de/User-Group zu finden.
I would like to announce the first public release of cmd2, an extension of the standard library's cmd with argument parsing, here: https://github.com/anntzer/cmd2.
Cmd2 is an extension built around the excellent cmd module of the standard
library. Cmd allows one to build simple custom shells using ``do_*`` methods,
taking care in particular of the REPL loop and the interactive help. However,
no facility is given for parsing the argument line (do_* methods are passed the
rest of the line as a single string argument).
With Cmd2, ``do_*`` methods are type-annotated, either using Python 3's
function annotation syntax, or with an ad-hoc ``annotate`` decorator, allowing
the dispatcher to parse the argument list for them.
We're chuffed to announce the immediate availability of the second release
candidates for Python 2.6.8, 2.7.3, 3.1.5, and 3.2.3. The only change from the
first release candidates is the patching of an additional security hole.
The security issue fixed in the second release candidates is in the expat XML
parsing library. expat had the same hash security issue detailed below as
Python's core types. The hashing algorithm used in the expat library is now
randomized. A more thorough explanation of the "hash attack" security hole
The main impetus for these releases is fixing a security issue in Python's hash
based types, dict and set, as described below. Python 2.7.3 and 3.2.3 include
the security patch and the normal set of bug fixes. Since Python 2.6 and 3.1 are
maintained only for security issues, 2.6.8 and 3.1.5 contain only various
The security issue exploits Python's dict and set implementations. Carefully
crafted input can lead to extremely long computation times and denials of
service.  Python dict and set types use hash tables to provide amortized
constant time operations. Hash tables require a well-distributed hash function
to spread data evenly across the hash table. The security issue is that an
attacker could compute thousands of keys with colliding hashes; this causes
quadratic algorithmic complexity when the hash table is constructed. To
alleviate the problem, the new releases add randomization to the hashing of
Python's string types (bytes/str in Python 3 and str/unicode in Python 2),
datetime.date, and datetime.datetime. This prevents an attacker from computing
colliding keys of these types without access to the Python process.
Hash randomization causes the iteration order of dicts and sets to be
unpredictable and differ across Python runs. Python has never guaranteed
iteration order of keys in a dict or set, and applications are advised to never
rely on it. Historically, dict iteration order has not changed very often across
releases and has always remained consistent between successive executions of
Python. Thus, some existing applications may be relying on dict or set ordering.
Because of this and the fact that many Python applications which don't accept
untrusted input are not vulnerable to this attack, in all stable Python releases
mentioned here, HASH RANDOMIZATION IS DISABLED BY DEFAULT. There are two ways to
enable it. The -R commandline option can be passed to the python executable. It
can also be enabled by setting an environmental variable PYTHONHASHSEED to
"random". (Other values are accepted, too; pass -h to python for complete
More details about the issue and the patch can be found in the oCERT advisory
 and the Python bug tracker .
These releases are releases candidates and thus not recommended for production
use. Please test your applications and libraries with them, and report any bugs
you encounter. We are especially interested in any buggy behavior observed using
hash randomization. Excepting major calamity, final versions should appear after
Downloads are at
Please test these candidates and report bugs to
The Python release team
Barry Warsaw (2.6), Georg Brandl (3.2), Benjamin Peterson (2.7 and 3.1)
Gluino is of web2py (gluon) libraries to Bottle, Flask, Pyramid, Tornado, and Wsgiref with examples.
This is a project that started during the PyCon 2012 sprint.
License: Web2py license (LGPL) applies to files in gluino/ folder
On Gitbub: https://github.com/mdipierro/gluino
On PyPI: http://pypi.python.org/pypi/Gluino
The port includes;
Database Abstraction Layer (dal.py) documentation
Template language (template.py) documentation
FORMs (form,py) documentation
SQLFORMs (sqlhtml.py) documentation
validators (validators.py) documentation
cache (cache.py) documentation
I'm glad to inform you about new release 0.38 (2012-March-15):
interalg can handle discrete variables
interalg can handle multiobjective problems (MOP)
interalg can handle problems with parameters fixedVars/freeVars
Many interalg improvements and some bugfixes
Add another EIG solver: numpy.linalg.eig
New LLSP solver pymls with box bounds handling
Some improvements for sum()
Add funcs tanh, arctanh, arcsinh, arccosh
Can solve EIG built from derivatives of several functions,
obtained by automatic differentiation by FuncDesigner
Add method point.symmetry(Point|Line|Plane)
Add method LineSegment.middle
Add method Point.rotate(Center, angle)
See http://openopt.org for more details
Find a new release of python-ldap:
python-ldap provides an object-oriented API to access LDAP directory
servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for
that purpose. Additionally it contains modules for other LDAP-related
stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema).
Project's web site:
Released 2.4.9 2012-03-14
Changes since 2.4.8:
* ldapobject.ReconnectLDAPObject.reconnect() now does kind of
an internal locking to pause other threads while reconnecting
* Changes to bind- and startTLS-related operation methods of
class ReconnectLDAPObject for more robustness
* New constant ldap.OPT_NAMES_DICT contains mapping from
integer to variable name for all option-related constants.
The Py Suite of wxPython development tools has been updated (0.9.8.9)!
Updates include some very minor bug fixes and a few new features, but
the most notable change is probably the inclusion of a new installer for
Windows that automatically installs Desktop Shortcuts with
decent-looking icons (tested working on both Windows XP and 7).
If you tried to install it on Windows before and had a
less-than-wonderful experience, I hope that it is now smooth and simple!
Enjoy and let me know if there are any hiccups!
Here was the previous announcement which included descriptions:
WxPython's Py Suite (PyCrust, etc.) updated with new "magic" features
and new notebook interface shell, PySlices.
WxPython has, for a long time, included PyCrust, one of the most popular
Python shells. PyCrust has found uses in a number of projects, including
Stani's Python Editor and some projects at Enthought. PyCrust, part of the
larger "Py suite" of tools, had been dormant for some time now, but it is
now under a new maintainer and has recently been updated! Py Suite 0.9.8.3
can be found in the wxPython 2.9 svn branch (import path is wx.py),
on a Google code page (http://code.google.com/p/wxpysuite/)
and in PyPI (package name is wx_py).
Py Suite 0.9.8.3 requires wxPython 2.8 or later.
A summary of the major changes follows:
The biggest change is certainly the inclusion of a new notebook interface
version of PyCrust called "PySlices" into the Py suite! It features
multi-line execution in re-runnable code blocks called "slices" and the
ability to save to a simple .pyslices format that when converted to .py
is still valid python code! PySlices is a great lightweight alternative
to the excellent SAGE and Reinteract projects.
Both PyCrust and PySlices now include some ipython style "magic" features:
Unix-style path functions:
"cd", "ls", and "pwd" all work as expected
Space based function calls:
"f 1" will automatically convert to "f(1)"
"?" character to call help:
"?dir" is equivalent to "help(dir)"
"!" character to call operating system shell commands:
"!foobar" is automatically converted to "commands.getoutput('foobar')"
There is also a highly experimental shell (not included in the wxPython svn
version) called SymPySlices that uses sympy for for automatic symbol
creation, and allows for the use of unicode charcters directly in python.
Mathematical operators (including some infix operators via ast parsing) are
supported. SymPySlices additionally requires Python 2.6 or later and
This is still very experimental, so please let me know if you have
questions, problems, or ideas (david.n.mashburn(a)gmail.com)!
You can read more about these projects on the google code page:
at the PyPI page:
and in the original wxTrac ticket: http://trac.wxwidgets.org/ticket/10959
Feel free to email me with questions, bugs, and feature requests!
<P><A HREF="http://code.google.com/p/wxpysuite/">Py Suite 0.9.8.3</A> -
WxPython's Py Suite (PyCrust, etc.) updated with new "magic" features
and new notebook interface shell, PySlices. (06-April-2010)
Pyspread 0.2.1 is released.
The new version improves GPG integration.
Pyspread is a non-traditional spreadsheet application that is based on
and written in the programming language Python.
The goal of pyspread is to be the most pythonic spreadsheet application.
Pyspread is designed for Linux and other GTK platforms.
Pyspread is free software. It is released under the GPL v3.
Project website: http://manns.github.com/pyspread/
What is new in 0.2.1
* Format menu added
* Printing bug (first line not printed) fixed
* GPG key choice dialog added
* Secret key generation dialog added
* Password saving in .pyspreadrc is now optional
* Preferences dialog entries are now validated
* Toolbar positions are now saved on exit
* Absolute addressing with mouse changed to <Shift> + <Ctrl>
* Relative addressing with mouse changed to <Alt> + <Ctrl>
I'm happy to announce the release of Pygments 1.5. Pygments is a
generic syntax highlighter written in Python.
Pygments 1.5 is a large release, with over 30 new languages or markups
supported. Heavy thanks go to all the contributors of these lexers, and
to all those who reported bugs and waited patiently for this release.
Many thanks also go to Tim Hatch for writing his regexlint tool, with
which many glitches and bugs in Pygments' regular expression-based lexers
Download it from <http://pypi.python.org/pypi/Pygments>, or look at the
demonstration at <http://pygments.org/demo>.
I'm happy to announce the release of Sphinx 1.1.3.
It fixes over 20 bugs and buglets in the 1.1 series of Sphinx.
What is it?
Sphinx is a tool that makes it easy to create intelligent and beautiful
documentation for Python projects (or other documents consisting of
multiple reStructuredText source files).