See http://gmpy.sourceforge.net/ for details.
What is it: a wrapper for the GMP library, to provide multi-precision
arithmetic for Python. Multi-precision floats, and unbounded-precision
rationals, are not present in stock Python; multi-precision integers
('long') are, but gmpy's version of multi-precision integers is faster
for some operations (NOT all -- used to be, but Python 2.3 did serious
enhancements to some operations on longs) and provides lots of nifty
pre-packaged additional functions.
Minor changes and bug-fixes since the latest 0.9 pre-alpha; support for
Python 2.3. The Windows binary release is now for Python 2.3 _only_ (if
you're stuck with Python 2.2 on Windows, you can keep using gmpy 0.9
pre-alpha and not really suffer from that). Known bug on Windows: the
scan0 and scan1 functions appear broken (perhaps related to the lack of
a GMP 4.0 library for Windows -- haven't found one around yet).
I'm pleased to announce the release of ZODB 3.2.2 (final). This is the
version of ZODB that will ship with Zope 2.7.1 (final). Upgrading to ZODB
3.2.2 is strongly recommended for all users, and is critical for sites
You can download a source tarball or Windows installer from:
As promised with the ZODB 3.2.2b1 release last week, the tests for the
unsupported Berkeley-based storages are now disabled in 3.2.2. In addition,
a small but critical bug in FileStorage.restore() was identified and
repaired. This bug didn't affect the Zope core, but is critical for sites
running ZRS. See the news file for more detail:
Note that ZODB 3.2.2 does not support Zope X3 (Zope 3 requires ZODB 3.3 --
as will Zope 2.8).
Announcing an update to IPython, an enhanced interactive Python shell.
As always, a big Thank You goes to Enthought and the SciPy crowd for hosting
ipython and all its attending support services (bug tracker, mailing lists,
website and downloads, etc).
* WHAT is IPython? IPython tries to:
1. Provide an interactive shell superior to Python's default. IPython has many
features for object introspection, system shell access, and its own special
command system for adding functionality when working interactively.
2. Serve as an embeddable, ready to use interpreter for your own programs.
IPython can be started with a single call from inside another program,
providing access to the current namespace.
3. Offer a flexible framework which can be used as the base environment for
other systems with Python as the underlying language. In particular, it
provides a profile (pysh) which allows its usage as a quasi system shell, with
* WHERE to find it: http://ipython.scipy.org
* Some highlights of this release (details in the changelog):
1. Matplotlib support
The major new feature this time is integrated support for matplotlib
(http://matplotlib.sourceforge.net). Thanks to the help of John Hunter
(matplotlib's author) and others, IPython now has a new option -pylab. With
this flag, it loads and configures matplotlib for interactive use,
automatically adapting thread handling to whatever backend is configured in
your .matplotlibrc file. This means that you can use Tk, GTK, or WX and
IPython automatically handles threading for you so that the matplotlib figure
windows do NOT block the shell.
The matplotlib features have been tested and work fairly well under Linux,
though it's quite possible that bugs remain (threading code is particularly
tricky to debug). However, under Mac OSX and Windows we have run into
difficulties which we don't know how to solve yet. It appears that for these
platforms, at this point only the Tk/TkAgg backends work well. Anyone who
works on these systems and knows about threads is welcome to help; the place
to look is towards the end of Ipython/Shell.py, where all the thread-handling
I'd like to thank John for all the time he spent helping me with this. I
think for those interested in scientific computing, the combination of
matplotlib and ipython makes for a very interesting environment.
Please note that this requires matplotlib version 0.62.4 or newer, as John and
I coordinated the development of these features, and it required changes to
both ipython and matplotlib.
2. GTK & WXPython threading
There is also experimental, but disabled by default, support for generic (i.e.
not specific to matplotlib) GTK and WX threading. Ideally, IPython should
allow you to run arbitrary GTK or WX programs without blocking, and new
-gthread/-wthread options were introduced for this purpose. However, this
code is not working correctly and my threading knowledge is very limited.
If anyone is interested in this kind of functionality, and can help with
debugging, simply modify the start() function at the end of IPython/Shell.py
to re-enable those options (they are commented out). At that point the
threading code will become active again. Any fixes for this will be most
3. As usual, a number of fixes for recently reported bugs are also included.
Enjoy, and please report any problems.
I'm pleased to announce the 126.96.36.199 release of wxPython, now available
for download at http://wxpython.org/download.php or
What is wxPython?
wxPython is a GUI toolkit for the Python programming language. It
allows Python programmers to create programs with a robust, highly
functional graphical user interface, simply and easily. It is
implemented as a Python extension module that wraps the popular
wxWidgets cross platform GUI library, which is written in C++.
wxPython is a cross-platform toolkit. This means that the same program
will usually run on multiple platforms without modifications.
Currently supported platforms are 32-bit Microsoft Windows, most Linux
or other Unix-like systems using GTK or GTK2, and Apple Macintosh OS
Changes in 188.8.131.52
This is predominantly a bug-fix release. Changes include:
* Fixed fatal error due to improper wrapping of wx.FSFile.
* Fixed return type of EditableListBox.GetListCtrl
* Give generic tree and list controls a DoGetBestSize so they play
nicer with sizers when there is no minimal size.
* Some tweaks in the demo and samples to correct layout, some
flicker problems, and namespace use.
* Add wx.Image.ConvertAlphaToMask
* Minor corrections in wx.lib.dialogs
* wx.FileHistory constructor now accepts the documented 2nd
* Corrections for exceptions in the new ogl
* Fixed XRCed to not use reparenting of windows to implement caching
of property panels, since Reparent on wxMac is not implemented.
* Add support for wxTAB_TRAVERSAL to the XRC handler for
* Add support for all wxListBox styles to the XRC handler for
* Fix for wx.Listbook.DeleteAllPages to really delete everything.
* wxGTK2 now supports alpha blended bitmap drawing
* Made wx.grid.Grid play nicer with sizers.
http://wxPython.org Java give you jitters? Relax with wxPython!
If some pythoner complain that Vim don't support calltips of python,
now I implement it. Try it and wish you enjoy it.
This script simualate code calltips in a new bottow window of Vim.
In fact, it display python help doc strings of word under the cursor
by scanning the imported modules in the current file.
0.5 enhance 0.3 and fix many bugs.
Announce: Release of PyGreSQL version 3.5
PyGreSQL v3.5 has been released.
It is available at: ftp://ftp.druid.net/pub/distrib/PyGreSQL-3.5.tgz.
you are running NetBSD, look in the packages directory under databases.
There is also a package in the FreeBSD ports collection.
>From March 1 2001 the PyGreSQL development has moved into the PostgreSQL
development tree. Starting with the last release it has been moved back
a separate project. We are also now joined by the PoPy team and future
versions will have a merged version of the two systems.
PostgreSQL is a database system derived from Postgres4.2. It conforms
to (most of) ANSI SQL and offers many interesting capabilities (C
dynamic linking for functions or type definition, etc.). This package
is copyright by the Regents of the University of California, and is
Python is an interpreted programming language. It is object oriented,
simple to use (light syntax, simple and straightforward statements), and
has many extensions for building GUIs, interfacing with WWW, etc. An
intelligent web browser (HotJava like) is currently under development
(November 1995), and this should open programmers many doors. Python is
copyrighted by Stichting S Mathematisch Centrum, Amsterdam, The
Netherlands, and is freely distributable.
PyGreSQL is a python module that interfaces to a PostgreSQL database. It
embeds the PostgreSQL query library to allow easy use of the powerful
PostgreSQL features from a Python script.
This release fixes a few bugs, adds a few minor features and makes a
few speedups in the code. It works with Python version 2.3 and
version 7.3 and up.
See the other changes below or in the Changelog file.
PyGreSQL 2.0 was developed and tested on a NetBSD 1.3_BETA system. It
is based on the PyGres95 code written by Pascal Andre,
andre(a)chimay.via.ecp.fr. I changed the version to 2.0 and updated the
code for Python 1.5 and PostgreSQL 6.2.1. While I was at it I upgraded
the code to use full ANSI style prototypes and changed the order of
arguments to connect. Later versions are fixes and enhancements to
The latest version of PyGreSQL works with Python 1.5.2 and PostgreSQL
Important changes from PyGreSQL 3.4 to PyGreSQL 3.5
- Add interval to list of data types
- fix up method wrapping especially close()
- retry pkeys once if table missing in case it was just added
- wrap query method separately to handle debug better
- use isinstance instead of type
- fix free/PQfreemem issue - finally
Important changes from PyGreSQL 3.3 to PyGreSQL 3.4
- Moved back out of PostgreSQL tree
- Allow for larger integer returns
- Return proper strings for true and false
- Cleanup convenience method creation
- Enhance debugging method
- Add reopen method
- Allow programs to preload field names for speedup
- Move OID handling so that it returns long instead of int
- Miscellaneous cleanups and formatting
Important changes from PyGreSQL 3.2 to PyGreSQL 3.3
- Added NUMERICOID to list of returned types. This fixes a bug when
returning aggregates in the latest version of PostgreSQL.
Important changes from PyGreSQL 3.1 to PyGreSQL 3.2
Note that there are very few changes to PostgreSQL between 3.1 and
3.2. The main reason for the release is the move into the PostgreSQL
development tree. Even the WIN32 changes are pretty minor.
- Add WIN32 support (gerhard(a)bigfoot.de)
- Fix some DB-API quoting problems (niall.smart(a)ebeon.com)
- Moved development into PostgreSQL development tree.
Important changes from PyGreSQL 3.0 to PyGreSQL 3.1
- Fix some quoting functions. In particular handle NULLs better.
- Use a method to add primary key information rather than direct
manipulation of the class structures.
- Break decimal out in _quote (in pg.py) and treat it as float.
- Treat timestamp like date for quoting purposes.
- Remove a redundant SELECT from the get method speeding it, and
since it calls get, up a little.
- Add test for BOOL type in typecast method to pgdbTypeCache class.
- Fix pgdb.py to send port as integer to lower level function
- Change pg.py to speed up some operations
- Allow updates on tables with no primary keys.
Important changes from PyGreSQL 2.4 to PyGreSQL 3.0:
- Remove strlen() call from pglarge_write() and get size from object.
- Add a little more error checking to the quote function in the
- Add extra checking in _quote function
- Wrap query in pg.py for debugging
- Add DB-API 2.0 support to pgmodule.c (andre(a)via.ecp.fr)
- Add DB-API 2.0 wrapper pgdb.py (andre(a)via.ecp.fr)
- Correct keyword clash (temp) in tutorial
- Clean up layout of tutorial
- Return NULL values as None (rlawrence(a)lastfoot.com) (WARNING: This
will cause backwards compatibility issues.)
- Change None to NULL in insert and update
- Change hash-bang lines to use /usr/bin/env
- Clearing date should be blank (NULL) not TODAY
- Quote backslashes in strings in _quote (brian(a)CSUA.Berkeley.EDU)
- Expanded and clarified build instructions
- Make code thread safe (Jerome.Alet(a)unice.fr)
- Add README.distutils (mwa(a)gate.net & jeremy(a)cnri.reston.va.us)
- Many fixes and increased DB-API compliance by chifungfan(a)yahoo.com,
tony(a)printra.net, jeremy(a)alum.mit.edu and others to get the final
version ready to release.
Important changes from PyGreSQL 2.3 to PyGreSQL 2.4:
- Insert returns None if the user doesn't have select permissions
on the table. It can (and does) happen that one has insert but
not select permissions on a table.
- Added ntuples() method to query object (brit(a)druid.net)
- Corrected a bug related to getresult() and the money type
- Corrected a bug related to negative money amounts
- Allow update based on primary key if munged oid not available and
table has a primary key
- Add many __doc__ strings. (andre(a)via.ecp.fr)
- Get method works with views if key specified
Important changes from PyGreSQL 2.2 to PyGreSQL 2.3:
- connect.host returns "localhost" when connected to Unix socket
- Use PyArg_ParseTupleAndKeywords in connect()
- fixes and cleanups (torppa(a)tuhnu.cutery.fi)
- Fixed memory leak in dictresult() (terekhov(a)emc.com)
- Deprecated pgext.py - functionality now in pg.py
- More cleanups to the tutorial
- Added fileno() method - terekhov(a)emc.com (Mikhail Terekhov)
- added money type to quoting function
- Compiles cleanly with more warnings turned on
- Returns PostgreSQL error message on error
- Init accepts keywords (Jarkko Torppa)
- Convenience functions can be overridden (Jarkko Torppa)
- added close() method
Important changes from PyGreSQL 2.1 to PyGreSQL 2.2:
- Added user and password support thanks to Ng Pheng Siong
- Insert queries return the inserted oid
- Add new pg wrapper (C module renamed to _pg)
- Wrapped database connection in a class.
- Cleaned up some of the tutorial. (More work needed.)
- Added version and __version__. Thanks to thilo(a)eevolute.com for
Important changes from PyGreSQL 2.0 to PyGreSQL 2.1:
- return fields as proper Python objects for field type
- Cleaned up pgext.py
- Added dictresult method
Important changes from Pygres95 1.0b to PyGreSQL 2.0:
- Updated code for PostgreSQL 6.2.1 and Python 1.5.
- Reformatted code and converted to ANSI .
- Changed name to PyGreSQL (from PyGres95.)
- Changed order of arguments to connect function.
- Created new type pgqueryobject and moved certain methods to it.
- Added a print function for pgqueryobject
- Various code changes - mostly stylistic.
For more information about each package, please have a look to their
- Python : http://www.python.org/
- PostgreSQL : http://www.PostgreSQL.org/
- PyGreSQL : http://www.PyGreSQL.org/
D'Arcy J.M. Cain
PyGreSQL Development Group
This is an announcement of the beginning of development of a new Python-like
language called PyCs (pronounced "pie-cees"). Like IronPython, PyCs will be
Python on .Net but it will have more advanced features and probably have
higher performance due to a Psyco-like implementation technique. See
PyCs is a fusion of Python and C#. It is the first Python-like dynamic
language with all the capabilities of C# including the capabilities of the
research language C-Omega (http://research.microsoft.com/Comega/) including
the X# language features
(http://www.cl.cam.ac.uk/%7Egmb/Papers/vanilla-xml2003.html) that embed
XML/SQL support directly in the language. At the same time PyCs keeps all
the advantages of the Python language and the Python way.
PyCs will not be source compatible with either C# or Python but code could
be ported from either one easily.
PyCs is being developed by Mark Hahn who developed Prothon and PyCs grew out
of the initial efforts to port Prothon to .Net. For an explanation of why
the Prothon port to .Net turned into a whole new language, see
PyCs is just now starting development and will be developed using the same
XP-like language design process used to develop Prothon. This process will
use the PyCs mailing list to design the language where Mark acts as
moderator and implements the language in real-time as the ideas are worked
out. He will be working on PyCs full-time and drive the development just as
he did with Prothon.
Please join the PyCs team. The only effort involved is particpating in a
low-traffic, high-content, mailing list. You will be able to influence the
design of the latest and greatest dynamic language.
-- Mark Hahn, http://pycs.org
pyrad is an implementation of a RADIUS client and server as described in
RFC2865, 2866, and others. It takes care of all the details like
building RADIUS packets, sending and receiving them, and en-/decoding
responses. (RADIUS is a common protocol used for authentication,
authorisation and accounting for remote access (and similar) services).
Changes since previous release
* Fix time-handling in the client packet sending code: it would loop
forever since the now time was updated at the wrong moment. Fix from
* Fix passing of dict parameter when creating reply packets
Here is an example of doing a authentication request:
from pyrad.client import Client
from pyrad.dictionary import Dictionary
print "access accepted"
print "access denied"
print "Attributes returned by server:"
for i in reply.keys():
print "%s: %s" % (i, reply[i])
And an example for a trivial RADIUS server:
from pyrad import dictionary, packet, server
def _HandleAuthPacket(self, fd, pkt):
server.Server._HandleAuthPacket(self, fd, pkt)
srv.hosts["127.0.0.1"]=server.RemoteHost("127.0.0.1", "s3cr3t", "localhost")
pyrad requires Python 2.2 or later.
Author, copyright, availability
pyrad was written by Wichert Akkerman <wichert(a)wiggy.net>
The current version and documentation can be found at its homepage:
Copyright 2002-2004 Wichert Akkerman. All rights reserved.
pyrad is distributed under the BSD license. Please see the source
archive for the full license text.
Wichert Akkerman <wichert(a)wiggy.net> It is simple to make things.
http://www.wiggy.net/ It is hard to make things simple.