Announcing argparse 0.3
argparse single module download:
argparse bundled downloads at PyPI:
About this release
This release moves argparse's development status from Pre-Alpha to
Alpha. The API is basically stable, though reasonable change requests
will still be considered.
New in this release
* The '--' pseudo-argument can now be used to terminate the arg list
of an optional::
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-x', nargs='+')
>>> parser.parse_args('-x X1 X2 X3 -- Y'.split())
Namespace(x=['X1', 'X2', 'X3'], y='Y')
The argparse module is an optparse-inspired command line parser that
improves on optparse by:
* handling both optional and positional arguments
* supporting parsers that dispatch to sub-parsers
* producing more informative usage messages
* supporting actions that consume any number of command-line args
* allowing types and actions to be specified with simple callables
instead of hacking class attributes like STORE_ACTIONS or
as well as including a number of other more minor improvements on the
optparse API. To whet your appetite, here's a simple program that sums
its command-line arguments and writes them to a file::
parser = argparse.ArgumentParser()
parser.add_argument('integers', type=int, nargs='+')
parser.add_argument('--log', type='outfile', default=sys.stdout)
args = parser.parse_args()
args.log.write('%s\n' % sum(args.integers))
PyPy Leysin Winter Sports Sprint (8-14th January 2007)
.. image:: http://www.ermina.ch/002.JPG
The next PyPy sprint will be in Leysin, Switzerland, for the fourth
time. This sprint will be the final public sprint of our EU-funded
period, and a kick-off for the final work on the upcoming PyPy 1.0
release (scheduled for mid-February).
The sprint is the last chance for students looking for a "summer" job
with PyPy this winter! If you have a proposal and would like to
work with us in the mountains please send it in before 15th December
to "pypy-tb at codespeak.net" and cross-read this page:
Goals and topics of the sprint
* Like previous winter, the main side goal is to have fun in winter
sports :-) We can take a couple of days off for ski; at this time of
year, ski days end before 4pm, which still leaves plenty of time
to recover (er, I mean hack).
* Progress on the JIT compiler, which we are just starting to scale to
the whole of PyPy. ``_
* Polish the code and documentation of the py lib, and eventually
* Work on prototypes that use the new features that PyPy enables:
distribution ``_ (based on transparent proxying ``_),
security ``_, persistence ``_, etc. ``_.
.. _: http://codespeak.net/pypy/dist/pypy/doc/jit.html
.. _: http://codespeak.net/svn/pypy/dist/pypy/lib/distributed/
.. _: http://codespeak.net/pypy/dist/pypy/doc/proxy.html
.. _: http://codespeak.net/pypy/dist/pypy/doc/project-ideas.html#security
.. _: http://codespeak.net/pypy/dist/pypy/doc/project-ideas.html
Location & Accomodation
Leysin, Switzerland, "same place as before". Let me refresh your
memory: both the sprint venue and the lodging will be in a very spacious
pair of chalets built specifically for bed & breakfast:
http://www.ermina.ch/. The place has a baseline ADSL Internet connexion
(600Kb) with wireless installed. You can of course arrange your own
lodging anywhere (so long as you are in Leysin, you cannot be more than a
15 minute walk away from the sprint venue), but I definitely recommend
lodging there too -- you won't find a better view anywhere else (though you
probably won't get much worse ones easily, either :-)
I made pre-reservations in the Chalet, so please *confirm* quickly that
you are coming so that we can adjust the reservations as appropriate.
The rate so far has been 60 CHF a night all included in 2-person rooms,
with breakfast. There are larger rooms too (less expensive, possibly
more available too) and the possibility to get a single room if you
really want to.
Please register by svn:
or on the pypy-sprint mailing list if you do not yet have check-in rights:
You need a Swiss-to-(insert country here) power adapter. There will be
some Swiss-to-EU adapters around - bring a EU-format power strip if you
Officially, 8th-14th January 2007. Both dates are flexible, you can
arrive or leave earlier or later, though it is recommended to arrive on
the 7th (if many people arrive on the 6th we need to check for
accomodation availability first). We will give introductions and
tutorials on the 8th, in the morning if everybody is there, or in the
The next APUG meetup is this Thursday, Dec. 7th, 7pm at Enthought's
offices in downtown Austin, TX. Eugene Oden will be talking about
Slightly more information, and directions, can be found on the APUG wiki page:
Hope to see you there!
This is to announce the 1.0a1 release of lib537, a Python library
that bundles these utility modules:
Smooth out WSGI's worst warts
Manage the application life-cycle
Automatically restart your program when module files change
The first two were previously released separately; the third is
released here for the first time. All can be used independently.
Downloads and documentation are at:
The Python Imaging Library (PIL) adds image processing capabilities to
your Python interpreter. This library supports many file formats, and
provides powerful image processing and graphics capabilities,
including display support for Windows and Tkinter.
The new 1.1.6 release provides, among other things:
- a new ImageQt module for image display support for PyQt4
- numerous improvements to the TrueType renderer, including proper
(and crash-free) handling of fonts with negative bearings, and support
- a new ImageMath module for applying arbitrary expressions to images
- faster pixel access via separate "access" objects
and many more tweaks and enhancements. For a complete list, see:
You can get PIL 1.1.6 source code and binaries from:
PIL 1.1.6 supports all Python versions from 1.5.2 and onwards, up to
and including Python 2.5. However, development of the 1.1.X line will
now switch to maintenance mode, and future main releases will most
likely require Python 2.3 or later.
"Secret Labs -- makers of fine pythonware since 1997."
I'm pleased to announce the 0.7.2 release of SQLObject.
What is SQLObject
SQLObject is an object-relational mapper. Your database tables are described
as classes, and rows are instances of those classes. SQLObject is meant to be
easy to use and quick to get started with.
SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite, and
Firebird. It also has newly added support for Sybase, MSSQL and MaxDB (also
known as SAPDB).
Where is SQLObject
News and changes:
Features & Interface
* sqlbuilder.Select now supports JOINs exactly like SQLObject.select.
* destroySelf() removes the object from related joins.
* Fixed a number of unicode-related problems with newer MySQLdb.
* If the DB API driver returns timedelta instead of time (MySQLdb does
this) it is converted to time; but if the timedelta has days an exception
* Fixed a number of bugs in InheritableSQLObject related to foreign keys.
* Fixed a bug in InheritableSQLObject related to the order of tableRegistry
* A bug fix that allows to use SQLObject with DateTime from Zope.
* Added "How can I define my own intermediate table in my Many-to-Many
relationship?" to FAQ.
For a more complete list, please see the news:
Oleg Broytmann http://phd.pp.ru/ phd(a)phd.pp.ru
Programmers don't die, they just GOSUB without RETURN.
I have uploaded an updated version of the Tkinter wrapper for the Tk
treectrl widget (http://tktreectrl.sourceforge.net).
The major change in this release is the introduction of a few new
_MultiListbox_ is a Treectrl widget set up to work as a (more or less)
full-featured and very flexible multi column listbox widget.
The _ScrolledTreectrl_ and _ScrolledMultiListbox_ classes use ideas
shamelessly stolen from Pmw.ScrolledListbox to add one or two static or
automatic scrollbars to the widgets. They both inherit from the
_ScrolledWidget_ class that is supposed to make it easy to add
scrollbars to any other Listbox or Canvas alike Tkinter widget.
Changes to the Treectrl widget:
I added the second (optional) _last_ argument to column_delete() (new
in treectrl-2.1.1) and fixed a few minor bugs.
The url is: <http://klappnase.zexxo.net/TkinterTreectrl/index.html>
It's an Editor based on wxPython. UliPad(NewEdit is the old name) uses
Mixin and Plugin technique as its architecture. Most of its classes
can be extended via mixin and plugin
components, and finally become an integrity class at
creating the instance. So UliPad is very dynamic. You can write the
new features in new files, and hardly need to modify the existing
code. And if you want to extend the existing classes, you could write
mixins and plugins, and this will be bound to the target class that I
call "Slot Class". This technique will make the changes centralized
and easily managed.
What's new in 3.6
New features and improvement:
#. Improve definition jump, and if there is no ctag file exist, UliPad
can jump in one source file, including: variable, class, method, etc
#. Improve auto-completion: variable auto-detect, class structure
detect, base class recognize, etc. And it can improve your typing. As
you backspace something, auto-completion will also available. And you
can also write parameter datatype in function docstring, UliPad will
auto recognize the parameter datatype.
#. Add range support for live regular expression search support
#. Add pairprog plugin, it's a collaborative programming support. One
instance can be a server, and others can be client. For server, you
can share source file with all client, and both server and client can
change the same document and move the caret. UliPad support
multi-client. And it has a chatroom support, so developer can use it
to talk with each other.
#. Add fortran, and lua syntax support. For fortran you should enable
#. Improve the display structure and content of class browser
#. Add css auto-completion support
#. Improve class browser windown, and single-click on class icon will
expand or collapse the children items
#. Fix the bug of clicking on Cancel button on Python Parameter Input
Dialog still running
#. Fix reStructuredText syntax highlight processing bug
#. Fix python syntax analysis bug
#. Fix cann't restore the last directories entries as reopen the
directory browser bug
#. Fix if the filename or directory that you want to open command line
window on it(on windows platform) is not the same hard driver, will
open wrong path bug.
#. Fix music plugin's bug
#. Remove open recently-directory functionality
#. Fix as changing the encode of the document, but the tab page title
doesn't be changed bug
Where to download it?
download lastest version 3.6:
also have windows installer:
If you have any problem as using UliPad, welcome to join the UliPad
maillist to discuss.
Hope you enjoy it. ;-)
I like python!
UliPad <<The Python Editor>>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou
I had been falling behind in patches for adns-python, so I thought it
would be a good idea to have a public site where it was easier for
people to contribute and report bugs. The new project page is:
Eventually I will probably add an announcements group, but there is
not likely to be much traffic here for the foreseeable future. For
now, there is a general discussion group:
I've applied one important patch since 1.1.0, and that fixes a memory
leak. If you are reading this from the Groups Beta interface, you
should see a tarball for 1.1.1 in the files section; otherwise, you
cannot see it. Unfortunately, there is some name-mangling and referrer
detection and so it's not really possible to distribute a URL to get
the file release. Additionally, code.google.com currently doesn't
support flie releases, so I can't put it there, either.
If you are interested in becoming a project developer, let me know.
Patriotism means to stand by the country. It does
not mean to stand by the president. -- T. Roosevelt
This message has been scanned for memes and
dangerous content by MindScanner, and is
believed to be unclean.