From garabik-news-2005-05 at kassiopeia.juls.savba.sk Sun Jan 1 11:47:26 2006 From: garabik-news-2005-05 at kassiopeia.juls.savba.sk (garabik-news-2005-05@kassiopeia.juls.savba.sk) Date: Sun, 1 Jan 2006 10:47:26 +0000 (UTC) Subject: ANN: unicode 0.4.9 Message-ID: unicode is a simple python command line utility that displays properties for a given unicode character, or searches unicode database for a given name. It was written with Linux in mind, but should work almost everywhere (including MS Windows and MacOSX), UTF-8 console is recommended. Changes since previous versions: * better directional overriding for RTL characters * query wikipedia with -w switch * better heuristics guessing argument type Author: Radovan Garab?k URL: http://kassiopeia.juls.savba.sk/~garabik/software/unicode/ License: GPL -- ----------------------------------------------------------- | Radovan Garab?k http://kassiopeia.juls.savba.sk/~garabik/ | | __..--^^^--..__ garabik @ kassiopeia.juls.savba.sk | ----------------------------------------------------------- Antivirus alert: file .signature infected by signature virus. Hi! I'm a signature virus! Copy me into your signature file to help me spread! From tony.meyer at gmail.com Mon Jan 2 04:08:20 2006 From: tony.meyer at gmail.com (Tony Meyer) Date: Mon, 2 Jan 2006 16:08:20 +1300 Subject: python-dev Summary for 2005-11-16 through 2005-11-30 Message-ID: <6c63de570601011908p79da0dc1m36bdeff2439dd58@mail.gmail.com> [The HTML version of this Summary is available at http://www.python.org/dev/summary/2005-11-16_2005-11-30.html] ===================== Summary Announcements ===================== -------------------------------------- Reminder: Python is now on Subversion! -------------------------------------- Don't forget that the Python source code is now hosted on svn.python.org as a Subversion (rather than CVS) repository. Note that because of the way the subversion conversion was done, by-date revision specifications for dates prior to the switchover won't work. To work around this, you must find a revision number using svn log or svn blame, and then supply that revision number to the appropriate command (e.g. svn diff or svn up). Removing the CVS repository from sourceforge isn't possible without hacks (as a result of their "open source never goes away" policy). However, it's no longer available from the project page, and the repository is now filled with files pointing people to the new repository. Contributing threads: - `Is some magic required to check out new files from svn? `__ - `svn diff -r {2001-01-01} `__ - `CVS repository mostly closed now `__ [TAM] ========= Summaries ========= ---------------------------- Memory management in the AST ---------------------------- Thomas Lee's attempt to implement `PEP 341`_ brought up some issues about working with the new AST code. Because the AST code used its own custom objects instead of PyObjects, it also introduced its own set of allocation/deallocation functions instead of the existing Py_INCREF and Py_DECREF. There was some discussion about how best to simplify the scheme, with the two main suggestions being: (1) Convert all AST objects into PyObjects so Py_INCREF and Py_DECREF work (2) Create an arena API, where objects are added to the arena and then can be freed in one shot when the arena is freed Neal Norwitz presented an example from the current AST code using the various asdl_*_free functions, and he, Greg Ewing and Martin v. L?wis compared how the code would look with the various API suggestions. While using ref-counting had the benefit of being consistent with the rest of Python, there were still some who felt that the arena API would simplify things enough to make the extra learning curve worthwhile. It seemed likely that branches or patches for the various APIs would appear shortly. While the C API is still undergoing these changes, and thus the Python API is still a ways off, a few implementations for the Python API were suggested. If the AST code ends up using PyObjects, these could be passed directly to Python code, though they would probably have to be immutable. Brett Cannon suggested that another route would be a simple PyString marshalling like the current parser module, so that Python code and C code would never share the same objects. .. _PEP 341: http://www.python.org/peps/pep-0341.html Contributing threads: - `Memory management in the AST parser & compiler `__ - `ast status, memory leaks, etc `__ - `a Python interface for the AST (WAS: DRAFT: python-dev...) `__ [SJB] ----------------------- Profilers in the stdlib ----------------------- Armin Rigo summarised the current Python profiler situation, which includes profile.Profile (ages-old, slow, pure Python profiler with limited support for profiling C calls), hotshot (Python 2.2+, faster than profile.py, but very slow to convert the log file to the pstats.Stats format, possibly inaccurate, doesn't know about C calls), and `lsprof`_ (Brett Rosen, Ted Czotter, Michael Hudson, Armin Rigo; doesn't support C calls, incompatible interface with profile.py/hotshot, can record detailed stats about children). He suggested that lsprof be added to the standard library, keeping profile.py as a pure Python implementation and replacing hotshot with lsprof. There was concern about maintenence of the library; however, since Armin and Michael are core developers, this seems covered. Martin suggested that lsprof be distributed separately for some time, and then included when it is more mature. Many people were concerned about having so many profilers included (with the preference for a single profiler that would suit beginners, since advanced users can easily install third-party modules, which could be referenced in the documentation). Tim Peters explained that the aim of hotshot wasn't to reduce total time overhead, but to be less disruptive (than profile.py) to the code being profiled, while that code is running, via tiny little C functions that avoid memory allocation/deallocation. Hotshot can do much more than the minimalistic documentation says (e.g. it could be used as the basis of a tracing tool to debug software, to measure test coverage); you won't find them discussed in the documentation, which makes user experience mostly negative, but you do find them in Tim's e-mails. Discussion centered around whether lsprof should be added to the standard distribution, and whether hotshot and/or profile.py should be removed. Armin indicated that he favours removing hotshot, adding lsprof, which would be added as "cProfile" (c.f cPickle/Pickle, cStringIO/StringIO), and possibly rewriting profile.py as a pure Python version of lsprof. Floris Bruynooghe (for Google's Summer of Code) wrote a `replacement for profile.py`_ that uses hotshot directory. This replacement didn't fix the problems with hotshot, but did result in pstats loading hotshot data 30% faster, and would mean that profile.py could be removed. There was a little debate about whether any profiler should even be included in the standard library, but there were several people who opined that it was an important 'battery'. A few people also liked the idea of adding a statistical profiler to the standard library at some point (e.g. http://wingolog.org/archives/2005/10/28/profiling). Aahz suggested that Armin write a PEP for this, which seems the likely way that this will progress. Contributing thread: - `s/hotshot/lsprof `__ .. _lsprof: http://codespeak.net/svn/user/arigo/hack/misc/lsprof .. _replacement for profile.py: http://savannah.nongnu.org/projects/pyprof/ [TAM] ---------------------------------------------- The tp_free slot and multiple inheritance in C ---------------------------------------------- Travis Oliphant started a thread discussing a memory problem in some new scipy core code where a huge number of objects were not being freed. Making the allocation code use malloc and free instead of PyObject_New and PyObject_Del made these problems go away. After an intense discussion, Armin Rigo figured out that the problem arose in a type that inherited both from int and from another scipy type. The tp_free slot of this type was being inherited from its second parent (int) instead of its first parent (the scipy type), and thus "deallocated" objects were put on the CPython free list of integers instead of being freed. It was unclear as to whether the code in typeobject.c which made this decision could be "fixed", so Armin suggested forcing the appropriate tp_alloc/tp_free functions in the static types instead. Contributing threads: - `Problems with the Python Memory Manager `__ - `Problems with mro for dual inheritance in C [Was: Problems with the Python Memory Manager] `__ [SJB] -------------------------------------- Patches for porting Python to a new OS -------------------------------------- Ben Decker asked for some feedback on patches porting Python to DOS/DJGPP. This lead to a discussion of what the requirements for accepting a porting patch were. Guido made it clear that he wanted porting patches included in Python whenever reasonable so that the various obscure ports would be able to upgrade to new versions of Python when they were released. The basic conditions were that the submission came from a reputable platform maintainer, and that if the patches caused problems in future Python versions, the maintainer would either need to update the patch appropriately, or have it removed from Python. Contributing thread: - `Patch Req. # 1351020 & 1351036: PythonD modifications `__ [SJB] --------------------------------------- Making StringIO behave more like a file --------------------------------------- Walter D?rwald identified a number of situations where StringIO (but not cStringIO) does not behave like a normal file: - next() after close() raises StopIteration instead of ValueError - isatty() after close() returns False instead of raising ValueError - truncate() with a negative argument doesn't raise an IOError These were determined to be bugs in StringIO and will likely be fixed in an upcoming Python release. Contributing threads: - `Iterating a closed StringIO `__ - `isatty() on closed StringIO (was: Iterating a closed StringIO) `__ - `Another StringIO/cStringIO discrepancy `__ - `isatty() on closed StringIO `__ [SJB] ----------------------------------- User-defined data for logging calls ----------------------------------- Vinay Sajip explained that on numerous occasions, requests have been made for the ability to easily add user-defined data to logging events. For example, a multi-threaded server application may want to output specific information to a particular server thread (e.g. the identity of the client, specific protocol options for the client connection). While this is currently possible, you have to subclass the Logger class and override its makeRecord method to put custom attributes in the LogRecord; the approach is usable but requires more work than necessary. Vinay proposed a simpler way of achieving the same result, which requires use of an additional optional keyword argument ("extra") in logging calls. The "extra" argument will be passed to Logger.makeRecord, which extend the logRecord's __dict__ with this argument; however, if any of the keys are already present (values calculated by the logging package), then a KeyError will be raised. Contributing thread: - `Proposed additional keyword argument in logging calls `__ [TAM] ------------------------------------- Updating urlparse to support RFC 3986 ------------------------------------- Paul Jimenez complained that urlparse uses a table of url schemes to determine whether a protocol (e.g. http or ftp) supports specifying a username and password in the url (e.g. https://user:pass at host:port). He suggested that all protocols should be capable of using this format. Guido pointed out that the main purpose of urlparse is to be RFC-compliant. Paul explained that the current code is valid according to `RFC 1808`_ (1995-1998), but that this was superceded by `RFC 2396`_ (1998-2004) and `RFC 3986`_ (2005-). Guido was convinced, and asked for a new API (for backwards compatibility) and a patch to be submitted via sourceforge. Contributing thread: - `urlparse brokenness `__ .. _RFC 1808: http://www.ietf.org/rfc/rfc1808.txt .. _RFC 2396: http://www.ietf.org/rfc/rfc2396.txt .. _RFC 3986: http://www.ietf.org/rfc/rfc3986.txt [TAM] --------------------------------------------- Magic methods on the instance and on the type --------------------------------------------- Nick Coghlan pointed out that the current semantics of `PEP 343`_ look up methods on the instance instead of on the type, and noted that slots are generally invoked as ``type(obj).__slot__(obj)`` instead. Guido explained that in general, using ``__xxxx__`` methods in an undocumented way (e.g. relying on them being looked up in the instance) was not supported, and code relying on that could be expected to break if the ``__xxxx__`` method was ever upgraded to a slot. So, it was okay that the `PEP 343`_ support looked up methods on the instance, but anyone depending on this behavior was asking for trouble. .. _PEP 343: http://www.python.org/peps/pep-0343.html Contributing thread: - `Metaclass problem in the "with" statement semantics in PEP 343 `__ [SJB] ---------------------------------- Releasing the GIL in the re module ---------------------------------- Duncan Grisby has a multi-threaded program that does a lot of complex regular expression searching, and has trouble with threads blocking because the GIL is not released while the re engine is running. He wanted to know whether there was any fundamental reason why the re engine could not release the interpreter lock. Fredrik Lundh pointed out that SRE can operate on anything that implements the buffer interface. This means that the objects that the engine is accessing might be mutable, which could cause problems. Several people suggested that a better solution would be using more efficient regular expressions; Duncan explained that the expressions are user-entered, which makes this difficult. Eric Noyau put together a `patch to release the GIL` when the engine performs a low level search, if (and only if) the object searched is a [unicode] string. .. _patch to release the GIL: http://python.org/sf/1366311 Contributing threads: - `(no subject) `__ - `Re: Regular expressions `__ - `SRE should release the GIL (was: no subject) `__ - `Regular expressions `__ [TAM] =============== Skipped Threads =============== - `str.dedent `__ - `Behavoir question. `__ - `Conclusion: Event loops, PyOS_InputHook, and Tkinter `__ - `DRAFT: python-dev Summary for 2005-09-16 to 2005-09-30 `__ - `DRAFT: python-dev Summary for 2005-10-01 to 2005-10-15 `__ - `DRAFT: python-dev Summary for 2005-10-16 to 2005-10-31 `__ - `Coroutines (PEP 342) `__ - `Enjoy a week without me `__ - `Weekly Python Patch/Bug Summary `__ - `How to stay almost backwards compatible with all these new cool features `__ - `test_cmd_line on Windows `__ - `Fwd: [Python-checkins] commit of r41497 - python/trunk/Lib/test `__ - `[Python-checkins] commit of r41497 -python/trunk/Lib/test `__ - `DRAFT: python-dev Summary for 2005-11-01 through 2005-11-15 `__ - `something is wrong with test___all__ `__ - `PEP 302, PEP 338 and imp.getloader (was Re: a Python interface for the AST (WAS: DRAFT: python-dev...) `__ - `registering unicode codecs `__ - `reference leaks `__ - `Bug bz2.BZ2File(...).seek(0,2) + patch `__ - `Python 3 `__ - `For Python 3k, drop default/implicit hash, and comparison `__ - `Bug day this Sunday? `__ - `Short-circuiting iterators `__ - `Standalone email package in the sandbox `__ ======== Epilogue ======== This is a summary of traffic on the `python-dev mailing list`_ from November 16, 2005 through November 30, 2005. It is intended to inform the wider Python community of on-going developments on the list on a semi-monthly basis. An archive_ of previous summaries is available online. An `RSS feed`_ of the titles of the summaries is available. You can also watch comp.lang.python or comp.lang.python.announce for new summaries (or through their email gateways of python-list or python-announce, respectively, as found at http://mail.python.org). This is the 8th summary written by the python-dev summary contingent of Steve Bethard and Tony Meyer (happy holidays!). To contact us, please send email: - Steve Bethard (steven.bethard at gmail.com) - Tony Meyer (tony.meyer at gmail.com) Do *not* post to comp.lang.python if you wish to reach us. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to advance the development and use of Python. If you find the python-dev Summary helpful please consider making a donation. You can make a donation at http://python.org/psf/donations.html . Every cent counts so even a small donation with a credit card, check, or by PayPal helps. -------------------- Commenting on Topics -------------------- To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list at python.org which is a gateway to the newsgroup) with a subject line mentioning what you are discussing. All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join `python-dev`_! ------------------------- How to Read the Summaries ------------------------- The in-development version of the documentation for Python can be found at http://www.python.org/dev/doc/devel/ and should be used when looking up any documentation for new code; otherwise use the current documentation as found at http://docs.python.org/ . PEPs (Python Enhancement Proposals) are located at http://www.python.org/peps/ . To view files in the Python CVS online, go to http://svn.python.org/projects/python/ . Reported bugs and suggested patches can be found at the SourceForge_ project page. Please note that this summary is written using reStructuredText_. Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo :); you can safely ignore it. We do suggest learning reST, though; it's simple and is accepted for `PEP markup`_ and can be turned into many different formats like HTML and LaTeX. Unfortunately, even though reST is standardized, the wonders of programs that like to reformat text do not allow us to guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the `original text file`_. .. _python-dev: http://www.python.org/dev/ .. _SourceForge: http://sourceforge.net/tracker/?group_id=5470 .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _c.l.py: .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _PEP Markup: http://www.python.org/peps/pep-0012.html .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. _last summary: http://www.python.org/dev/summary/2005-11-01_2005-11-15.html .. _original text file: http://www.python.org/dev/summary/2005-11-16_2005-11-30.ht .. _archive: http://www.python.org/dev/summary/ .. _RSS feed: http://www.python.org/dev/summary/channews.rdf From amk at amk.ca Tue Jan 3 20:30:22 2006 From: amk at amk.ca (A.M. Kuchling) Date: Tue, 3 Jan 2006 14:30:22 -0500 Subject: PyCon schedule available Message-ID: <20060103193022.GA31742@rogue.amk.ca> A close-to-final draft of the PyCon 2006 schedule has now been posted to the web: http://www.python.org/pycon/2006/schedule If you're a presenter, please check that your timeslot is OK for you, and let us know if there's a problem. Regards, A.M. Kuchling amk at amk.ca Chair, PyCon 2006 http://us.pycon.org From amk at amk.ca Tue Jan 3 20:44:20 2006 From: amk at amk.ca (A.M. Kuchling) Date: Tue, 3 Jan 2006 14:44:20 -0500 Subject: PyCon early-bird registration extended until January 15th Message-ID: <20060103194420.GC31742@rogue.amk.ca> Due to various issues with the hotel's reservation desk, the early bird registration for PyCon has been extended until January 15th. So, if you've been delaying registering for PyCon, you still have a chance to register at the lower early-bird price. The registration form is at http://www.python.org/pycon/2006/register What's going on: some sprint attendees have called the Dallas Marriott Quorum's reservation line and been told that the PyCon room rate is no longer available, and that they'll have to book at the regular hotel rate of $199/night. This is incorrect; the reservation line is confused, and we're trying to resolve the problem. Please don't be frightened away from PyCon if you've called the hotel and been told you have to pay $199/night. You can register for PyCon and book your hotel rooms later after this problem is resolved. You have until February 1st to book rooms at the PyCon rate. I'll post an announcement once the reservation issues are resolved. Regards, A.M. Kuchling amk at amk.ca Chair, PyCon 2006 http://us.pycon.org From prabhu_r at users.sf.net Wed Jan 4 18:00:05 2006 From: prabhu_r at users.sf.net (Prabhu Ramachandran) Date: Wed, 4 Jan 2006 22:30:05 +0530 Subject: [ANN] The Enthought Tool Suite Message-ID: <17339.65301.311015.989631@monster.iitb.ac.in> Greetings, This is to announce the *existence* of the Enthought Tool Suite (ETS). ETS is a collection of several useful components that together provide a powerful application framework with special emphasis on scientific and engineering applications. There are a large number of components, some stable and some under heavy development. These include: * Traits: (general purpose: stable) - Traits allow one to define special Python object attributes that elegantly support initialization, validation, delegation, notification and visualization (i.e. automatic generation of user interfaces) * Endo: (general purpose: stable) - Endo is a Traits aware API documentation tool. * PyFace: (user interface: stable) - PyFace is a collection of Traits-based MVC components for wxPython. * Envisage: (general purpose: UNSTABLE) - Envisage is an extensible Traits-based application framework. It offers a plug-in based architecture similar to the Java Eclipse framework. While most of the existing plug-ins are stable, the overall package itself, and the UI plug-in in particular, are still under heavy development. * Kiva: (graphics: stable) - Kiva is a multi-platform Display PDF 2D drawing engine that supports multiple output backends, including wxWidgets on Windows, GTK, and Carbon, a variety of raster image formats, PDF, and Postscript. * Chaco: (plotting: being re-factored) - Chaco is a Python toolkit for producing interactive plotting applications. Chaco applications can range from simple line plotting scripts up to GUI applications for interactively exploring different aspects of interrelated data. Chaco leverages other Enthought technologies such as Kiva, Enable, and Traits to produce highly interactive plots of publication quality. * TVTK: (graphics: stable) - TVTK is a Pythonic VTK wrapper for visualization, graphics and imaging in 2D/3D. It transparently supports Traits and Numeric/numarray/scipy arrays. * MayaVi2: (scientific/engineering: semi-stable, unfinished) - MayaVi2 is an Envisage plug-in for 2D/3D scientific data visualization. It is the next generation of the MayaVi scientific data visualizer. These tools together form the Enthought Tool Suite (ETS). ETS has been under heavy development for the last year or two. While some of the tools are still under heavy development, many of them like Traits, PyFace, Kiva, TVTK and others are stable enough for general use. Enthought's enhanced Python distribution (Enthon) and installers for several of the stable ETS components mentioned above are available here: http://code.enthought.com/ The source code is released under a BSD-like license. Up-to-date installers for the ETS are on their way and will be announced when ready. Those who are interested in the components that are still under development should check out the SVN repository (a fresh working copy is likely to occupy about 250MB). Trac interface (Wiki, code, issue tracker): http://www.enthought.com/enthought Build instructions: http://www.enthought.com/enthought/wiki/GrabbingAndBuilding Mailing list: http://mail.enthought.com/mailman/listinfo/envisage-dev ETS is developed and funded by Enthought, Inc., Austin, TX. Enjoy using the Enthought Tool Suite! Cheers, The Enthought Tool Suite Team From tepietrondi at yahoo.com Thu Jan 5 02:03:58 2006 From: tepietrondi at yahoo.com (Terrence A. Pietrondi) Date: Wed, 4 Jan 2006 17:03:58 -0800 (PST) Subject: csvdatmix Project Feedback Message-ID: <20060105010358.40825.qmail@web35703.mail.mud.yahoo.com> Hello, I have been working on a project written in Python and I would like to share to get some feedback. The name of the project is 'CSV Data Mix'(csvdatamix). The whole concept behind the project is to accept comma separated values as input, randomize that input and then output it. The objective is to conceal the original state of the data in situations where privacy is an issue, but similar data might be wanted for testing purposes. The project page is listed on Sourceforge.net at: http://sourceforge.net/projects/csvdatamix/ . Please feel free to send comments and suggestions. Thank you. Terrence A. Pietrondi tepietrondi at yahoo.com __________________________________________ Yahoo! DSL ? Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com From amk at amk.ca Thu Jan 5 05:04:16 2006 From: amk at amk.ca (A.M. Kuchling) Date: Wed, 4 Jan 2006 23:04:16 -0500 Subject: PSF: Funding available for attending PyCon Message-ID: <20060105040416.GA942@rogue.amk.ca> The Python Software Foundation has allocated some funds to help people attend PyCon 2006. If you'd like to come to PyCon but can't afford it, maybe the PSF can help you. The funding can cover any or all of: * Your registration for PyCon. * Your hotel room at the conference hotel * Your flight or other transportation. To apply, send an e-mail to . Please state your name, location, and what you would like to have funded. If you want assistance with your transportation costs, please provide a rough estimate (say, to the nearest US$100) of how much a round-trip flight/train ride/etc. will cost. You should also say why you should come to PyCon, and what you'll be doing. We don't need an essay, but please provide a few sentences of explanation. Messages must be received by January 22 2006. Upon receiving your message, we'll send you a notice of receipt. The PSF's PyCon committee (David Ascher, Steve Holden, Jeremy Hylton, A.M. Kuchling) will discuss the applications and allocate funding to a subset of the applicants. You should be notified of acceptance/rejection by January 31 2006. Cost notes: PyCon registration is US$185. Hotel rooms are around $90/night ~= $300 for the duration of the conference, $700 for conference + sprints. The hotel cost can be lower if you find someone to share a room with. The PSF can't cover your meals during the conference, or registration fees for tutorials. Priority will be given to people who can contribute significantly to PyCon or to Python, e.g. students working on a task, conference speakers, sprint leaders or developers critical to a sprint, or people doing public service work with Python. We'll be trying to maximize the benefit of the funding, so the committee is more likely to fund three people who need small amounts than one person who needs a large amount. To improve your chances, please try to request the minimum amount of funding you need to attend PyCon. A.M. Kuchling amk at amk.ca Chair, PyCon 2006 http://us.pycon.org From jan at jandecaluwe.com Thu Jan 5 11:08:37 2006 From: jan at jandecaluwe.com (Jan Decaluwe) Date: Thu, 05 Jan 2006 11:08:37 +0100 Subject: [ANNOUNCE] MyHDL 0.5 released Message-ID: <43BCF025.2070802@jandecaluwe.com> I'm pleased to announce the release of MyHDL 0.5. MyHDL is an open-source package for using Python as a hardware description and verification language. Moreover, it can convert a design to Verilog. Thus, MyHDL provides a complete path from Python to silicon. For a complete overview, go here: http://myhdl.jandecaluwe.com/doku.php/overview The manual is here: http://www.jandecaluwe.com/Tools/MyHDL/manual/MyHDL.html To find out the details of what's new, go here: http://myhdl.jandecaluwe.com/doku.php/whatsnew:0.5 Pythoneers may be interested in MyHDL's use of decorators: http://myhdl.jandecaluwe.com/doku.php/meps:mep-100 You can download the release from SourceForge: http://sourceforge.net/project/showfiles.php?group_id=91207 Best regards, Jan Decaluwe -- Jan Decaluwe - Resources bvba - http://www.jandecaluwe.com Losbergenlaan 16, B-3010 Leuven, Belgium From Python to silicon: http://myhdl.jandecaluwe.com From garabik-news-2005-05 at kassiopeia.juls.savba.sk Thu Jan 5 15:58:53 2006 From: garabik-news-2005-05 at kassiopeia.juls.savba.sk (garabik-news-2005-05 at kassiopeia.juls.savba.sk) Date: Thu, 5 Jan 2006 14:58:53 +0000 (UTC) Subject: ANN: unicode 0.6 Message-ID: unicode is a simple python command line utility that displays properties for a given unicode character, or searches unicode database for a given name. It was written with Linux in mind, but should work almost everywhere (including MS Windows and MacOSX), UTF-8 console is recommended. Changes since previous versions: * fix embarrassing mistake causing the script not to run without ~/.unicode directory already existing (thanks to Tim Hatch) * remove absolute path from z?grep, rely on OS's default PATH to execute the command(s) * add default path to UnicodeData.txt for MacOSX systems Author: Radovan Garab?k URL: http://kassiopeia.juls.savba.sk/~garabik/software/unicode/ License: GPL -- ----------------------------------------------------------- | Radovan Garab?k http://kassiopeia.juls.savba.sk/~garabik/ | | __..--^^^--..__ garabik @ kassiopeia.juls.savba.sk | ----------------------------------------------------------- Antivirus alert: file .signature infected by signature virus. Hi! I'm a signature virus! Copy me into your signature file to help me spread! From tim at zope.com Thu Jan 5 22:03:03 2006 From: tim at zope.com (Tim Peters) Date: Thu, 5 Jan 2006 16:03:03 -0500 Subject: ZODB 3.6.0 final released Message-ID: <015b01c6123b$6bbd0d00$0200a8c0@FATDESK> I'm pleased to announce the release of ZODB 3.6 final. This corresponds to the ZODB included (or that will be included) in Zope 2.9 final and Zope 3.2 final. You can download a source tarball or Windows installer from: http://zope.org/Products/ZODB3.6 Note that there are two Windows installers, for Python 2.3 (2.3.5 is recommended) and Python 2.4 (2.4.2 is recommended). Because Zope 2.9 and Zope 3.2 require Python 2.4.1+, it's unlikely that a Python 2.3 Windows installer will be built for later releases in the ZODB 3.6 line (I built one this time out of habit, but expect most people would rather see the time applied to something more generally useful). ZODB 3.6 adds a few new features, and incorporates all the bugfixes made to date in the ZODB 3.4 and 3.5 lines. Note that this is the first public release of ZODB 3.6 as a standalone package; 10 internal releases were made since last September to support ongoing Zope 2.9 and 3.2 development. See the NEWS file for details: http://zope.org/Products/ZODB3.6/NEWS.html The current status of all active ZODB lines can be seen here: http://www.zope.org/Wikis/ZODB/CurrentStatus Note that ZODB 3.2 is now officially "retired", corresponding to the retirement of the Zope 2.7 line (no new releases in the Zope 2.7 or ZODB 3.2 lines are planned). From amk at amk.ca Fri Jan 6 04:11:14 2006 From: amk at amk.ca (A.M. Kuchling) Date: Thu, 5 Jan 2006 22:11:14 -0500 Subject: PyCon: hotel issues resolved Message-ID: <20060106031114.GA2197@rogue.amk.ca> I'm assured that the reservation issues with the hotel have now been resolved, so you can now go ahead and book your hotel room for PyCon at the conference rate. See http://us.pycon.org/Addison/Hotels for more information and a link to Marriott's reservation site. If you've already booked a hotel room at the standard rate, call the hotel back and have them change your reservation to the conference rate. A.M. Kuchling amk at amk.ca Chair, PyCon 2006 http://us.pycon.org From gary at modernsongs.com Fri Jan 6 03:09:22 2006 From: gary at modernsongs.com (Gary Poster) Date: Thu, 5 Jan 2006 21:09:22 -0500 Subject: Fredericksburg, VA ZPUG Meeting: January 11, 7:30-9:00 PM Message-ID: Please join us January 11, 7:30-9:00 PM, for the seventh meeting of the Fredericksburg, VA Zope and Python User Group ("ZPUG"). Squid and Zope! Python and Zope roundtable! Free food! * Andrew Sawyers will discuss using the open source cache server Squid with Zope, including a discussion of the O'Reilly book about Squid (this talk was moved from our November meeting). * We will have a Python and Zope roundtable for questions and ideas about Zope or Python. Have a question you want to ask a Zope core developer or a Python core developer or a community Zope or Python user? Come by! * We will serve delicious food and soft drinks. We've had a nice group for all the meetings. Please come and bring friends! We also are now members of the O'Reilly and Apress user group programs, which gives us nice book discounts (prices better than Amazon's, for instance) and the possibility of free review copies. Ask me about details at the meeting if you are interested. General ZPUG information When: second Wednesday of every month, 7:30-9:00. Where: Zope Corporation offices. 513 Prince Edward Street; Fredericksburg, VA 22408 (tinyurl for map is http://tinyurl.com/duoab). Parking: Zope Corporation parking lot; entrance on Prince Edward Street. Topics: As desired (and offered) by participants, within the constraints of having to do with Python or Zope. Contact: Gary Poster (gary at zope.com) From edreamleo at charter.net Fri Jan 6 15:37:10 2006 From: edreamleo at charter.net (Edward K. Ream) Date: Fri, 6 Jan 2006 08:37:10 -0600 Subject: ANN: Leo 4.4a5 released Message-ID: Leo 4.4 alpha 5 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This release completes the last major features of Leo 4.4: - User-specified key-binding modes. - Support for multiple key-bindings for individual minibuffer commands. This will be the last alpha version of Leo 4.4. Beta 1 is coming in about a week. You should be able to use this version safely; there are no known serious bugs. To learn about Leo, see: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: ---------------------------------- - An Emacs-like mini-buffer: you can now execute any command by typing its long name. Support for tab completion. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Support for most commands in the Emacs Cmds menu, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. - Per-pane key bindings. You can bind shortcuts to multiple commands depending on which of Leo's panes presently has focus. For example, you can use arrow keys to move nodes in the outline pane, while retaining their defaults in Leo's body pane. - User-specified key-binding modes. This feature makes it possible to emulate all aspects of Emacs and Vim as far as key bindings are concerned. - Leo recovers from crashes much more reliably than in any previous version. - @command nodes create minibuffer commands. You can bind key shortcuts to @button and @command nodes. - Leo handles key events and updates the screen immediately rather than queuing them for idle time. - Leo updates the screen immediately rather than waiting for idle time. This improves response. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------------------------------------------------------------------- Edward K. Ream email: edreamleo at charter.net Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From benji at zope.com Fri Jan 6 15:08:03 2006 From: benji at zope.com (Benji York) Date: Fri, 06 Jan 2006 09:08:03 -0500 Subject: Fredericksburg, VA ZPUG Meeting: January 11, 7:30-9:00 PM Message-ID: <43BE79C3.30507@zope.com> Please join us January 11, 7:30-9:00 PM, for the seventh meeting of the Fredericksburg, VA Zope and Python User Group ("ZPUG"). Squid and Zope! Python and Zope roundtable! Free food! * Andrew Sawyers will discuss using the open source cache server Squid with Zope, including a discussion of the O'Reilly book about Squid (this talk was moved from our November meeting). * We will have a Python and Zope roundtable for questions and ideas about Zope or Python. Have a question you want to ask a Zope core developer or a Python core developer or a community Zope or Python user? Come by! * We will serve delicious food and soft drinks. We've had a nice group for all the meetings. Please come and bring friends! We also are now members of the O'Reilly and Apress user group programs, which gives us nice book discounts (prices better than Amazon's, for instance) and the possibility of free review copies. Ask me about details at the meeting if you are interested. General ZPUG information When: second Wednesday of every month, 7:30-9:00. Where: Zope Corporation offices. 513 Prince Edward Street; Fredericksburg, VA 22408 (tinyurl for map is http://tinyurl.com/duoab). Parking: Zope Corporation parking lot; entrance on Prince Edward Street. Topics: As desired (and offered) by participants, within the constraints of having to do with Python or Zope. Contact: Gary Poster (gary at zope.com) From garabik-news-2005-05 at kassiopeia.juls.savba.sk Fri Jan 6 20:32:35 2006 From: garabik-news-2005-05 at kassiopeia.juls.savba.sk (garabik-news-2005-05 at kassiopeia.juls.savba.sk) Date: Fri, 6 Jan 2006 19:32:35 +0000 (UTC) Subject: ANN: mountpy 0.5 Message-ID: mountpy is a python script for quick automatic mounting and umounting of external filesystems, especially suited for USB removable devices. mountpy is developed on linux, and is meant for modern linux systems. This is version 0.5, changes from previous version: - use setuid wrapper from python source distribution (suggested by ???? ????????/Oleg Broytmann) - do not try to umount directory which is not a mountpoint (caused some confusing, though harmless, messages) URL: http://kassiopeia.juls.savba.sk/~garabik/software/mountpy/ License: GPL -- ----------------------------------------------------------- | Radovan Garab?k http://kassiopeia.juls.savba.sk/~garabik/ | | __..--^^^--..__ garabik @ kassiopeia.juls.savba.sk | ----------------------------------------------------------- Antivirus alert: file .signature infected by signature virus. Hi! I'm a signature virus! Copy me into your signature file to help me spread! From frank at niessink.com Sat Jan 7 00:27:24 2006 From: frank at niessink.com (Frank Niessink) Date: Sat, 07 Jan 2006 00:27:24 +0100 Subject: [ANN] Release 0.54 of Task Coach Message-ID: <43BEFCDC.5070100@niessink.com> Hi all, I'm pleased to announce release 0.54 of Task Coach. New in this release: Bugs fixed: * The accelerators INSERT and Ctrl+INSERT were mapped to 'c' and 'Command-Copy' on the Mac, which caused Task Coach to create a new task whenever the user typed a 'c'. Fixed by changing the accelerators for new task and new subtask to Ctrl+N and Shift+Ctrl+N (on the Mac only). * It was possible to enter control characters -- by copy-and-pasting -- resulting in invalid XML in the Task Coach file. * One python file was missing in the source distribution of release 0.53. Added a test to check that all python files in the source are actually added to the source distributions, so hopefully this will never happen again. Feature added: * Effort can be exported as iCalendar (ICS) file and imported into e.g. Mozilla Sunbird. Each effort record is exported as a "VEVENT". This is an experimental feature. Patch provided by Gissehel. What is Task Coach? Task Coach is a simple task manager that allows for hierarchical tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is developed using Python and wxPython. You can download Task Coach from: http://taskcoach.niessink.com https://sourceforge.net/projects/taskcoach/ A binary installer is available for Windows XP, in addition to the source distribution. Note that Task Coach is alpha software, meaning that it is wise to back up your task file regularly, and especially when upgrading to a new release. Cheers, Frank From dberlin at gmail.com Sat Jan 7 15:21:07 2006 From: dberlin at gmail.com (dberlin at gmail.com) Date: 7 Jan 2006 06:21:07 -0800 Subject: Ann: FarPy GUIE v0.3.1 Message-ID: <1136643667.266237.171280@g14g2000cwa.googlegroups.com> GUIE (GUI Editor) provides a simple WYSIWYG GUI editor for wxPython. The program was made in C# and saves the GUI that was created to a XML format I called GUIML. This GUIML is a pretty standard representation of the GUI created with the program. Next, GUIE takes these GUIML files and translates it to wxPython Python code. You may ask yourself why I took the extra step? Why didn't I go straight from C# controls to wxPython code? Why is GUIML necessary? Well, it isn't. It is there simply for people (or maybe I) to take the GUIML and convert it to other languages. This, by effect can convert this tool from a Python GUI editor, to "any programming language with a GUI module" GUI editor. http://farpy.holev.com Changes (as of v0.3.1) Added: Cut + Copy + Paste Functionality! Added: Code window (shows exported code; possible to disable in settings) Added: Error reporting option Changed: Preperations for multi GUI language support From aahz at pythoncraft.com Sat Jan 7 16:54:08 2006 From: aahz at pythoncraft.com (Aahz) Date: Sat, 7 Jan 2006 07:54:08 -0800 Subject: BayPIGgies: January 12, 7:30pm (Google) Message-ID: <20060107155408.GA13810@panix.com> The next meeting of BayPIGgies will be Thurs, January 12 at 7:30pm at Google, room Tunis. Meet in the lobby of building 43. This will be a combo meeting: * First Marilyn Davis will practice her "Why Python?" talk -- she's looking for feedback and suggestions on improving it. * We'll fill the rest of the time with a "Newbies Night"; this is your opportunity to get realtime responses to questions about Python BayPIGgies meetings alternate between IronPort (San Bruno, California) and Google (Mountain View, California). For more information and directions, see http://baypiggies.net/ Before the meeting, we sometimes meet at 6pm for dinner. Discussion of dinner plans is handled on the BayPIGgies mailing list. Advance notice: We need speakers for February and later; the February meeting is currently reserved for PyCon speakers wanting practice, and the March meeting will probably be a PyCon wrap-up. Please e-mail baypiggies at python.org if you want to suggest an agenda (or volunteer to give a presentation). -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ "19. A language that doesn't affect the way you think about programming, is not worth knowing." --Alan Perlis From dopal-annmail at sixtyten.org Sat Jan 7 18:18:19 2006 From: dopal-annmail at sixtyten.org (Allan Crooks) Date: Sat, 07 Jan 2006 17:18:19 +0000 Subject: [ANN] DOPAL 0.54 - Python library for Azureus Message-ID: <43BFF7DB.5010602@sixtyten.org> DOPAL is a library to allow programs written in Python to easily communicate the Java BitTorrent client Azureus, via the XML/HTTP plugin (allowing communication over a network). Version 0.54 is the first public release of DOPAL - which I've been working on (on and off) for the last 18 months. It provides a very Pythonic way of interacting with the objects available in Azureus's Plugin API - you can interact with remote objects and invoke methods on them as easily as any normal Python object (while all the connection handling and XML generation and parsing is done behind the scenes). It also allows you to write code which can do just the same things as Java plugins for Azureus can (well, almost). Please give it a try, let me know what you think... http://dopal.sourceforge.net/ Here's some sample output of DOPAL being used - a more elaborate example can be found here: http://dopal.sourceforge.net/examples.html ----- Python 2.3.5 (#62, Feb 8 2005, 16:23:02) [MSC v.1200 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import dopal.main >>> connection = dopal.main.make_connection(host='10.0.0.4') >>> plugin_interface = connection.getPluginInterface() >>> print connection AzureusObjectConnection for 10.0.0.4 [Azureus 2.3.0.6] >>> downloads = plugin_interface.getDownloadManager().getDownloads() >>> len(downloads) 177 >>> example_download = downloads[0] >>> print example_download Download: Rarities [Stopped, 0.0%] >>> print example_download.scrape_result DownloadScrapeResult: Seeds: 272, Peers: 123 >>> example_download.restart() # Starts the download >>> # Let a little time elapse... >>> example_download.refresh_object() >>> print example_download Download: Rarities [Downloading, 23.3%] From srichter at cosmos.phy.tufts.edu Sun Jan 8 15:39:08 2006 From: srichter at cosmos.phy.tufts.edu (Stephan Richter) Date: Sun, 8 Jan 2006 09:39:08 -0500 Subject: Zope 3.2.0 released! Message-ID: <200601080939.08296.srichter@cosmos.phy.tufts.edu> The Zope 3 development team is proud to announce Zope 3.2.0. Zope 3 is the next major Zope release and has been written from scratch based on the latest software design patterns and the experiences of Zope 2. It is our opinion that Zope 3 is more than ready for production use, which is why we decided to drop the 'X' for experimental from the name. We will also continue to work on making the transition between Zope 2 and Zope 3 as smooth as possible. As a first step, Zope 2.8 includes Zope 3 features in the form of Five. This is a long term effort. We're not there yet. **You can't run Zope 2 applications in Zope 3.** Downloads http://zope.org/Products/Zope3 Installation instructions for both Windows and Un*x/Linux are now available in the top level 'README.txt' file of the distribution. The binary installer is recommended for Windows. Zope 3.2 requires Python 2.4.2 to run. You must also have zlib installed on your system. Most Important Changes Since 3.1 - The ZServer has been replaced with the Twisted server. The Twisted server supports all that the ZServer supporting has well has HTTP over SSL natively and SFTP (disabled for now because of error handling problems). Also in the future it brings a better chance of other non-HTTP related protocols from being implemented for Zope3, like SMTP-in and IMAP. ZServer is still supported and will be used if you use the --zserver when you run mkzopeinstance. - Added a test browser. The test browser simulates a real Web browser as much as possible as a Python object. This allows us to write functional tests the same way the site would be experienced by the user. This greatly simplifies functional tests, makes documentation better and even helps analyzing usability. And of course, it can be used in functional doctests. - Changed the way returning large results is handled. The response.write method is no longer supported. Applications can now simply return files to the publisher. - Implemented the password managers proposal. Main idea beside the proposal is a standard way to implement password encoders/checkers, see zope.app.authentication.interfaces.IPasswordManager for details. + Added basic password managers: Plain Text, MD5, SHA1. + Support for password managers added for ZCML principals and principals saved in local PrincipalFolers. + Added bin/zpasswd command line script which helps to create ZCML principals. + Password managers support integrated into bin/mkzopeinstance. + New database generation created for convert local principals to new format. - Implemented the language namespace proposal. Now you can override the browser preferred language through the URL, like this: http://site.org/++lang++ru/path Note: If you want to use a custom IUserPreferredLanguages adapter and the '++lang++' feature together you should use zope.app.publisher.browser.CacheableBrowserLanguages adapter as a base class or at least as example. - Implemented a new object introspector. Instead of just providing information of the object's class, the new introspector focuses on providing information that is specific to the instance, such as directly provided interfaces and data, for example attribute values and annotation values. - Implemented the `devmode` switch for `zope.conf`. When turned on a ZCML feature called `devmode` is provided. Packages can then register functionality based on this feature. In Zope 3 itself, the devmode is used to only load the API doc is devmode; turning off the devmode thus closes a potential security hole and increases the start time by more than a second. - addMenuItem directive supports a `layer` attribute. - Added a re-implementation of i18n message IDs (now simply called ``Message``) that is immutable and thus can be treated like unicode strings with respect to security proxying. This implementation will replace the old one in upcoming versions. - Added "test" message catalog for testing i18n. If you specify ++lang++test in a URL, then all translated strings will be translated to [[domain][message_id], as in "[[zope][Preview]]". Text without the domain marker isn't translated. For a complete list of changes see the 'CHANGES.txt' file. Resources - "Zope 3 Development Web Site":http://dev.zope.org/Zope3 - "Zope 3 Dev Mailing List":http://mail.zope.org/mailman/listinfo/zope3-dev - "Zope 3 Users Mailing List":http://mail.zope.org/mailman/listinfo/zope3-users - IRC Channel: #zope3-dev at irc.freenode.net Acknowledgments Thanks goes to everyone that contributed. Enjoy! The Zope 3 Development Team From amk at amk.ca Sun Jan 8 18:21:16 2006 From: amk at amk.ca (A.M. Kuchling) Date: Sun, 8 Jan 2006 12:21:16 -0500 Subject: PyCon TX 2006: Early-bird registration ends Jan. 15! Message-ID: <20060108172116.GB8928@rogue.amk.ca> Early bird registration for PyCon TX 2006 ends on January 15th, so there's only a week left. To register, please go to: http://us.pycon.org/TX2006/Registration You can still register after Jan. 15th, but the cost will go up by US$65 (US$25 for students). This year PyCon will feature a day of tutorials before the three days of regular presentations. Course outlines for all the tutorials have been posted; see http://wiki.python.org/moin/PyCon2006/Tutorials All of the PyCon tutorials are still open for new registrations, but space is limited. Don't forget to book your hotel room, too. PyCon TX 2006 is being held at a Dallas/Addison hotel, and we have negotiated a special low rate of $79 plus applicable taxes: http://us.pycon.org/Addison/Hotels We hope to see you in Texas! Regards, A.M. Kuchling amk at amk.ca Chair, PyCon 2006 http://us.pycon.org From amk at amk.ca Sun Jan 8 20:02:10 2006 From: amk at amk.ca (A.M. Kuchling) Date: Sun, 8 Jan 2006 14:02:10 -0500 Subject: PyCon: Plone, Python, BitTorrent keynotes Message-ID: <20060108190210.GA8961@rogue.amk.ca> The keynotes at PyCon 2006 can now be announced. Alan Runyan and Alexander Limi will open the conference with a keynote about Plone. I haven't received a title yet, but I expect it will provide an overview of Plone's current status, how it's developed, and where the Plone project is headed. On the middle day of the conference (Saturday), Guido van Rossum will give his traditional State of Python talk that will presumably cover the new features that were introduced in Python 2.4 and the features coming in Python 2.5. On the final day, we'll have Bram Cohen, creator of BitTorrent. The format won't be a conventional keynote; instead, Cohen has requested to be interviewed. An interviewer hasn't been chosen yet, but you can suggest questions on a wiki page at . A.M. Kuchling amk at amk.ca Chair, PyCon 2006 http://us.pycon.org From ianb at colorstudy.com Mon Jan 9 07:45:04 2006 From: ianb at colorstudy.com (Ian Bicking) Date: Mon, 09 Jan 2006 00:45:04 -0600 Subject: ANN: Python Paste 0.4 Message-ID: <43C20670.8020305@colorstudy.com> I'm pleased to announce the 0.4 release of the Paste Suite: Paste core, Script, Deploy, and WebKit. Locations --------- Web: http://pythonpaste.org Download: http://cheeseshop.python.org/pypi/Paste http://cheeseshop.python.org/pypi/PasteScript http://cheeseshop.python.org/pypi/PasteDeploy http://cheeseshop.python.org/pypi/PasteWebKit (or just use easy_install!) Mailing list, etc: http://pythonpaste.org/community/ Changes ------- This release brings bugfixes and new code. Thanks to Clark Evans for many of the contributions, and to Ben Bangert for giving this project more exercise. A quick overview: * A new exception-catching middleware (evalexception) for interactive debugging, including through-the-browser execution of Python code in the context of a traceback. * A paste.auth package for authentication/identification, including HTTP Basic/Digest, cookies, CAS (single-signon), and OpenID (another single-signon) * Many added improvements and conveniences for people working on the HTTP level, in the httpexceptions, httpheaders, fileapp modules. * Moving modules around to make the layout more logical (old imports are supported with warnings). * Paste Script has experimental new commands to install and setup web applications. Also improvements to the command-line interaction. * Paste Deploy and WebKit are largely maintenance releases. What Is It? ----------- Paste is a set of tools for building web applications and frameworks using WSGI. All the pieces are framework-neutral, and facilitate both high-level (non-leaky) abstractions built on top of them (frameworks) and low-level access to raw WSGI/HTTP. Paste Deploy is a way to configure WSGI applications and application stacks using Egg plugin facilities and a simple configuration file. It offers uniformity to web application deployment and configuration. Paste Script is a pluggable frontend for managing projects, and for serving up web applications using Paste Deploy and pluggable WSGI servers. Paste WebKit is an implementation of Webware/WebKit using WSGI and the tools in Paste. -- Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org From astraw at caltech.edu Mon Jan 9 16:51:14 2006 From: astraw at caltech.edu (Andrew Straw) Date: Mon, 09 Jan 2006 15:51:14 GMT Subject: [ANN] Vision Egg 1.0 release Message-ID: I am pleased to announce the Vision Egg 1.0, a free, open source software library for producing visual stimuli for use in vision research experiments. Please visit our website at http://www.visionegg.org = What is the Vision Egg? = The Vision Egg is based on OpenGL, enabling hardware-accelerated drawing on Windows, Mac OS X, linux, and other operating systems. It is capable of generating many stimuli in realtime, enabling closed-loop and gaze-contingent experiments. The library can utilize 3D projection geometry so that wide-field stimuli such as sinusoidal gratings or panoramic images may be specified in angular units and appropriately distorted for flat or other displays. The library comes with numerous demonstration programs which provide a 'hands-on' way to learn its capabilities. The Vision Egg is written in the Python computer language utilizing several third party modules, all of which are free, open source software. Additional software is available, such as a Python implementation of the popular QUEST Bayesian adaptive psychometric method by Watson and Pelli and Pylink, an interface for the EyeLink eyetrackers from SR Research. = What is new in this release? = Release 1.0 comes after 2 years of beta-testing by laboratories around the world. Since the release of version 0.9.9, the following changes have been made: * Major enhancements to the ephys server/GUI code to use normal (or slightly modified) demo scripts in this environment were done by Imran Ali and Lachlan Dowd in the lab of David O'Carroll at the University of Adelaide. * An initial patch for stereo support sent by Yuichi Sakano and Kevin J. MacKenzie at York University. * Parallel port enhancements by Hubertus Becker, University of T?bingen. * Arrow and FilledCircle stimuli by Hubertus Becker, University of T?bingen. * DaqKeyboard and ResponseControl by Hubertus Becker, University of T?bingen. * Full screen anti-aliasing support (FSAA) by Mark Halko, Boston University. * Various patches by Tony Arkles (University of Saskatchewan), including a suggestion to separate camera motions from the GL_PROJECTION matrix and put them in the GL_MODELVIEW matrix, where they belong. * Patch for VISIONEGG_SYSTEM_DIR by Nick Knouf, MIT. * Added win32_vretrace.WaitForRetrace() (but it's not used for much, yet) * Enhancements to EPhys Server/GUI sequencer * Added 'lat-long rectangle' to available 3D masking windows * Moved controller.CONSTANTS into FlowControl module namespace * Numerous bugfixes For further information, or to download the Vision Egg, visit http://www.visionegg.org From Felix.Wiemann at gmx.net Mon Jan 9 22:03:29 2006 From: Felix.Wiemann at gmx.net (Felix Wiemann) Date: Mon, 09 Jan 2006 22:03:29 +0100 Subject: Released: Docutils 0.4 Message-ID: <87irsti066.fsf@news2.ososo.de> ======================= Docutils 0.4 Released ======================= Docutils 0.4 has been released. You can download it from . What Is Docutils? ================= Docutils is a system for processing plaintext documentation into various useful formats, such as HTML or LaTeX. It includes reStructuredText, the easy to read, easy to use, what-you-see-is-what-you-get plaintext markup language. Major Changes Since The Previous Release (0.3.9) ================================================ * Added an S5/HTML writer and the rst2s5.py front end: multi-platform, multi-browser HTML slide shows. See and . * The newlatex2e writer is nearing completion. * Added a DocTree reader, ``publish_doctree`` and ``publish_from_doctree`` convenience functions, for document tree extraction and reprocessing. * Added directives: "container" (generic block-level container), "default-role" (role used for `backtick` syntax), "title" (document title metadata), and "date" (generate the current local date, for substitution definitions). See . * Length units are now supported for image sizes; see . * Added standard definition files for special characters etc.; see . * Added Japanese and Simplified Chinese language mappings, and support for double-width CJK-characters in tables and section titles. * Added a guide for distributors (http://docutils.sf.net/docs/dev/distributing.html) and a guide for developers (http://docutils.sf.net/docs/dev/hacking.html). * Added significant Emacs support for reST; see . * Added a --strip-comments option; see . * --embed-stylesheet is now the default for the HTML writer (rather than --link-stylesheet). Compatibility Note ================== Docutils 0.4.x is the last version that will support Python 2.1. Docutils 0.5 will *not* be compatible with Python 2.1; Python 2.2 or later will be required. Docutils 0.4.x is the last version that will make compromises in its HTML output for Netscape Navigator 4. Docutils 0.5 will require more up-to-date browsers (the exact definition is to be determined). -- Felix Wiemann -- http://www.ososo.de/ From Fernando.Perez at Colorado.EDU Tue Jan 10 09:54:41 2006 From: Fernando.Perez at Colorado.EDU (Fernando Perez) Date: Tue, 10 Jan 2006 01:54:41 -0700 Subject: IPython 0.7.0 is out. Message-ID: <43C37651.8040905@colorado.edu> Hi all, After a long hiatus (0.6.15 was out in June of 2005), I'm glad to announce the release of IPython 0.7.0, with lots of new features. WHAT is IPython? ---------------- 1. 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. 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. A flexible framework which can be used as the base environment for other systems with Python as the underlying language. 4. A shell for interactive usage of threaded graphical toolkits. IPython has support for interactive, non-blocking control of GTK, Qt and WX applications via special threading flags. The normal Python shell can only do this for Tkinter applications. WHERE to get it? ---------------- IPython's homepage is at: http://ipython.scipy.org and downloads are at: http://ipython.scipy.org/dist I've provided: - source downloads (.tar.gz) - RPMs (for Python 2.3 and 2.4, built under Fedora Core 3). - Python Eggs (http://peak.telecommunity.com/DevCenter/PythonEggs). - a native win32 installer for both Python 2.3 and 2.4. Fedora users should note that IPython is now officially part of the Extras repository, so they can get the update from there as well (though it may lag by a few days). Debian, Fink and BSD packages for this version should be coming soon, as the respective maintainers (many thanks to Jack Moffit, Norbert Tretkowski, Andrea Riciputi and Dryice Liu) have the time to follow their packaging procedures. A lot of new features have gone into this release, the bulk of which were driven by user feedback and requests, and more importantly by patches from IPython users. I greatly appreciate these contributions, and hope they will continue in the future. In particular, thanks to Vivian de Smedt, Jorgen Stenarsson and Ville Vainio, who contributed large patches with much of the new significant functionality. I've tried to provide credit in the notes below and the project's ChangeLog, please let me know if I've accidentally ommitted you. Many thanks to Enthought for their continued hosting support for IPython. Release notes ------------- *** WARNING: compatibility changes *** - IPython now requires at least Python 2.3. If you can't upgrade from 2.2, you'll need to continue using IPython 0.6.15. *** End warning. As always, the NEWS file can be found at http://ipython.scipy.org/NEWS, and the full ChangeLog at http://ipython.scipy.org/ChangeLog. The highlights of this release follow. - Wildcard patterns in searches, supported by the %psearch magic, as well as the '?' operator. Type psearch? for the full details. Extremely useful, thanks to J?rgen Stenarson. - Major improvements to the pdb mode. It now has tab-completion, syntax highlighting and better stack handling. Thanks to Vivian De Smedt for this work (double-points given that pdb has a well-deserved reputation for being very unpleasant to work with). - Support for input with empty lines. If you have auto-indent on, this means that you need to either hit enter _twice_, or add/remove a space to your last blank line, to indicate you're done entering input. These changes also allow us to provide copy/paste of code with blank lines. - Support for pasting multiline input even with autoindent on. The code will look wrong on screen, but it will be stored and executed correctly internally. - TAB on an otherwise empty line actually inserts a tab. Convenient for indenting (for those who don't use autoindent). - Significant improvements for all multithreaded versions of ipython. Now, if your threaded code raises exceptions, instead of seeing a crash report, a normal (colored, verbose, etc.) exception is printed. Additionally, if you have pdb on, it will activate in your threaded code. Very nice for interactively debugging GUI programs. - Many fixes to embedded ipython, including proper handling of globals and tab completion. - New -t and -o options to %logstart, to respectively put timestamps in your logs, and to also log all output (tagged as #[Out]#). The default log name is now ipython_log.py, to better reflect that logs remain valid Python source. - Lightweight persistence mechanism via %store. IPython had always had %save, to write out a group of input lines directly to a file. Now, its %store companion stores persistently (associated with your profile, and auto-loaded at startup) not just source, but any python variable which can be pickled. Thanks to Matt Wilkie for the request, and ville for the patches. - Macros (created with %macro) can now be edited with %edit (just say '%edit macroname'). This, coupled with the ability to store them persistently, makes the macro system much more useful. - New guarantee that, if you disable autocalling, ipython will never call getattr() on your objects. This solves problems with code that has side-effects on attribute access. Note that TAB-completion inevitably does call getattr(), so not all forms of side-effects can be eliminated. - Unicode support for prompts. - Improvements to path handling under win32. Thanks to Ville and Jorgen for the patches. - Improvements to pager under win32. Contributed by Alexander Belchenko. - Demo class for interactive demos using ipython. - %pycat magic for showing syntax-highlighted python sources - support for download_url in setup.py, so PyPI (and setuptools) work transparently with ipython. - New exit/quit magics to exit, conditionally asking (%Exit/%Quit don't) - Automatically reopen the editor if your file has a syntax error in it (when using the %edit system). - New notation N-M for indicating the range of lines N,...,M (including both endpoints), in magic commands such as %macro, %save and %edit. - The IPython instance has a new attribute, .meta, which is an empty namespace (an instance of 'class Bunch:pass'). This is meant to provide extension writers with a safe namespace to store metadata of any kind, without the risk of name clashes with IPython's internals. - Added tab-completion support for objects with Traits, a sophisticated type definition system for Python: http://code.enthought.com/traits. - Several patches related to Emacs support. Thanks to Alex Schmolck and John Barnard. - New 'smart' autocall mode, which avoids autocalling if a function with no arguments is the input. The old 'full' mode can be obtained by setting the autocall parameter in the ipythonrc to 2, or via the %autocall magic. - A large amount of internal reorganization and cleanup, to allow the code to be more readily moved over to the chainsaw branch (see below). - Many other small fixes and enhancements. The changelog has full details. Enjoy, and as usual please report any problems on the IPython lists. Regards, Fernando. From fabioz at esss.com.br Tue Jan 10 12:15:30 2006 From: fabioz at esss.com.br (Fabio Zadrozny) Date: Tue, 10 Jan 2006 09:15:30 -0200 Subject: PyDev 0.9.8.6 released In-Reply-To: <437CB368.2010501@esss.com.br> References: <43382E1F.3000600@esss.com.br> <434E801E.3010702@esss.com.br> <437CB368.2010501@esss.com.br> Message-ID: <43C39752.8040302@esss.com.br> Hi All, PyDev - Python IDE (Python Development Enviroment for Eclipse) version 0.9.8.6 has been released. Check the homepage (http://pydev.sourceforge.net/) for more details. Details for Release: 0.9.8.6: Major highlights: ------------------- * Added a new 'Pydev project' wizard (Mikko Ohtamaa contribution) -- it is named as Pydev Project instead of Python project because it creates Python and Jython projects. * Added a new 'Pydev module' wizard (Mikko Ohtamaa contribution) -- NOTE: it still needs some work. * Changes in the shell spawning were done, and no hangs should appear when trying to do code-completion anymore (if it still hapens, please report it as a bug -- NOTE: a little delay on the first time code-completion is executed is expected, as this is the time the shell is started). * Other bugfixes (as usual) Cheers, Fabio -- Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software www.esss.com.br PyDev - Python Development Enviroment for Eclipse pydev.sf.net pydev.blogspot.com From 2005a at usenet.alexanderweb.de Tue Jan 10 20:51:53 2006 From: 2005a at usenet.alexanderweb.de (Alexander Schremmer) Date: Tue, 10 Jan 2006 20:51:53 +0100 Subject: ANN: MoinMoin 1.5.0 (advanced wiki engine) released Message-ID: _ _ /\/\ ___ (_)_ __ /\/\ ___ (_)_ __ / \ / _ \| | '_ \ / \ / _ \| | '_ \ __ / /\/\ \ (_) | | | | / /\/\ \ (_) | | | | | /| |_ \/ \/\___/|_|_| |_\/ \/\___/|_|_| |_| |.__) ============================================== MoinMoin 1.5.0 advanced wiki engine released ============================================== MoinMoin is an easy to use, full-featured and extensible wiki software package written in Python. It can fulfill a wide range of roles, such as a personal notes organizer deployed on a laptop or home web server, a company knowledge base deployed on an intranet, or an Internet server open to individuals sharing the same interests, goals or projects. A wiki is a collaborative hypertext environment with an emphasis on easy manipulation of information. MoinMoin 1.5.0 is the first release on the 1.5 branch bringing you several new features such as the GUI editor, which allows the users to edit pages in a WYSIWYG environment, and many bug fixes. The download page: http://moinmoin.wikiwikiweb.de/MoinMoinDownload Major new features in 1.5 ========================= * The WYSIWYG editor for wiki pages allows you to edit pages without touching the markup. Furthermore, the wiki page is not stored as HTML after editing but kept as wiki markup in order to simplify the editing process for users that cannot or do not want to use the new editor. * AutoAdmin security policy allows users to gain admin permissions on particular pages. * The new authentication system allows to add short methods that check the credentials of the user. This allowed us to add eGroupware single sign on support. * Separation of homepages into a separate wiki (in a farm) and having a single user database is supported. * A DeSpam action to allow mass-reverting of spam attacks. * PackageInstaller support for simplified installation of plugins, themes and page bundles. Note that Python 2.3.0 or newer is required. For a more detailed list of changes, see the CHANGES file in the distribution or http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.5/CHANGES MoinMoin History ================ MoinMoin has been around since year 2000. The codebase was initally started by J?rgen Hermann; it is currently being developed by a growing team. Being originally based on PikiPiki, it has evolved heavily since then (PikiPiki and MoinMoin 0.1 consisted of just one file!). Many large enterprises have been using MoinMoin as a key tool of their intranet, some even use it for their public web page. A large number of Open Source projects use MoinMoin for communication and documentation. Of course there is also many private installations. More Information ================ * Project site: http://moinmoin.wikiwikiweb.de/ * Feature list: http://moinmoin.wikiwikiweb.de/MoinMoinFeatures * Download: http://moinmoin.wikiwikiweb.de/MoinMoinDownload * DesktopEdition: http://moinmoin.wikiwikiweb.de/DesktopEdition * This software is available under the GNU General Public License v2. * Changes: http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.5/CHANGES * Known bugs: * http://moinmoin.wikiwikiweb.de/KnownIssues * http://moinmoin.wikiwikiweb.de/MoinMoinBugs sent by Alexander Schremmer for the MoinMoin team From dvkeeney at gmail.com Wed Jan 11 00:31:41 2006 From: dvkeeney at gmail.com (David) Date: Tue, 10 Jan 2006 18:31:41 -0500 Subject: SPyRE new version 0.7 Message-ID: <6e04113a0601101531v55803234o88feae4d1057c2f7@mail.gmail.com> SPyRE v 0.7 SPyRE is a Simple Pythonic Rendering Engine for OpenGL Changes since v 0.6 The design is more modular, with components to handle display object group management and time-keeping/progress control, in addition to the components in prior versions to handle the environment and interface. Engine supports multiple viewports now. Stereoscopic module rewritten so that stereo components wrap non-stereo equivalents. New stereoscopic demos added, for both edimensional LCD glasses and red/blue glasses The engine's 'idle' method can be a regular method or a generator method. Engine mainloop control is via Exceptions, so that engine can be exited or restarted from a displayable object. A test suite has been added, various bugs fixed, and the code checked in Pychecker. A couple of demos have been added. Distribution packages has been re-organized, with demos and tests in subdirs; demos will run without installing module Find package (.egg or .zip) at http://sourceforge.net/project/showfiles.php?group_id=110483 . Dependancies are only Python (2.3), Pygame, and PyOpenGL David Keeney -- dkeeney at travelbyroad.net Pitcher's Duel -> pduel.sourceforge.net -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20060110/cd0e7a1d/attachment.html From sylvain.thenault at logilab.fr Tue Jan 10 15:59:37 2006 From: sylvain.thenault at logilab.fr (Sylvain =?iso-8859-1?Q?Th=E9nault?=) Date: Tue, 10 Jan 2006 15:59:37 +0100 Subject: [ANN] astng 0.14 Message-ID: <20060110145936.GO5228@logilab.fr> Hi ! I'm pleased to announce the new 0.14 version of astng. This release mainly provides some major internal and api changes to have a richer model and a start for static inference on ast nodes. What's new ? ------------ * some major inference improvments and refactoring ! The drawback is the introduction of some non backward compatible change in the API but it's imho much cleaner and powerful now :) * new boolean property .newstyle on Class nodes (implements #10073) * new .import_module method on Module node to help in .resolve refactoring * .instance_attrs has list of assignments to instance attribute dictionary as value instead of one * added missing GenExprIf and GenExprInner nodes, and implements as_string for each generator expression related nodes * specifically catch KeyboardInterrupt to reraise it in some places * fix so that module names are always absolute * fix .resolve on package where a subpackage is imported in the __init__ file * fix a bug regarding construction of Function node from living object with realier version of python 2.4 * fix a NameError on Import and From self_resolve method * fix a bug occuring when building an astng from a living object with a property * lint fixes What is astng ? --------------- The aim of this module is to provide a common base representation of python source code for projects such as pychecker, pyreverse, pylint... Well, actually the development of this library is essentialy governed by pylint's needs. It extends class defined in the compiler.ast [1] module with some additional methods and attributes. Instance attributes are added by a builder object, which can either generate extended ast (let's call them astng ;) by visiting an existant ast tree or by inspecting living object. Methods are added by monkey patching ast classes. Home page --------- http://www.logilab.org/projects/astng Download -------- ftp://ftp.logilab.org/pub/astng Mailing list ------------ mailto://python-projects at lists.logilab.org LOGILAB provides services in the fields of XML techniques and advanced computing (implementation of intelligent agents, knowledge management, natural language processing, statistical analysis, data mining, etc.), and also trainings on Python, XML, UML, Object Oriented design, design patterns use and other cutting edge topics. To know more about Logilab, visit http://www.logilab.com/. Logilab is also a strong supporter of the Free Software movement, and an active member of the Python and Debian communities. Logilab's open source projects can be found on http://www.logilab.org/. Enjoy and happy new year ! -- Sylvain Th?nault LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org From sylvain.thenault at logilab.fr Tue Jan 10 16:02:52 2006 From: sylvain.thenault at logilab.fr (Sylvain =?iso-8859-1?Q?Th=E9nault?=) Date: Tue, 10 Jan 2006 16:02:52 +0100 Subject: [ANN] PyLint 0.9 Message-ID: <20060110150251.GT5228@logilab.fr> Hi ! I'm very pleased to announce the new 0.9 release of PyLint. This release provides a lot of bug fixes and some new checks and other minor changes. This release depends on the latest astng and logilab-common release (i.e. 0.14 and 0.13 respectivly), so install them before this one. The good news is that the new astng inference capabilities should allow to add powerful checks to pylint in a new future :o) What's new ? ------------ 2006-01-10 -- 0.9.0 * a lot of updates to follow astng 0.14 API changes, so install logilab-astng 0.14 or greater before using this version of pylint * checker number 10 ! newstyle will search for problems regarding old style / new style classes usage problems (rely on astng 0.14 new style detection feature) * new 'load-plugins' options to load additional pylint plugins (usable from the command line or from a configuration file) (implements #10031) * check if a "pylintrc" file exists in the current working directory before using the one specified in the PYLINTRC environment variable or the default ~/.pylintrc or /etc/pylintrc * fixed W0706 (Identifier used to raise an exception is assigned...) false positive and reraising a catched exception instance * fixed E0611 (No name get in module blabla) false positive when accessing to a class'__dict__ * fixed some E0203 ("access to member before its definition") false positive * fixed E0214 ("metaclass method frist argument should be mcs) false positive with staticmethod used on a metaclass * fixed packaging which was missing the test/regrtest_data directory * W0212 (method could be a function) has been reclassified in the REFACTOR category as R0201, and is no more considerer when a method overrides an abstract method from an ancestor class * include module name in W0401 (wildcard import), as suggested by Amaury * when using the '--parseable', path are written relative to the current working directory if in a sub-directory of it (#9789) * 'pylint --version' shows logilab-astng and logilab-common versions * fixed pylint.el to handle space in file names * misc lint style fixes What is pylint ? ---------------- Pylint is a python tool that checks if a module satisfy a coding standard. Pylint can be seen as another pychecker since nearly all tests you can do with pychecker can also be done with Pylint. But Pylint offers some more features, like checking line-code's length, checking if variable names are well-formed according to your coding standard, or checking if declared interfaces are truly implemented, and much more (see http://www.logilab.org/projects/pylint/ for the complete check list). The big advantage with Pylint is that it is highly configurable, customizable, and you can easily write a small plugin to add a personal feature. The usage it quite simple : $ pylint mypackage.mymodule This command will output all the errors and warnings related to the tested code (here : mypackage.mymodule), will dump a little summary at the end, and will give a mark to the tested code. Pylint is free software distributed under the GNU Public Licence. Home page --------- http://www.logilab.org/projects/pylint Download -------- ftp://ftp.logilab.org/pub/pylint Mailing list ------------ mailto://python-projects at logilab.org Enjoy and happy new year ! -- Sylvain Th?nault LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org From sylvain.thenault at logilab.fr Tue Jan 10 15:39:47 2006 From: sylvain.thenault at logilab.fr (Sylvain =?iso-8859-1?Q?Th=E9nault?=) Date: Tue, 10 Jan 2006 15:39:47 +0100 Subject: [ANN] logilab-common 0.13 Message-ID: <20060110143946.GC5228@logilab.fr> Hi ! I'm pleased to announce the 0.13 new release of the logilab-common package. This release provides some bug fixes and minor enhancements and api changes which shouldn't break backward compatibility, so users are strongly encouraged to update. What's new ? ------------ * testlib: ability to skip a test * configuration: - cleaner configuration file generation - refactoring so that we can have more control on file configuration loading using read_config_file and load_config_file instead of load_file_configuration * modutils: fix is_relative to return False when from_file is a file located somewhere in sys.path * compat: make set iterable and support more other set operations... * removed the astng sub-package, since it's now self-distributed as logilab-astng What is logilab-common ? ------------------------ logilab-common is a collection of low-level Python packages and modules, designed to ease: * handling command line options and configuration files * writing interactive command line tools * manipulation files and character strings * interfacing to OmniORB * generating of SQL queries * running unit tests * manipulating tree structures * accessing RDBMS (currently postgreSQL and mysql) * generating text and HTML reports * logging Home page --------- http://www.logilab.org/projects/common Download -------- ftp://ftp.logilab.org/pub/common Mailing list ------------ mailto://python-projects at lists.logilab.org LOGILAB provides services in the fields of XML techniques and advanced computing (implementation of intelligent agents, knowledge management, natural language processing, statistical analysis, data mining, etc.), and also trainings on Python, XML, UML, Object Oriented design, design patterns use and other cutting edge topics. To know more about Logilab, visit http://www.logilab.com/. Logilab is also a strong supporter of the Free Software movement, and an active member of the Python and Debian communities. Logilab's open source projects can be found on http://www.logilab.org/. Enjoy, and happy new year! -- Sylvain Th?nault LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org From sylvain.thenault at logilab.fr Tue Jan 10 15:41:21 2006 From: sylvain.thenault at logilab.fr (Sylvain =?iso-8859-1?Q?Th=E9nault?=) Date: Tue, 10 Jan 2006 15:41:21 +0100 Subject: [ANN] devtools 0.8 Message-ID: <20060110144121.GF5228@logilab.fr> Hi ! I'm pleased to announce the new 0.8 release of the devtools package. This release provides some bug fixes and major changes into the debian package generation. What's new ? ------------ * debianize: * updated to handle site-python installation with architecture independant package (implements #10119) * consider the optional debian_uploader variable in package information * fix .examples files generation with debianize * fix templates: control.standard-version is now 3.6.2, updated FSF address in debian licenses files * fix package type detection in preparedistrib (fix #9917) What is devtools ? ------------------ Set of tools which aims to help the developpement process, including : * standard for zope and python packages * tools to check and build source and/or debian packages * python coverage tool * cvs utilities Home page --------- http://www.logilab.org/projects/devtools Download -------- ftp://ftp.logilab.org/pub/devtools Mailing list ------------ mailto://python-projects at lists.logilab.org LOGILAB provides services in the fields of XML techniques and advanced computing (implementation of intelligent agents, knowledge management, natural language processing, statistical analysis, data mining, etc.), and also trainings on Python, XML, UML, Object Oriented design, design patterns use and other cutting edge topics. To know more about Logilab, visit http://www.logilab.com/. Logilab is also a strong supporter of the Free Software movement, and an active member of the Python and Debian communities. Logilab's open source projects can be found on http://www.logilab.org/. Enjoy and happy new year ! -- Sylvain Th?nault LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org From sylvain.thenault at logilab.fr Tue Jan 10 15:43:12 2006 From: sylvain.thenault at logilab.fr (Sylvain =?iso-8859-1?Q?Th=E9nault?=) Date: Tue, 10 Jan 2006 15:43:12 +0100 Subject: [ANN] APyCoT 0.8 Message-ID: <20060110144311.GK5228@logilab.fr> Hi ! I'm pleased to announce the new 0.8 release of the APyCoT package. This release provides some new minor functionnalities. What's new ? ------------ * use package's pylintrc if a file named "pylintrc" is found under the checked out directory (implements #10177) * "${TESTDIR}" in environment variable declared in the tests .ini file will be sustitued with the tests execution directory * run tests with all python versions declared usable in the __pkginfo__ file * added a new "partial" checker status, used by the unittest checker when all tests have passed but some have been skipped * minor fix in html rendering of the synthetized_report What is iAPyCoT ? ----------------- This package is designed to run tests on a code repository on a daily basis. It comes with a set of predefined test, essentially for python packages, and a set of predefined reports to display execution results. However, it has been designed to be higly extensible, so you could write your own test or report using the Python language (i.e. this framework is NOT limited to test Python code !). Home page --------- http://www.logilab.org/projects/apycot Download -------- ftp://ftp.logilab.org/pub/apycot Mailing list ------------ mailto://qa-projects at logilab.org LOGILAB provides services in the fields of XML techniques and advanced computing (implementation of intelligent agents, knowledge management, natural language processing, statistical analysis, data mining, etc.), and also trainings on Python, XML, UML, Object Oriented design, design patterns use and other cutting edge topics. To know more about Logilab, visit http://www.logilab.com/. Logilab is also a strong supporter of the Free Software movement, and an active member of the Python and Debian communities. Logilab's open source projects can be found on http://www.logilab.org/. Enjoy and happy new year ! -- Sylvain Th?nault LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org From anthony.tuininga at gmail.com Wed Jan 11 05:23:56 2006 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Tue, 10 Jan 2006 21:23:56 -0700 Subject: cx_Logging 1.1 Message-ID: <703ae56b0601102023j4940162dxb7c4b511301110d7@mail.gmail.com> What is cx_Logging? cx_Logging is a Python extension module which operates in a fashion similar to the logging module that ships with Python 2.3 and higher. It also has a C interface which allows applications to perform logging independently of Python. Where do I get it? http://starship.python.net/crew/atuining What's new? 1) Raise an exception if a write fails during logging. 2) Add module constants version and buildtime in order to aid in support and debugging. Anthony Tuininga From robin at alldunn.com Wed Jan 11 05:59:16 2006 From: robin at alldunn.com (Robin Dunn) Date: Tue, 10 Jan 2006 20:59:16 -0800 Subject: ANN: wxPython 2.6.2.1 Message-ID: <43C490A4.3090909@alldunn.com> Announcing ---------- The 2.6.2.1 release of wxPython is now available for download at http://wxpython.org/download.php. There have been many enhancements and fixes implemented in this version, listed below and at http://wxpython.org/recentchanges.php. 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 GUI components of the popular wxWidgets cross platform 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 GTK2, and Mac OS X 10.2+, in most cases the native widgets are used on each platform. Changes in 2.6.2.1 ------------------ wxMSW: Fix for bug #1211907, popup menu indenting inconsistent with bitmaps. wxMac: Don't send an event for wx.RadioButton deselections, just the selections. This was done to make it consistent with the other platforms. wxMSW: Always set flat toolbar style, even under XP with themes: this is necessary or separators aren't shown at all. Fixes for bug #1217872, pydocview.DocService not correctly initialized. Fix for bug #1217874, Error in parameter name in DocManager.CreateView. Added wrappers for the wx.RendererNative class. Added the wx.lib.splitter module, which contains the MultiSplitterWindow class. This class is much like the standard wx.SplitterWindow class, except it allows more than one split, so it can manage more than two child windows. Docview and IDE patch from Morgan Hua with fix for bug #1217890 "Closing view crashes Python" plus some new features:: New feature added to the IDE is 'Extensions'. Under Tools|Options|Extensions, you can add calls to external programs. For example you can add a "Notepad" extension (under windows) that will exec Notepad on the currently open file. A new "Notepad" menu item will appear under the Tools menu. Some fixes to XRCed to make encoding errors a bit more user friendly. XRCed changes from Roman Rolinsky: * Added new controls (Choicebook, Listbook, StatusBar, DatePicker), and completed style flags. Test window is opened for an available parent control if no specific view defined. Better handling of exceptions (highlighting does not 'stick' anymore). * Use system clipboard for Copy/Paste. * Improved some dialogs (window styles, growable cols). Changed the range for wxSpinCtrl min/max to all integers (default 0/100 is not always good). Updates for wx.lib.foldpanelbar and wx.lib.hyperlink from Andrea Gavana. Fix for Bug #1283496: wxPython TheClipboard class causes problems for pychecker. Ensure the app has been created before initializing wx.TheClipboard. Fix for Bug #1352602: FileBrowseButtonWithHistory can't type in Value. wxHTML: Added space after list item number. wx.lib.printout: Applied patch #1384440. wxMSW: Fix for Bug #1293225 Window_FromHWND crashes if parent is None. Fix for Bug #1261669, use a wx.TE_RICH2 style for the Process demo so it doesn't fill up too soon. Applied Patch #1354389: wxPython MenuItem SetBitmaps fix. Applied Patch #1239456: wxPython wx.DataObject.GetAllFormats fix. Applied Patch # #1230107 which allows image handlers to be written in Python by deriving from wx.PyImageHandler. Applied patch #1072210: generalize printout.py to allow text printing. Applied patch #1243907: Give Throbber much more flexibility by allowing the user to set the rest image, the direction, the current index, custom sequence. Allows user to manually step through the sequence with Next(), Previous(), Increment(), Decrement() & SetCurrent(). Very handy if you have multiple throbbers that you want to synchronize with a single timer. Fix for bug #1336711: wx.lib.calendar.CalenDlg can yield incorrect result. Applied patch from Morgan Hua for updates to ActiveGrid code (pydocview, ActiveGrid IDE, etc.) Applied patch #1326241: Supporting "setup.py install --install-headers=path" Applied patch from Morgan Hua to fix bug #1219423: CommandManager should not repeat old commands after a branch. Applied patch #1238825 adding search backward capabilities to the demo. Modified to use the up/down options in the wx.FindReplaceDialog instead of a separate menu item. Fix for bug #1266745 and #1387725 in the wx.FindReplaceDialog on MSW. Actually check we are using MSLU before doing the hack designed to workaround a bug in MSLU! wxMSW: wx.lib.iewin.IEHtmlWindow now properly handles tabbing, return and other special keys properly. Lots of PyCrust enhancments started by Franz Steinaeusler, Adi Sieker, and Sebastian Haase, and which in turn were further enhanced, fixed tweaked and finished up by me. The changes include the following: * The Autocomplete and Calltip windows can now be opened manually with Ctrl-Space and Ctrl-Shift-Space. * In the stand alone PyCrust app the various option settings, window size and position, and etc. are saved and restored at the next run. * Added a help dialog bound to the F1 key that shows the key bindings. * Added a new text completion function that suggests words from the history. Bound to Shift-Return. * F11 will toggle the maximized state of the frame. * switched to Bind() from wx.EVT_*(). * Display of line numbers can be toggled. * F12 toggles a "free edit" mode of the shell buffer. This mode is useful, for example, if you would like to remove some output or errors or etc. from the buffer before doing a copy/paste. The free edit mode is designated by the use of a red, non-flashing caret. * Ctrl-Shift-F will fold/unfold (hide/show) the selected lines. * General code cleanup and fixes. * Use wx.StandardPaths to determine the location of the config files. * Use wx.SP_LIVE_UPDATE on crust and filling windows. * Extended the saving of the config info and other new features to the PyShell app too. Additionally, other apps that embed a PyCrust or a PyShell can pass their own wx.Config object and have the Py code save/restore its settings to/from there. * All of the classes with config info get an opportunity to save/load their own settings instead of putting all the save/load code in one place that then has to reach all over the place to do anything. * Enable editing of the startup python code, which will either be the file pointed to by PYTHONSTARTUP or a file in the config dir if PYTHONSTARTUP is not set in the environment. * Added an option to skip the running of the startup code when PyShell or PyCrust starts. * PyCrust adds a pp(item) function to the shell's namespace that pretty prints the item in the Display tab of the notebook. Added code to raise that tab when pp() is called. * Added an option for whether to insert text for function parameters when popping up the call tip. * Added Find and Find-Next functions that use the wx.FindReplaceDialog. Applied patches from Will Sadkin for wx.lib.masked modules: * Now ignores kill focus events when being destroyed. * Added missing call to set insertion point on changing fields. * Modified SetKeyHandler() to accept None as means of removing one. * Fixed keyhandler processing for group and decimal character changes. * Fixed a problem that prevented input into the integer digit of a integerwidth=1 numctrl, if the current value was 0. * Fixed logic involving processing of "_signOk" flag, to remove default sign key handlers if false, so that SetAllowNegative(False) in the NumCtrl works properly. * Fixed selection logic for numeric controls so that if selectOnFieldEntry is true, and the integer portion of an integer format control is selected and the sign position is selected, the sign keys will always result in a negative value, rather than toggling the previous sign. wx.FontMapper.SetConfig is deprecated. You should instead just set an application-wide config object with wx.Config.Set, which wx.FontMapper will use by default. Added wx.GetMouseState which returns the current state of the mouse. It returns an instance of a wx.MouseState object that contains the current position of the mouse pointer in screen coordinants, as well as boolean values indicating the up/down status of the mouse buttons and the modifier keys. Added wx.SizerItem.SetUserData A variety of updates to wx.lib.floatcanvas, including Added DrawObjects, including a ScaledTextBox, with auto-wrapping, etc, and Scaled and Unscaled Bitmap Objects. WARNING: Changed all DrawObjects to take an (x,y) pair rather than individual x,y parameters. Also changed rectangles and ellipses to take (w,h) pair. This is an API change, but should be easy to accommodate, all you need to do is add a parenthesis pair: (...x, y, ...) ---> (...(x,y), ...) From heikki at osafoundation.org Wed Jan 11 05:57:46 2006 From: heikki at osafoundation.org (Heikki Toivonen) Date: Tue, 10 Jan 2006 20:57:46 -0800 Subject: ANN: Chandler 0.6 Message-ID: Open Source Applications Foundation (OSAF) released Chandler 0.6 on December 20, 2005. Chandler 0.6 includes an ?experimentally usable? calendar, with support for recurring events, time-zones and the ability to share calendars with others. Chandler is a Personal Information Management (PIM) client application with innovative design and ambitious plans for sharing, extensibility and cross-platform support. Chandler is written mainly in Python. There is a wealth of information about the application and this particular release at the Chandler 0.6 Home Page: http://chandler.osafoundation.org/ -- Heikki Toivonen From fabioz at esss.com.br Wed Jan 11 12:27:41 2006 From: fabioz at esss.com.br (Fabio Zadrozny) Date: Wed, 11 Jan 2006 09:27:41 -0200 Subject: PyDev 0.9.8.6 released Message-ID: <43C4EBAD.7090209@esss.com.br> Hi All, PyDev - Python IDE (Python Development Enviroment for Eclipse) version 0.9.8.6 has been released. Check the homepage (http://pydev.sourceforge.net/) for more details. Details for Release: 0.9.8.6: Major highlights: ------------------- * Added a new 'Pydev project' wizard (Mikko Ohtamaa contribution) -- it is named as Pydev Project instead of Python project because it creates Python and Jython projects. * Added a new 'Pydev module' wizard (Mikko Ohtamaa contribution) -- NOTE: it still needs some work. * Changes in the shell spawning were done, and no hangs should appear when trying to do code-completion anymore (if it still hapens, please report it as a bug -- NOTE: a little delay on the first time code-completion is executed is expected, as this is the time the shell is started). * Other bugfixes (as usual) Cheers, Fabio -- Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software www.esss.com.br PyDev - Python Development Enviroment for Eclipse pydev.sf.net pydev.blogspot.com From pc at p-cos.net Thu Jan 12 12:11:19 2006 From: pc at p-cos.net (Pascal Costanza) Date: 12 Jan 2006 03:11:19 -0800 Subject: [CfP] Dynamic Languages Day @ Brussels Message-ID: <1137064279.398173.158570@g49g2000cwa.googlegroups.com> Dynamic Languages Day @ Vrije Universiteit Brussel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Monday, February 13, 2006, VUB Campus Etterbeek The VUB (Programming Technology Lab, System and Software Engineering Lab), ULB (deComp) and the Belgian Association for Dynamic Languages (BADL) are very pleased to invite you to a whole day of presentations about the programming languages Self, Smalltalk and Common Lisp by experts in these languages. Besides some introductory material for each language, the reflective facilities in the respective programming environments will be highlighted. The presentations will be especially interesting for people with good knowledge about current mainstream object-oriented languages like Java, C# and C++ who want to get a deeper understanding about the expressive power of Self, Smalltalk and Common Lisp. In order to prepare the ground for these presentations, Professor Viviane Jonckers will introduce the day by an overview of the benefits of teaching dynamic languages to undergraduate students in computer science. She will especially discuss the specific advantages of using Scheme as an introductory language instead of the more widely employed Java language. Attendance is free and open to the public. Please make sure to register for the event by sending an e-mail to Pascal Costanza (pascal.costanza at vub.ac.be), so we can plan ahead. The number of places will be limited according to the exact location of the event and will be allocated on a first-come, first-serve basis. Watch the website for the exact schedule, location and any news at http://prog.vub.ac.be/events/2005/BADL/DLD/dld.html. Abstracts of the Talks ~~~~~~~~~~~~~~~~~~~~~~ Scheme as an introductory language (Viviane Jonckers) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The VUB has a rich history in dynamic programming language teaching and research. Ever since the late 80's, compulsory courses on Lisp and Smalltalk have played an important role in the last two years of the computer science curriculum. Since the early 90's, this role was further intensified by selecting Scheme as the introductory course in the first year and by promoting Scheme as the lingua franca for most courses in the first two years. Professor Jonckers' introductory talk to the dynamic languages day explains how this early exposure to the dynamic paradigm is the seed that gives students the skills to fully grasp and appreciate the more advanced dynamic paradigms (such as Lisp, CLOS, Smalltalk and Self) in subsequent courses of their computer science training. Self (Ellen Van Paesschen) ~~~~~~~~~~~~~~~~~~~~~~~~~~ Self is a prototype-based object-oriented programming language where everything is an object and all manipulation of objects is initiated through message sending. A prototype-based language eschews classes and allows object creation ex-nihilo or by cloning prototypes. Self resembles Smalltalk in both its syntax and semantics. Other characteristics of Self are delegation (object-centered inheritance), parent sharing and child sharing (multiple inheritance), and dynamic parent modification. Further the Self environment includes a powerful mechanism for reflective meta-programming based on mirror objects. The Self group were also the first to introduce traits objects that gather shared and reusable behavior between objects in order to program in a more efficient and structured way. After a brief introduction to the highly interactive Self environment the language's basics and its syntax and semantics are presented. Next the most important advanced features such as mirrors and dynamic parent modification are illustrated. Smalltalk (Johan Brichau, Roel Wuyts) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Smalltalk is class-based object-oriented programming language. Everything in Smalltalk is an object and these objects communicate through messages. The Smalltalk language itself offers only very few programming constructs and is thus easy to learn and grasp. Therefore, the expressive power of Smalltalk lies in its huge library of frameworks, which includes an extensive metaobject protocol that enables powerful dynamic (runtime) reflection. Furthermore, perhaps one of the most significant advantages of Smalltalk outside of the language itself is that software development is a truly dynamic experience. The Smalltalk environment features the incremental development of an application where there is no strict separation between development and execution cycles, leading to an interactive and dynamic development process. Besides a short introduction to the Smalltalk programming language, this presentation will focus on the dynamic reflective facilities of Smalltalk. We will demonstrate the power of its metaobject protocol through a number of tools that extensively rely on it. Furthermore, we will provide some insight in the dynamic nature of Smalltalk development through a live demonstration. Generic Functions and the CLOS Metaobject Protocol (Pascal Costanza) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Common Lisp Object System (CLOS) is unique in two ways. * In most OOP languages, methods belong to classes and are invoked by sending messages. In CLOS, methods belong to generic functions instead of classes, and those generic functions select and execute the correct method according to the types of the arguments they receive. * The CLOS Metaobject Protocol (MOP) specifies how its essential building blocks are to be implemented in CLOS itself. This allows extending its object model with metaclasses that change important aspects of CLOS for a well-defined scope. This presentation introduces these two notions. The code for an interpreter for generic functions that performs selection and execution of methods will be developed live during the presentation. This will be followed by a discussion how that code can be extended to introduce, for example, multimethods and AOP-style advices, and a sketch how generic functions are implemented efficiently in the "real" world. In the second part, the extensibility of the CLOS MOP will be illustrated by implementing - live - the (hashtable-based) Python object model as a metaclass. Other practical extensions based on the CLOS MOP are also sketched, like object-relational mappings, interfaces to foreign-language objects, and domain-specific annotations in classes. Biographies ~~~~~~~~~~~ Viviane Jonckers received a master degree in Computer Science from the Vrije Universiteit Brussel in 1983 and a Ph.D. degree in Sciences from the same university in 1987. Since 1987 she is a professor both in the Computer Science Department of the faculty of Sciences as in the Computer Science group of the Engineering Faculty. Currently, she is the director of the System and Software Engineering Lab. Her current research interests are in integrated software development methods with a focus on component based software development and aspect oriented software development. She participated in and has been project manager of several national and international R&D projects. Roel Wuyts is professor at the University Libre de Bruxelles, where he leads the deComp group. His fields of interest are logic meta programming, forms of reflection and language design. On the side he also dabbles in development environments. Quite a lot his development is done in Smalltalk, extensively using the reflective facilities in that language to do research in language symbiosis, development environments and for rapid programming in gneral. From the moment he realized that dynamicity was what he really liked in all of his favourite programming languages (Smalltalk, Prolog and Scheme), he has been trying to grow the dynamic languages field again. Part of this endavour was the organization of the first Dynamic Language Symposium, a symposium co-organized with OOPSLA'2005 in San Diego. Johan Brichau currently holds a postdoc position at the Laboratoire d'Informatique Fondamentale de Lille (LIFL). He is also associated with the Programming Technology Lab at the Vrije Universiteit Brussel, where he obtained a Ph.D. degree in Computer Sciences in 2005. Johan's research is focusing on the use of metaprogramming in the context of generative programming techniques and aspect-oriented programming languages. To this extent, he has been extensively using the Smalltalk metaobject protocol for the creation and development of (generative) logic metaprogramming techniques as well as aspect-oriented language extensions to Smalltalk. Pascal Costanza has a Ph.D. degree from the University of Bonn, Germany. His past involvements include specification and implementation of the languages Gilgul and Lava, and the design and application of the JMangler framework for load-time transformation of Java class files. He has also implemented ContextL, the first programming language extension for Context-oriented Programming based on CLOS, and aspect-oriented extensions for CLOS, which all heavily rely on the CLOS MOP. He is furthermore the initiator and lead of Closer, an open source project that provides a compatibility layer for the CLOS MOP across multiple Common Lisp implementations. Ellen Van Paesschen obtained a master degree in computer science at the Vrije Universiteit Brussel in 2000. Currently she is a Ph.D. student at the Programming Technology Lab. Ellen's research is focusing on using dynamic and prototype-based languages for model-driven development and round-trip engineering (RTE). She has created a research prototype of a dynamic prototype-based RTE environment in Self which is the main implementation language in her research. This environment differs from other existing tools at the level of synchronisation, run-time objects and constraint enforcement steered from an analysis model. Her other interests include (the analysis phase during) software engineering and role modelling. From wescpy at gmail.com Thu Jan 12 00:39:42 2006 From: wescpy at gmail.com (w chun) Date: Wed, 11 Jan 2006 15:39:42 -0800 Subject: ANN: Python training, 2006 Feb 1-3, San Francisco In-Reply-To: <78b3a9580512071246q78875246l921c7e9c85d8bbfb@mail.gmail.com> References: <78b3a9580512071246q78875246l921c7e9c85d8bbfb@mail.gmail.com> Message-ID: <78b3a9580601111539t87b9985qd39a531201f4764b@mail.gmail.com> as promised, this is the FINAL reminder i'll send out about our upcoming Python course at the beginning of February. (Feb 1-3, 9a-5p PT) it'll be at a hotel with BART and CalTrain access (San Bruno stations) for those already in the Bay Area, and for those coming in from out-of-town, there's a free shuttle directly from the San Francisco airport, which is only about 2-3 miles away. discounts available for multiple registrants as well as students, teachers, and those with financial hardship. also, there is a follow-on "advanced" course coming up in May. more details at http://cyberwebconsulting.com hope to see you soon! -wesley On 12/7/05, w chun wrote: > What: Python Programming I: Introduction to Python > When: February 1-3, 2006 > Where: San Francisco, CA, USA > Web: http://cyberwebconsulting.com > > Need to get up-to-speed with Python as quickly as possible? Come join > us in beautiful Northern California for another rigorous Python > training event taught by software engineer, "Core Python Programming" > author, and technical instructor Wesley Chun. > > This is an intense introduction to Python programming geared towards > those who have some proficiency in another high-level language. > Topics include: > > * Syntax, Data Types, Operators, and Methods > * Python's Objects and Memory Model > * Errors and Exception Handling > * Flow Control (Loops and Conditionals) > * Writing Optimized Python > * Files and Input/Output > * Functions and Functional Programming Aspects > * Modules and Packages > * OOP: Classes, Methods, and Class Instances > * OOP: Class Customization, Inheritance > * Execution Environment > * Operating System Interface > * Advanced Topics and Python Updates > > This course will take place near the San Francisco International Airport at the: > > Staybridge Suites > San Francisco Airport > 1350 Huntington Ave > San Bruno, CA 94066 USA > +1-650-588-0770 > > VISITORS: free transportation to/from the San Francisco International airport > LOCALS and VISITORS: easy access to public transit (BART [across the > street!], CalTrain, SamTrans) can help you get all over the San > Francisco Bay Area > > Discounts are available for multiple registrations as well as > teachers/students. For more information and registration, go to > http://cyberwebconsulting.com and click on the "Python Training" link. > Unlike previous courses, we are limiting enrollment to a maximum of > 15 attendees. If you have any questions, feel free to contact us at > cyberweb-at-rocketmail.com. > > For those who are interested in more "advanced" Python topics, we will > be offering a follow-on course late Spring 2006 (most likely May). > Also, if there is sufficient interest, we may hold another one of > these "Intro to Python" courses down in Silicon Valley in April; > contact me directly if you're interested in this location. > > Note: i will only send out ONE MORE REMINDER in January... yeah, i > don't like spam either. :-) > > cheers, > -- wesley > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > "Core Python Programming", Prentice Hall, (c)2006,2001 > http://corepython.com > > wesley.j.chun :: wescpy-at-gmail.com > cyberweb.consulting : silicon valley, ca > http://cyberwebconsulting.com From altis at semi-retired.com Thu Jan 12 20:03:51 2006 From: altis at semi-retired.com (Kevin Altis) Date: Thu, 12 Jan 2006 11:03:51 -0800 Subject: ANN: OSCON 2006 (Python 14 Conference) Call for Proposals Message-ID: OSCON 2006: Opening Innovation http://conferences.oreillynet.com/os2006/ Save the date for the 8th annual O'Reilly Open Source Convention, happening July 24-28, 2006 at the Oregon Convention Center in beautiful Portland, Oregon. Call For Participation ---------------------- Submit a proposal-fill out the form at: http://conferences.oreillynet.com/cs/os2006/create/e_sess/ Important Dates: * Proposals Due: Midnight (PST) February 13, 2006 * Speaker Notification: March 27, 2006 * Tutorial Presentation Files Due: June 12, 2006 * Session Presentation Files Due: June 26, 2006 * Conference: July 24-28, 2006 Proposals --------- We are considering proposals for 45 minute sessions and 3 hour tutorials. We rarely accept 90 minute proposals, as most general sessions are 45 minutes in length. Your proposals are examined by a committee which draws from them and which also solicits proposals to build the program. Proposals are due by midnight (PST), Feb. 13, 2006. The OSCON Speaker Manager, Vee McMillen, emails notification of the status of your talk (accepted or otherwise) by March 27, 2006. Unless the content of your talk is particularly timely (e.g., features of a product that will be launched at OSCON), you are required to send us your slides several weeks before the conference begins. Submit proposals via the form below. Some tips for writing a good proposal for a good talk: * Keep it free of marketing: talk about open source software, but not about a commercial product--the audience should be able to use and improve the things you talk about without paying money * Keep the audience in mind: they're technical, professional, and already pretty smart. * Clearly identify the level of the talk: is it for beginners to the topic, or for gurus? What knowledge should people have when they come to the talk? * Give it a simple and straightforward title: fancy and clever titles make it harder for people (committee and attendees) to figure out what you're really talking about * Limit the scope of the talk: in 45 minutes, you won't be able to cover Everything about Widget Framework X. Instead, pick a useful aspect, or a particular technique, or walk through a simple program. * Pages of code are unreadable: mere mortals can deal with code a line at a time. Sometimes three lines at a time. A page of code can't be read when it's projected, and can't be comprehended by the audience. * Explain why people will want to attend: is the framework gaining traction? Is the app critical to modern systems? Will they learn how to deploy it, program it, or just what it is? * Let us know in your proposal notes whether you can give all the talks you submitted proposals for * Explain what you will cover in the talk NOTE: All presenters whose talks are accepted (excluding Lightning Talks) will receive free registration at the conference. For each half-day tutorial, the presenter receives one night's accommodation, a limited travel allowance, and an honorarium. We give tutors and speakers registration to the convention (including tutorials), and tutors are eligible for a travel allowance: up to US$300 from the west coast of the USA, up to US$500 from the east coast of the USA, up to US$800 from outside the USA. Registration opens April, 2006. If you would like to be notified by email when registration opens, please use the form on our main page. CONFERENCE INFO =============== The O'Reilly Open Source Convention is where coders, sysadmins, entrepreneurs, and business people working in free and open source software gather to share ideas, discover code, and find solutions. At OSCON 2005, more than 2,400 attendees took part in 241 sessions and tutorials across eleven technology tracks, learning about the newest features and versions from creators and experts. A record number of products launches and announcements were made, and sponsors and exhibitors from a wide range of companies filled the largest exhibit hall in OSCON's history. We anticipate that OSCON 2006 will be even more successful, and continue to be the place for the open source community to meet up, debate, make deals, and connect face to face. OSCON 2006 will take place at the Oregon Convention Center in Portland, Oregon July 24-28, 2006. OSCON 2006 will feature the projects, technologies, and skills that you need to write and deploy killer modern apps. We're looking for proposals on platforms and applications around: * Multimedia including voice (VoIP) and video * AI including spam-busting, classification, clustering, and data mining * Collaboration including email, calendars, RSS, OPML, mashups, IM, presence, and session initialization * Project best practices including governance, starting a project, and managing communities * Microsoft Windows-based open source projects including .NET, Mono, and regular C/C++/Visual Basic Windows apps * Enterprise Java techniques including integration, testing, and scalable deployment solutions * Linux kernel skills for sysadmins including virtualization, tuning, and device drivers * Device hacking including iPods, Nintendo, PSP, XBox 360, and beyond * Design including CSS, GUI, and user experience (XP) * Entrepreneurial topics including management for techies, how to go into business for yourself, and business models that work * Security including hardening, hacking, root kits (Sony and otherwise), and intrusion detection/cleanup * Fun subjects with no immediate commercial application including retro computing, games, and BitTorrent Tracks at OSCON will include: * Desktop Apps * Databases, including MySQL, PostgreSQL, Ingres, and others * Emerging Topics * Java * Linux Kernel for SysAdmins * Linux for Programmers * Perl, celebrating the 10th year of The Perl Conference! * PHP * Programming, including everything that's not specific to a particular language * Python * Security * Ruby, including Ruby on Rails * Web Apps, including Apache * Windows From calfdog at yahoo.com Thu Jan 12 20:44:42 2006 From: calfdog at yahoo.com (calfdog at yahoo.com) Date: 12 Jan 2006 11:44:42 -0800 Subject: Announcing the release cPAMIE2b - Browser Automation tool for Python Message-ID: <1137095082.600829.176660@z14g2000cwz.googlegroups.com> The Free open-source Browser automation tool. cPAMIE.py The main python class that allows you to write scripts to automate the Internet Explorer browser client for function and unit testing. ================================================================= PAMIE - Reference Guide - What's New - SourceForge - Yahoo Group Required Packages The following packages must be installed before installing PAMIE. Python 2.4 Mark Hammond's win32all package for Python Ctypes package for Python Recommended Packages: These packages are optional, but they are deemed worthy by the PAMIE developers. ActivePython distribution package for Python, which also includes the win32all package. Stani's Python Editor if you are looking for a Python editor. PAMIE Contents: These are the files of importance that are included with the PAMIE package. buildCert.py The Build Certification script that performs a full range of tests with PAMIE. This script is an excellent resource for examples, and also makes for a pretty cool demo! cModalPopUp.py The class that handles pop up windows, such as file dialogs, alert dialogs, prompt dialogs and confirm dialogs. cPAMIE.py The main python class that allows you to write scripts to automate the Internet Explorer browser client for function and unit testing. cReport.py A reporting class to keep track of pass and failed steps. winGuiAuto.py Simon Brunning's Windows GUI automation utilities, which can be used with PAMIE to find and control open IE windows. writeDocs.py The script used by the PAMIE developers that generates the PAMIE reference guide. Installation Python and all the required packages must be installed. Unzip the PAMIE package to a folder. From mark.m.mcmahon at gmail.com Thu Jan 12 23:07:07 2006 From: mark.m.mcmahon at gmail.com (Mark Mc Mahon) Date: Thu, 12 Jan 2006 17:07:07 -0500 Subject: Ann: pywinauto 0.1.1 (initial release) released Message-ID: <71b6302c0601121407s122e57d0s105d5ec4f251e814@mail.gmail.com> I'm pleased to announce the first public release of pywinauto 0.1.1 pywinauto is a set of open-source (LGPL) modules for using Python as a GUI automation 'driver' for Windows NT based Operating Systems (NT/W2K/XP). SourceForge project page: http://sourceforge.net/projects/pywinauto Download from SourceForge http://prdownloads.sourceforge.net/pywinauto/pywinauto-0.1.1.zip?download pywinauto-users mailing list http://lists.sourceforge.net/lists/listinfo/pywinauto-users pywinauto was nudged into existence by the creation of Watsup (http://www.tizmoi.net/watsup/intro.html) a similar tool based on Simon Brunning's (http://www.brunningonline.net/simon/blog/index.html) winGuiAuto.py. There are many similar tools that do this (see: http://tejasconsulting.com/open-testware/feature/gui-test-driver-survey.html) So how is pywinauto different? It is still in early stages of development (but is about as functional as many of the other automation tools). I think I have designed pywinauto in such a way that it should be easy to add new actions for Controls. For example imagine # 10th item on 1st level, 21st item on 2nd, 45th on 3rd dlg.TreeView.Select("#10\#21\#45") # Or Possibly (or even both!) TreeView.Select(path_re = "Desktop\\.*\\.*c:\\Temp") It supports Typing accented/Unicode text (by sending them to the text area directly - rather then using SendKeys which does not appear to handle extended/Unicode text well. It does not require previous analysis of the dialogs to be automated or for 'reference' information to be saved. I have also kept in mind that to have language neutral scripts is more or less impossible - but I am planning to enable a flag that would enable lookup in previously saved reference information (saved during development of the script probably) that should enable scripts to run unmodified. (At least that's the idea - though there are cases where sorting - e.g. listboxes - might make that impossible). There is currently no documentation and the examples do double duty as tests. I am hoping to improve this. Any interest in my first publicly release code would help my ego greatly :-) Requirements: ctypes http://starship.python.net/crew/theller/ctypes/ Sendkeys http://www.rutherfurd.net/python/sendkeys/index.html (Optional) PIL http://www.pythonware.com/products/pil/index.htm (Optional) elementtree http://effbot.org/downloads/ Very simple test of Notepad automation (notice no time.sleep() ;-) ----------------------- :< ----------------------- import application app = application.Application() app._start(ur"c:\windows\system32\notepad.exe") app.Notepad.MenuSelect("File->PageSetup") # ----- Page Setup Dialog ---- # Select the 'Letter' combobox item app.PageSetupDlg.ComboBox1.Select("Letter") # Now close the dialog app.PageSetupDlg.Ok.Click () # type some text app.Notepad.Edit.SetText(u"Typ?ng s?me t?xt\r\n2nd l?ne") # Close Notepad (and don't save) app.Notepad.MenuSelect("File->Exit") app.Notepad.No.Click () ----------------------- :< ----------------------- pywinauto makes significant use of ctypes, I would like to extend my thanks to Thomas Heller and the whole Python community for producing such intuitive tools! Thank you Mark -------------------------------------------- Mark Mc Mahon 24 Plummer Rd., Manchester, NH 03110, USA

pywinauto 0.1.1 Simple Windows GUI automation with Python. (12-Jan-06) From frank at niessink.com Fri Jan 13 23:07:56 2006 From: frank at niessink.com (Frank Niessink) Date: Fri, 13 Jan 2006 23:07:56 +0100 Subject: [ANN] Release 0.55 of Task Coach Message-ID: <43C824BC.2010403@niessink.com> Hi all, I'm pleased to announce release 0.55 of Task Coach. New in this release: Bug fixed: * Sorting by total budget was broken. Feature added: * Simple reminders. Dependency changed: * Task Coach now requires wxPython 2.6.1.0-unicode or newer (this is only relevant if you use the source distribution). What is Task Coach? Task Coach is a simple task manager that allows for hierarchical tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is developed using Python and wxPython. You can download Task Coach from: http://taskcoach.niessink.com https://sourceforge.net/projects/taskcoach/ A binary installer is available for Windows XP, in addition to the source distribution. Note that Task Coach is alpha software, meaning that it is wise to back up your task file regularly, and especially when upgrading to a new release. Cheers, Frank From amk at amk.ca Sun Jan 15 05:52:54 2006 From: amk at amk.ca (A.M. Kuchling) Date: Sat, 14 Jan 2006 23:52:54 -0500 Subject: PyCon: last day for early bird registration Message-ID: <20060115045254.GC7394@rogue.amk.ca> Sunday, January 15th, is the last day on which you can obtain the lower early-bird registration price. The cost of registration will be going up on Monday; I'm quite sure that the early bird period will *not* be extended again. Another reminder: if you're coming to PyCon and staying in the conference hotel, you *must* reserve your hotel rooms before February 1st in order to get the lower conference rate; if you reserve after the 1st, you'll be stuck paying the hotel's standard room rate. Go to http://us.pycon.org/Addison/Hotels for hotel information and a link to the reservation page for PyCon. A.M. Kuchling amk at amk.ca Chair, PyCon 2006 http://us.pycon.org From mal at egenix.com Mon Jan 16 10:10:24 2006 From: mal at egenix.com (M.-A. Lemburg) Date: Mon, 16 Jan 2006 10:10:24 +0100 Subject: FrOSCon 2006 - Call for Papers Message-ID: <43CB6300.9000507@egenix.com> I'm sending this on behalf of Sebastian Bergmann, one of the organizers of FrOSCon: Hello, The first Free and Open Source Conference "FrOSCon" takes place on 24th and 25th June 2006 in St. Augustin, near Bonn, Germany, Organized by a committed team, it aims to become a significant event for free software in the Rhineland. The conference is hosted by the faculty of computer science of the University of Applied Sciences Bonn-Rhein-Sieg in collaboration with the student body and the Linux/Unix User Group St. Augustin. In a Call for Papers [1], the organizers ask for submission of contributions. A broad variety of topics concerning free and open source software is desired. Particularly welcome are contributions about programming languages, free software on the desktop, security, systems administration and networks. Aspects of free software in busincess and industry are also a focus of the conference. Contributions can be submitted in English or German and should summarize the intended talk concisely and succinctly; talks should range from 45 to 60 minutes in length. Deadline for submission is 15th March 2006. -- [1] http://www.froscon.org/wiki/CallforPapers http://cfp.froscon.org/ -- Sebastian Bergmann http://www.sebastian-bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69 From mark.m.mcmahon at gmail.com Mon Jan 16 02:19:43 2006 From: mark.m.mcmahon at gmail.com (Mark Mc Mahon) Date: Sun, 15 Jan 2006 20:19:43 -0500 Subject: Ann: pywinauto 0.1.1 (initial release) released In-Reply-To: <71b6302c0601121407s122e57d0s105d5ec4f251e814@mail.gmail.com> References: <71b6302c0601121407s122e57d0s105d5ec4f251e814@mail.gmail.com> Message-ID: <71b6302c0601151719k4e2bf03bib8e3f419cdd83358@mail.gmail.com> The 2nd release of pywinauto is now available. Download it from the Files section of SourceForge for the project: https://sourceforge.net/project/showfiles.php?group_id=157379 Relevant Changes: * Updated Readme (original readme was incorrect) * Added clipboard module * Fixed DrawOutline part of tests.__init__.print_bugs * Added a NotifyParent to HwndWrapper * Make sure that HwndWrapper.ref is initialized to None * Refactored some methods of ComboBox and ListBox * Updated Combo/ListBox selection methods * Removed hardcoded paths from test_application.py * Added section to save the document as UTF-8 in MinimalNotepadTest * Fixed EscapeSpecials and UnEscapeSpecials in XMLHelpers * Made sure that overly large bitmaps do not break XML writing SourceForge project page: http://sourceforge.net/projects/pywinauto Thank you Mark -------------------------------------------- Mark Mc Mahon 24 Plummer Rd., Manchester, NH 03110, USA

pywinauto 0.1.2 Simple Windows GUI automation with Python. (15-Jan-06) From fuzzyman at gmail.com Tue Jan 17 13:03:16 2006 From: fuzzyman at gmail.com (Fuzzyman) Date: 17 Jan 2006 04:03:16 -0800 Subject: ANN: Firedrop2 0.1.3 the Python Blog Client Message-ID: <1137499396.936315.273810@o13g2000cwo.googlegroups.com> Firedrop2 has had a new release and a complete docs overhaul. The release is a minor update, but the new tutorial will take you from downloading and installing, through setting up your blog to making entries. http://www.voidspace.org.uk/python/firedrop2/ What's New ? ========== The new release contains a fix so that wxfiredrop.py can be run outside the installed directory. * Introduction & Download * Getting Started * Configuring Firedrop2 * Basic Templating * Making Entries For news and inforamtion, use the `Firedrop2 Mailing List `_ What is Firedrop2 ? ============== Firedrop2 is a cross-platform blogging tool written in Python. It keeps your blog source files on your computer, making it a clientside tool. This means you control your blog, and can easily move it from one server to another, with no risk of losing data. It also means you can manage your blog offline. It is fully open source, and has all the features you expect from a modern blogging program : * RSS feed generation * Categories * Automatic archive generation * A powerful set of plugins, including spell checker and emailer * Entries can be made in text, HTML, ReST, textile or sextile markup * HTML templating system and macros for all sorts of tricks * Built in FTP capability for uploading your blog to a server * Because it's written in Python, it is easy to extend Firedrop or create new plugins for it From edreamleo at charter.net Tue Jan 17 15:08:25 2006 From: edreamleo at charter.net (Edward K. Ream) Date: Tue, 17 Jan 2006 08:08:25 -0600 Subject: ANN: Leo 4.4b1 released Message-ID: Leo 4.4 beta 1 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 The code is stable; there are no known serious bugs. Some features are incomplete. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: ---------------------------------- - An Emacs-like mini-buffer: you can now execute any command by typing its long name, with tab completion. - Many new commands, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. You can use Leo without using a mouse. - Flexible key bindings and input modes. You can emulate the operation of Emacs, Vim, or any other editor. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Dozens of other new features and bug fixes since Leo 4.3.3. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream January 17, 2006 -------------------------------------------------------------------- Edward K. Ream email: edreamleo at charter.net Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From limodou at gmail.com Tue Jan 17 15:26:46 2006 From: limodou at gmail.com (limodou) Date: Tue, 17 Jan 2006 22:26:46 +0800 Subject: ANN:NewEdit 3.2 Released Message-ID: <505f13c0601170626o424ee7b7o@mail.gmail.com> What's it? ======== It's an Editor based on wxPython. NewEdit 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 NewEdit 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 are its features? ================ * Cross platform o based on wxPython, so it can run anywhere that wxPython works, such as: Windows, Linux. o Unicode support. * Most features of wxStyledTextCtrl(Scintilla) o Syntax highlighting, support Python, c/c++, html, plain text, perl, ruby, css, javascript o Folding o Brace Matching o ... * Extended selection o Extended word selection -- You can press Ctrl+?MouseDoubleClick to select a word including '.' o Matched selection -- Select text in quoted chars like: (), [], {}, '', "". * Other editing extension o Duplicating text -- Just like Vim Ctrl+V, Ctrl+P, and more. You can duplicate above or below char, word, line o Quoting text -- Add some quoted chars before and after selected text, just as: "", '', (), [], {}, and o Text convertion and view -- python -> html, reStructured Text -> html, textile -> html, and you can output or view o Utf-8 encoding auto detect o Changing document encoding o Auto backup o Last session support -- It'll save all the filenames as closed, and reopen the files as next started. o Smart judge the indent char -- It'll auto guess the indent char, and sets it. o Finding in files o Bookmark support * Python support o built-in python interactive window based on ?PyShell, support Unicode o Auto completion o Function syntax calltips o Run, run with argument, stop python source o Auto change current path o Python class browser * Code snippets o You can manage your code snippets with categories, and each category can have many items. Every item will represent a code snippet. You can insert an item just by double-clicking on it. It even supports importing and exporting. * Simple project support o Can create a special file _project, so every file and folder under the folder which has the _project can be considered as a whole project. * Extension mechanism o Script -- You can write easy script to manipulate the all resource of NewEdit, just like: text conversion, etc. o Plugin -- Customized function. More complex but more powerful. Can easily merge with NewEdit, and can be managed via menu. o Shell command -- Add often used shell commands, and execute them. * Ftp support o You can edit remote files through ftp. You can add, rename, delete, upload, download file/directory. * Multilanguage support o Currently supports two languages: English and Chinese, which can be auto-detected. * Shipped plugins(must be configed as used them before) o Document links -- Python documentation and wxPython documentation. o Many plugins can be found at NewEdit wiki page. * Shipped scripts o Many scripts can be found at NewEdit wiki page. * Wizard (New) o You can make your own wizard template. The wizard can input user data, combine with template, and output the result. And wizard also support code framework created. This feature will help you improving coding efficiency. * Direcotry Browser(New) o Browse multiple directories, and you can really add, delete, rename directories and files. Double click will open the file in Editor window. * AutoComPlete(acp)(New) o Suport user autocomplete file, it can help to input code very helpful and functional. Just like EditPlus, but may be more powerful. Where to download it? ================ download lastest version 3.2: http://wiki.woodpecker.org.cn/moin/NewEdit?action=AttachFile&do=get&target=newedit_3.2.zip also have windows installer: http://wiki.woodpecker.org.cn/moin/NewEdit?action=AttachFile&do=get&target=NewEdit3.2.exe wiki: http://wiki.woodpecker.org.cn/moin/NewEdit svn: http://cvs.woodpecker.org.cn/svn/woodpecker/newedit maillist: http://groups.google.com/group/NewEdit If you have any problem as using NewEdit, welcome to join the NewEdit maillist to discuss. Hope fun! -- I like python! My Blog: http://www.donews.net/limodou NewEdit Maillist: http://groups.google.com/group/NewEdit From fabioz at esss.com.br Tue Jan 17 17:00:28 2006 From: fabioz at esss.com.br (Fabio Zadrozny) Date: Tue, 17 Jan 2006 14:00:28 -0200 Subject: ANN: PyDev 0.9.8.7 released In-Reply-To: <43C39752.8040302@esss.com.br> References: <43382E1F.3000600@esss.com.br> <434E801E.3010702@esss.com.br> <437CB368.2010501@esss.com.br> <43C39752.8040302@esss.com.br> Message-ID: <43CD149C.8070501@esss.com.br> Hi All, PyDev - Python IDE (Python Development Enviroment for Eclipse) version 0.9.8.7 has been released. Check the homepage (http://pydev.sourceforge.net/) for more details. Details for Release: 0.9.8.7: Major highlights: * The debugger tracing was turned off (this was a bug in 0.9.8.6 and could make debugging much slower) * Fixed jython shell (and extended it to get better information on code-completion). * Changed the interpreter configuration so that it is backwards-compatible from now on...(but the current interpreters will be lost and will need to be configured) * Breakpoints can have conditionals(this was contributed by Achim Nierbeck, and was actually provided in release 0.9.8.6, but I forgot to put it in the release notes) * Some other bugfixes are also in this build. Cheers, Fabio -- Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software www.esss.com.br PyDev - Python Development Enviroment for Eclipse pydev.sf.net pydev.blogspot.com From python-url at phaseit.net Wed Jan 18 01:34:10 2006 From: python-url at phaseit.net (Magnus Lycka) Date: Wed, 18 Jan 2006 00:34:10 +0000 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 18) Message-ID: QOTW: "*what* the value is is defined by the operations that the object supports (via its type). *how* the value is represented inside the object is completely irrelevant; a Python implementation may use electric charges in small capacitors, piles of rocks, diapers,or an endless supply of small guys in odd costumes to encode the value inside an object. Changes to the value may be carried out by CPU instructions, caterpillars, toddlers with gasmasks, or an endless supply of small guys in odd costumes. The only thing that's important is that you can, in your Python program, access an objects value via its type, and get other objects back when you do." - Fredrik Lundh "I have never seen a case where a dictionary didn't improve the design." - Ivan Van Laningham PyCon Early bird registration ends, FrOSCon 2006 issues a "Call for Papers" and OSCON 2006 (Python 14 Conference) issues a "Call for Proposals": http://groups.google.se/group/comp.lang.python.announce/browse_frm/thread/3e139769821f7e6e http://groups.google.se/group/comp.lang.python.announce/browse_frm/thread/a5704ce3f09c4f01 http://groups.google.se/group/comp.lang.python.announce/browse_frm/thread/8f520f85326bf7de With release 0.6, OSAF's Python based PIM Chandler includes an "experimentally usable" calendar, with support for recurring events, time-zones and the ability to share calendars with others: http://chandler.osafoundation.org/ Fynali asks "How to remove subset from a file efficiently?". Follow-ups, as has happened so often before, reduce his runtime from a few minutes to a few seconds: http://groups.google.se/group/comp.lang.python/browse_frm/thread/929fcdf0ff9731dc Tim Peters explains why you shouldn't expect much from atexit + threads: http://groups.google.se/group/comp.lang.python/browse_frm/thread/fe9e426650764ed9 Scott David Daniels suggests use of decorators to handle unit tests that are known to fail: http://groups.google.se/group/comp.lang.python/browse_frm/thread/7ea0762494ef96ff Robin Becker requests "some smart/fast way to flatten a level one list" and receives a number of suggestions: http://groups.google.se/group/comp.lang.python/browse_frm/thread/383aab2c3467eb59 A discussion of the draft for a new Python.org web site leads to a conclusion of general happiness with the new look: http://beta.python.org Brian Blais asks "how do 'real' python programmers work?" and receives a sample of development processes that Pythonistas use, focused on what kind of windows people have on their screen, but also including such important aspects as test driven development: http://groups.google.se/group/comp.lang.python/browse_frm/thread/82b4f2f90b9def56 Michael Galvin receives a few suggestions on how to get both text and graphics to a printer from Python: http://groups.google.se/group/comp.lang.python/browse_frm/thread/bc0742534da994d2 Duncan Booth and others explain how to make a dictionary aware of its own changes: http://groups.google.se/group/comp.lang.python/browse_frm/thread/eeca4df10529f7e0 ======================================================================== Everything Python-related you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the marvelous daily python url http://www.pythonware.com/daily Mygale is a news-gathering webcrawler that specializes in (new) World-Wide Web articles related to Python. http://www.awaretek.com/nowak/mygale.html While cosmetically similar, Mygale and the Daily Python-URL are utterly different in their technologies and generally in their results. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html comp.lang.python.announce announces new Python software. Be sure to scan this newsgroup weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon of intelligently summarizing action on the python-dev mailing list once every other week. http://www.python.org/dev/summary/ The Python Package Index catalogues packages. http://www.python.org/pypi/ The somewhat older Vaults of Parnassus ambitiously collects references to all sorts of Python resources. http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Success Stories--from air-traffic control to on-line match-making--can inspire you or decision-makers to whom you're subject with a vision of what the language makes practical. http://www.pythonology.com/success The Python Software Foundation (PSF) has replaced the Python Consortium as an independent nexus of activity. It has official responsibility for Python's development and maintenance. http://www.python.org/psf/ Among the ways you can support PSF is with a donation. http://www.python.org/psf/donate.html Kurt B. Kaiser publishes a weekly report on faults and patches. http://www.google.com/groups?as_usubject=weekly%20python%20patch Cetus collects Python hyperlinks. http://www.cetus-links.org/oo_python.html Python FAQTS http://python.faqts.com/ The Cookbook is a collaborative effort to capture useful and interesting recipes. http://aspn.activestate.com/ASPN/Cookbook/Python Among several Python-oriented RSS/RDF feeds available are http://www.python.org/channews.rdf http://bootleg-rss.g-blog.net/pythonware_com_daily.pcgi http://python.de/backend.php For more, see http://www.syndic8.com/feedlist.php?ShowMatch=python&ShowStatus=all The old Python "To-Do List" now lives principally in a SourceForge reincarnation. http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse http://python.sourceforge.net/peps/pep-0042.html The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From newsgroups at jensdiemer.de Wed Jan 18 13:10:39 2006 From: newsgroups at jensdiemer.de (jens) Date: Wed, 18 Jan 2006 13:10:39 +0100 Subject: ANN: PyLucid 0.6.0 stable released Message-ID: <43ce3048_1@news.isis.de> It is finally done! The v0.6.0 version is stable. (I think.) About: ------ PyLucid is a lightweight, OpenSource (GPL 2.x or newer) content management system written in pure Python CGI. Nearly all output can be customized. No shell account is needed. To run PyLucid you need a standard Webserver with Python (at least v2.2.1) CGI and MySQL. Changes: -------- * major changes o NEW: Module/Plugin Administration available. o NEW: Basic User Management o The Module-Manager is complete rewritten. o Plugin-Config now in a seperate File. o Plugins can have own SQL-Tables, internal_pages and stylesheets. o NEW: internal_pages can be written in simpleTAL * minor / internal changes o Rewritten internal_pages: Used CSS instead of tables. o enhanced: manual encoding from data base o bugfixes in tinyTextile Markup o Tables plugin and plugindata where now in use ;) o page_internals with no markup use SQL-'NULL' instand of ID 1 -------- http://pylucid.org/index.py?p=/Download/History Download: http://sourceforge.net/project/showfiles.php?group_id=146328&package_id=161206 how to install PyLucid: http://www.pylucid.org/index.py?p=/Download/install+PyLucid update instructions: http://www.pylucid.org/index.py?p=/Download/update+instructions -- Mfg. Jens Diemer ---- CMS in pure Python CGI: http://www.pylucid.org From srackham at methods.co.nz Wed Jan 18 10:04:14 2006 From: srackham at methods.co.nz (Stuart Rackham) Date: Wed, 18 Jan 2006 22:04:14 +1300 Subject: ANN: AsciiDoc 7.1.0 released Message-ID: <43CE048E.3080802@methods.co.nz> This release introduces a2x(1), an AsciiDoc DocBook toolchain wrapper to automate the generation and sequencing of toolchain commands (see also http://www.methods.co.nz/asciidoc/CHANGELOG.html). What is it? ----------- AsciiDoc is an uncomplicated text document format for writing articles, short documents, books and UNIX man pages. AsciiDoc files can be translated to HTML, XHTML (with CSS2) and DocBook (articles, books and refentry documents) using the asciidoc(1) command. AsciiDoc is configurable: both the AsciiDoc source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by user. Requisites ---------- Python 2.3 or higher. Obtaining AsciiDoc ------------------ The latest AsciiDoc version, examples and online documentation can be downloaded from http://www.methods.co.nz/asciidoc/ AsciiDoc is also hosted at the SourceForge at http://sourceforge.net/projects/asciidoc/ Regards, Stuart -- Stuart Rackham From ryan at rfk.id.au Thu Jan 19 06:56:23 2006 From: ryan at rfk.id.au (Ryan Kelly) Date: Thu, 19 Jan 2006 16:56:23 +1100 Subject: ANN: PyEnchant 1.1.5 Message-ID: <1137650184.11242.2.camel@mango> Hi Everyone, I'm pleased to announce the release of PyEnchant version 1.1.5. This is a bugfix release to address some hangs when running on MS Windows. Specifically: * Fix hang in included MySpell (Windows distribution) * Workaround for some MySpell/unicode problems * Update to latest setuptools ez_setup.py Users of previous versions are encouraged to upgrade. Also, my attempts to announce version 1.1.4 on python-announce seem to have bounced, so I'm including the 1.1.4 ChangeLog below. Cheers, Ryan About: ------ Enchant (http://www.abisource.com/enchant/) is the spellchecking package behind the AbiWord word processor, is being considered for inclusion in the KDE office suite, and is proposed as a FreeDesktop.org standard. It's completely cross-platform because it wraps the native spellchecking engine to provide a uniform interface. PyEnchant brings this simple, powerful and flexible spellchecking engine to Python: http://pyenchant.sourceforge.net/ It also provides extended functionality including classes for tokenizing text and iterating over the spelling errors in it, as well as a ready-to-use text interface and wxPython dialog. Current Version: 1.1.4 Licence: LGPL with exemptions, as per Enchant itself ChangeLog for 1.1.4: -------------------- * No longer need to use the registry under Windows * Moved to setuptools for managing distribution * Registered at the Cheese Shop, with Eggs available for Windows users * Implemented unittest TestCases, works with `python setup.py test` * Plugins on Windows moved to "enchant" subdirectory * SpellChecker now coerces to/from unicode automatically * Use python default encoding rather than UTF-8 where appropriate * Various documentation cleanups * bug fixes: * (1230151): count of live instances done by normalized key * Accept unicode strings as broker orderings -- Ryan Kelly http://www.rfk.id.au | This message is digitally signed. Please visit ryan at rfk.id.au | http://www.rfk.id.au/ramblings/gpg/ for details -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://mail.python.org/pipermail/python-announce-list/attachments/20060119/196cddbd/attachment.pgp From tony.meyer at gmail.com Fri Jan 20 05:33:33 2006 From: tony.meyer at gmail.com (Tony Meyer) Date: Fri, 20 Jan 2006 17:33:33 +1300 Subject: python-dev Summary for 2005-12-01 through 2005-12-15 Message-ID: <6c63de570601192033i6858b523pcfef9b075f2fea22@mail.gmail.com> [The HTML version of this Summary is available at http://www.python.org/dev/summary/2005-12-01_2005-12-15.html] ============= Announcements ============= ----------------------------------------------------- Reminder: plain text documentation fixes are accepted ----------------------------------------------------- Want to help out with the Python documentation? Don't know LaTeX? No problem! Plain text or ReST fixes are also welcome. You won't be able to produce a diff file like with a normal patch, but comments that explain how to fix the docs are just as good. A form like "in section XXX right before the paragraph starting with YYY, the documentation should say ZZZ" will make it easy for the doc maintainers to apply your fix. Contributing thread: - `c.l.p post on docs `__ [SJB] -------------------------------------------- New-style exceptions patch requesting review -------------------------------------------- With `PEP 352`_ ready_ for Guido's pronouncement, Michael Hudson has asked for a few more developers to review his patch_ to make all exceptions new-style. It should be basically ready, but it would be nice to have a few eyes for sanity checks, documentation, and compilations on the various platforms. .. _PEP 352: http://www.python.org/peps/pep-0352.html .. _ready: http://www.python.org/dev/summary/2005-10-16_2005-10-31.html#required-superclass-for-exceptions .. _patch: http://bugs.python.org/1104669 Contributing threads: - `New-style exceptions patch (was Re: PEP 8 updates/clarifications) `__ - `New-style exceptions patch `__ [SJB] ---------------------------------------- Debugging lib available from ActiveState ---------------------------------------- Trent Mick confirmed that ActiveState do distribute a separate distribution of debug DLLs for each Python release. These can be found by filling in the version number in the URL ftp://ftp.activestate.com/ActivePython/etc/ActivePython--win32-ix86-debug.zip Contributing thread: - `Plea to distribute debugging lib `__ [TAM] ========= Summaries ========= ------------------------------- Updating the Python style guide ------------------------------- Ian Bicking kicked off a lengthy discussion about updating various aspects of `PEP 8`_ (the Python code style guide), which resulted in a substantial revision of the PEP. PEP 8 stated that if a module defines a single exception raised for all sorts of conditions, it is generally called "error" or "Error". Ian noted that other than some outlying cases (e.g. os.error, socket.error), CapWords are always used. He also wondered if exceptions should have names that are relatively unique, or simply unique within their namespace. Finally, he requested a position be taken on acronyms (e.g. HHTPRedirect or HttpRedirect). Barry Warsaw pointed out that since exceptions are now classes, the rules for naming classes should really apply; his preference is CapWordsEndingInError rather than Error or error. He also suggested that acronym letters should be capitalised. There was mostly consensus on this, although some prefer shorter exception class names. Guido wondered whether the function/method naming convention (lower_case, mixedCase, or CapWords) was so controversial that the PEP should not make a recommendation other than of consistency. In the end, however, the status quo (lower_case except for consistency reasons) won out. He was definite about module, package, and class names, however, which should be all-lowercase without underscores (modules/packages), or CapWords (class names). (He noted that standard library modules such as StringIO.py and UserDict.py that break this rule should be changed). PEP 8 recommended appending an underscore rather than corrupted spelling when a name conflicts with a reserved word e.g. class\_ rather than klass). Ian suggested that a specific recommendation for the class argument to classmethods be made; out of cls, klass and class\_ he preferred cls. He further suggested that, as self is not used outside of the first argument of instance methods, whatever spelling of the class argument is used should not be used elsewhere (e.g. cls for the class argument, and class\_ elsewhere). This was generally accepted. A further suggestion from Barry's `Mailman style guide`_ was also made, that from-imports should follow non-from imports, and dotted imports should follow non-dotted imports. Non-dotted imports should be grouped by increasing length, while dotted imports should be grouped roughly alphabetically. However, this was felt to be too prescriptive; users should follow their own aesthetic taste. Various other small modifications and improvements were suggested and made, such as: * PEP 8 stated that modules designed for use via "from M import \*" should prefix their globals, internal functions, and internal classes with an underscore. Ian suggested that __all__ should be recommended over using a leading underscore, which was done. * PEP 8 was fairly dated in discussing inheritance and public/non-public methods. Ian suggested that the language should be updated, and that property() should be discussed, and this was done. * PEP 8 recommended that class-based exceptions are used rather than string-based exceptions. Ian suggested that language be changed to recommend more strongly against string-based exceptions, which was done. * To make the PEP more concise and succinct, references to Emacs were removed. There was also a sub-thread that considered when to use normal instance variables and when to use accessor methods. Jim Fulton suggested that attributes should be used if the accessors are trivial, whereas Skip Montanaro preferred more frequent use of accessor methods, to avoid incorrect usage of classes. Phillip J. Eby's opinion was that normal instance variables should be used, until there is a need to do something when they change, at which point properties should be introduced. PEP 8 now recommends simple attribute access over accessors. One distinction is how people interpret "public" and "private". Skip's opinion is that just because an attribute doesn't start with an underscore doesn't mean that it is implicitly declared public, and that people should familiarise themselves with the callable methods of an object and only use direct access if the necessary methods aren't provided. Jim felt that the API should be documented, and people should use that API (he considered that prepending an underscore documents that the attribute is internal; although this does not cover the "subclassing API"). Ian also brought up the section of PEP 8 that discussed private attributes and double leading underscores. PEP 8 was unclear whether double leading attributes should only be used to avoid name conflicts when subclassing, or whether indicating that an attribute was meant to be private was a valid use. This spun off a very long discussion about private variables. Several people spoke up against double-underscore prefixes. On the other hand, Raymond Hettinger felt that the PEP should not dictate how variables should be named, especially for a convention with a long history and language support. Jim Fulton went so far as to suggest that __private be deprecated, which gained some support. However, Guido stated that he not only liked __private, he liked the current implementation. Specifically, he felt that the typically-shallow class hierarchies found in Python reduces the likelihood of accidental reuse of class names (he also advocated that subclasses should not share names with parent classes), and he liked that the name-mangling algorithm was well-defined and simple (e.g. so that when in the debugger it is easy to manually mangle/unmangle names). Interestingly, this is the main reason that Jeremy Hylton dislikes mangled names: because the debugger is unaware of the names and he can't remember how to type them, and also because it's annoying to have to change every instance of __var to _var if the intended usage changes (as compared to C++ private variables, where only the declaration of visibility must change). He noted, though, that these are problems that tools (debuggers, editors, IDEs) could solve. Others felt that keeping mangling was fine, but that it should be changed so that collisions were harder (e.g. use a GUID instead of the class name). However, this violates one of Guido's reasons for liking the current implementation (although it's possible that having better support for the feature in common tools would remove this necessity). Tim Peters gave a nice explanation of why the name mangling is provided:: If your utility or mixin base class `A` has a data member named `n`, nobody deriving from `A` dare name one of their data members `n` too, and it's unreasonable to expect everyone deriving from `A` to learn and avoid all the names `A` uses internally. It's even more unreasonable for A's author to have to promise, after A's first release, never to change the name of, or introduce any new, attribute (A's author dare not, lest the new name conflict with a name someone else's subclass used). If A's author names the attribute `__n` instead, all those problems go away, provided only that some subclass doesn't also name itself `A`. Contributing threads: - `PEP 8 updates/clarifications `__ - `Deprecate __ private (was Re: PEP 8 updates/clarifications) `__ - `Import order (was Re: PEP 8 updates/clarifications) `__ - `Deprecate __ private (was Re: PEP 8updates/clarifications) `__ - `PEP 8 updates/clarifications, function/method style `__ .. _PEP 8: http://www.python.org/dev/peps/pep-0008.html .. _Mailman style guide: http://barry.warsaw.us/software/STYLEGUIDE.txt [TAM] ------------------------------------ ElementTree in the Python 2.5 stdlib ------------------------------------ Skip Montanaro forwarded to python-dev a bit of a comp.lang.python thread asking why ElementTree wasn't part of the standard library. He and others argued that it was "best of breed" with a wide user base, and that it met the other requirements_ for stdlib inclusion like having an active maintainer, Fredrik Lundh. After a relatively brief discussion, Fredrik got the ball rolling, setting things up so that: * The ``external`` directory at the top of the SVN tree contains snapshots of his celementtree and elementtree packages * The ``etree`` subpackage of the ``xml`` module contains the ElementTree, cElementTree, ElementPath and ElementInclude modules Mike Brown started a brief follow-up thread concerned that the XML-SIG hadn't been consulted on this inclusion. Martin v. L?wis and others indicated that sidestepping XML-SIG had not been intentional, but also that carrying the discussion on XML-SIG as well would not likely have changed the outcome due to the strong community support for ElementTree. As a side effect of this discussion, magic in ``xml/__init__`` was removed in favor of introducing an ``xmlcore`` package containing all the xml modules found in the basic standard library, and an ``xml`` module which imports things from ``xmlcore`` or PyXML if it's available. .. _requirements: http://mail.python.org/pipermail/python-dev/2003-April/034881.html Contributing threads: - `ElementTree - Why not part of the core? (fwd) `__ - `stupid package tricks `__ - `ElementTree in stdlib `__ - `Sharing expat instances `__ - `"xml"; package in standard library `__ [SJB] -------------------- More work on the AST -------------------- This fortnight saw implementations for the two main models proposed for revamping the AST memory management. Martin v. L?wis created a branch_ that converted all AST objects to PyObjects and used the normal Python reference counting to manage them. This requires that AST code: * initialize all PyObjects to NULL * Py_XDECREF() each PyObject on exit * goto an error block for Py_DECREF()ing if there is a failure Jeremy Hylton worked up a separate version of the AST code using an arena API. This requires that AST code: * call PyArena_AddPyObject() for any allocated PyObject * call PyArena_AddMallocPointer() for any malloc()ed memory The arena code was merged into the trunk, though it seemed that work on the PyObject branch would continue in order to be able to compare the final outcomes of both strategies. In a related issue, because the AST code is generated from Parser/asdl_c.py, and because subversion sets the timestamp for each file to the checkout time, trying to build the current trunk on a machine without Python installed failed even when the AST C files had been checked into subversion. It looked like the best solution would be to introduce a separate make rule for generating the AST code. .. _branch: http://svn.python.org/projects/python/branches/ast-objects/ Contributing threads: - `ast-objects branch created `__ - `Memory management in the AST parser & compiler `__ - `PyAST_FromNode returning PyTypeObject* ? `__ - `should I really have to install Python before I can build it ? `__ - `should I really have to install Python before Ican build it ? `__ - `should I really have to install Python before Icanbuild it ? `__ [SJB] ------------------- Python GC Refresher ------------------- Gregoire Weber asked for a little more information on Python's garbage collector since the links in ``Modules/gcmodule.c`` were broken. Python's garbage collector is a combination of reference counting and the periodic invocation of a cyclic garbage collector. Python's reference counting means that each time an object P is referenced by another object, P's refcount is incremented, and each time one of the references to P is removed, P's refcount is decremented. When P's refcount reaches zero, the interpreter pauses to reclaim P and all objects that were reachable only from P. In addition to this reference counting, Python's cyclic garbage collector means that after a large number of objects have been allocated (and not deallocated though reference counting), the interpreter will pause to try to clear out any unreferenced cycles. Contributing thread: - `Documentation about Python's GC, python-dev list messages referenced in Modules/gcmodule.c not reachable anymore `__ [SJB] ----------------------------------- Improving the documentation process ----------------------------------- Skip Montanaro suggested that, in order to lower the barrier for submitting documentation patches, it might be worth allowing anonymous bug reports. Guido was against this, indicating that he thought the problem was more the sourceforge sign-up hassle than the need to provide an email address, and suggested that it might be time to switch to roundup_. Martin v. L?wis was concerned about the transition process - whether or not roundup could properly import the sourceforge bug reports, and whether or not the python.org/sf/ redirect would continue to work. The discussion trailed off before any final decisions were made. .. _roundup: http://roundup.sourceforge.net/ Contributing threads: - `Tracker anonymity `__ [SJB] ------------------------ hasattr() and properties ------------------------ Thomas Lotze noticed that when applied to a class instance (but not an object of that class), hasattr calls getattr and decides that the attribute doesn't exist if the call raises any exception. For example:: >>> class Foo(object): ... def get(self): ... raise Exception ... bar = property(get) ... >>> hasattr(Foo, "bar") True >>> hasattr(Foo(), "bar") False He asked whether it would make more sense to only report a missing attribute if an AttributeError is raised. Greg Ewing agreed that this would be an improvement, but felt that calling the property access code as a side effect of hasattr seems like a misfeature. Thomas also wondered whether it would make sense for properties to look up the attribute in the same way that getattr would rather than calling getattr. Greg wondered if descriptors need a forth slot for hasattr customisation, removing the need to rely on catching exceptions, so that the logic would be:: if there is a descriptor for the attribute: if the descriptor's hasattr slot is populated: return the result of calling it else: return True else: look in the instance dict for the attribute Guido indicated that he believes that a property that has a side effect (other than caching, statistics, logging, and so forth) is a misfeature anyway, so he doesn't have a problem with hasattr() trying getattr() and reporting False if that raises an exception. Discussion died out before anything was resolved. Contributing thread: - `hasattr and properties `__ [TAM] --------------------------------- Supporting iterables in xmlrpclib --------------------------------- Skip Montanaro `presented a patch`_ to allow all currently supported iterables (e.g. sets and arrays) to be marshalled as lists with xmlrpclib. The goals are to extend the set of sequences that can be marshalled transparently, and keep the caller from caring as much about the limitations of the XML-RPC datatypes. Guido felt that this was a bad idea, however; he feels that it's better to be aware of the limitations in what XML-RPC can handle and try to handle it. Contributing thread: - `Broader iterable support for xmlrpclib `__ .. _presented a patch: http://python.org/sf/1374063 [TAM] ----------------------------------------- Checking Jython support code into CPython ----------------------------------------- Fredrik Lundh asked what the policy with respect to Jython-specific modules in the standard library was. Guido felt that as long as it didn't do any harm (likely causing unit tests to fail) to CPython, it would be fine. He noted that traditionally Jython-specific code has been checked into Jython's own source control, however, and Martin v. L?wis indicated that this is what he would prefer. Contributing thread: - `Jython and CPython `__ [TAM] ----------------------------------------- Getting rid of __builtins__ in Python 3.0 ----------------------------------------- Neal Norwitz asked Guido whether improving the confusing system of having both __builtins__ and __builtin__ could be begun. Guido clarified that having both is clearly a bad idea, that he's not sure that renaming builtin to __builtin__ was correct (and that perhaps it should be changed back), that __builtins__ always being a dict would simplify some code but need special handling of vars() in interactive mode, and that another alternative might be to merge the __builtin__ and __builtins__ functionality (under the __builtin__ name). Guido asked that people mull this over, but hasn't had any responses so far. Contributing thread: - `__builtin__ vs __builtins__ `__ [TAM] ------------------------------------- Subject lines of python-commit emails ------------------------------------- If you subscribe to python-checkins, you get email every time something is updated. Most people don't care about every change; the subject lines were made a bit more useful for classification. Contributing thread: - `Subject lines of commit email `__ [Jim Jewett] ------------------------------------------- Additional arguments for logging formatters ------------------------------------------- People would like to pass additional arguments to the logging formatters. Now they will be able to also pass a dict containing extra values. There were a few questions on the API; particularly on what to do if the extra dict redefines some of the already documented variables. Contributing thread: - `Proposed additional keyword argument in logging calls `__ [Jim Jewett] ------------------------------------------------------- Correct location for dynmically linked/shared libraries ------------------------------------------------------- Since ElementTree is being added, so is cElementTree (not as good for subclassing, but faster). This used a statically compiled expat, but there is already a statically compiled expat distributed with python. The two uses have been merged, and there was some discussion about where \*.so or \*.dll files should go if they represent only part of a package. Contributing thread: - `Location of .so files (Was: Sharing expat instances) `__ [Jim Jewett] ================ Deferred Threads ================ - `Linked lists `__ =============== Skipped Threads =============== - `Python bug day this Sunday `__ - `os.normpath may change the meaning of the path if it contains symbolic links? `__ - `SVN backup? `__ - `svn problem - can't get log info for a specific revision `__ - `Patch reviews & request for patch review `__ - `Dynamic Link Library `__ - `[Python-checkins] commit of r41586 - in python/trunk: Lib/SimpleXMLRPCServer.py Misc/NEWS `__ - `Short-circuiting iterators `__ - `Bug bz2.BZ2File(...).seek(0,2) + patch `__ - `imaplib module with IDLE implememted via threads `__ - `Exception type on handling closed files `__ - `A missing piece of information in weakref documentation `__ - `Directory for packages maintained outside the core (was Re: ElementTree - Why not part of the core?) `__ - `Incorporating external packages into Python's std distribution `__ - `On moving to new-style classes `__ - `Weekly Python Patch/Bug Summary `__ - `Website cruft `__ - `Add timeout to subprocess.py? `__ - `patch tracker ping: cross compile and mingw support `__ - `Needed tester for patch in urllib.py module `__ ======== Epilogue ======== This is a summary of traffic on the `python-dev mailing list`_ from December 01, 2005 through December 15, 2005. It is intended to inform the wider Python community of on-going developments on the list on a semi-monthly basis. An archive_ of previous summaries is available online. An `RSS feed`_ of the titles of the summaries is available. You can also watch comp.lang.python or comp.lang.python.announce for new summaries (or through their email gateways of python-list or python-announce, respectively, as found at http://mail.python.org). This is the 9th summary written by the python-dev summary gathering of Steve Bethard and Tony Meyer (more on its way). To contact us, please send email: - Steve Bethard (steven.bethard at gmail.com) - Tony Meyer (tony.meyer at gmail.com) Do *not* post to comp.lang.python if you wish to reach us. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to advance the development and use of Python. If you find the python-dev Summary helpful please consider making a donation. You can make a donation at http://python.org/psf/donations.html . Every cent counts so even a small donation with a credit card, check, or by PayPal helps. -------------------- Commenting on Topics -------------------- To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list at python.org which is a gateway to the newsgroup) with a subject line mentioning what you are discussing. All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join `python-dev`_! ------------------------- How to Read the Summaries ------------------------- The in-development version of the documentation for Python can be found at http://www.python.org/dev/doc/devel/ and should be used when looking up any documentation for new code; otherwise use the current documentation as found at http://docs.python.org/ . PEPs (Python Enhancement Proposals) are located at http://www.python.org/peps/ . To view files in the Python CVS online, go to http://svn.python.org/projects/python/ . Reported bugs and suggested patches can be found at the SourceForge_ project page. Please note that this summary is written using reStructuredText_. Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo :); you can safely ignore it. We do suggest learning reST, though; it's simple and is accepted for `PEP markup`_ and can be turned into many different formats like HTML and LaTeX. Unfortunately, even though reST is standardized, the wonders of programs that like to reformat text do not allow us to guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the `original text file`_. .. _python-dev: http://www.python.org/dev/ .. _SourceForge: http://sourceforge.net/tracker/?group_id=5470 .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _c.l.py: .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _PEP Markup: http://www.python.org/peps/pep-0012.html .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. _last summary: http://www.python.org/dev/summary/2005-11-01_2005-11-15.html .. _original text file: http://www.python.org/dev/summary/2005-12-01_2005-12-15.ht .. _archive: http://www.python.org/dev/summary/ .. _RSS feed: http://www.python.org/dev/summary/channews.rdf From tony.meyer at gmail.com Fri Jan 20 05:34:06 2006 From: tony.meyer at gmail.com (Tony Meyer) Date: Fri, 20 Jan 2006 17:34:06 +1300 Subject: python-dev Summary for 2005-12-16 through 2005-12-31 Message-ID: <6c63de570601192034h412a9f9dod5055b092d8053e7@mail.gmail.com> [The HTML version of this Summary is available at http://www.python.org/dev/summary/2005-12-16_2005-12-31.html] ============= Announcements ============= ---------------------------- QOTF: Quote of the Fortnight ---------------------------- Python-dev is in love with Python, though sometimes too much, Fredrik Lundh contends: ...in reality, some things are carefully thought out and craftily implemented, some things are engineering tradeoffs made at a certain time, and some things are just accidents -- but python-dev will happily defend the current solution with the same energy, no matter what it is. Contributing thread: - `a quit that actually quits `__ [SJB] ------------------------------------------------------- Reminder: plain text documentation patches are accepted ------------------------------------------------------- Want to help out with the Python documentation? Don't know LaTeX? No problem! Plain text or ReST fixes are also welcome. You won't be able to produce a diff file like with a normal patch, but comments that explain how to fix the docs are just as good. A form like "in section XXX right before the paragraph starting with YYY, the documentation should say ZZZ" will make it easy for the doc maintainers to apply your fix. Contributing thread: - `LaTeX and Python doc contributions `__ [SJB] --------------------------------------------------------------- PyPy Sprint: Palma de Mallorca (Spain) 23rd - 29th January 2006 --------------------------------------------------------------- The next PyPy_ sprint is scheduled to take place from the 23rd to the 29th of January 2006 in Palma De Mallorca, Balearic Isles, Spain. There will be newcomer-friendly introductions and the focus will mainly be on current JIT work, garbage collection, alternative threading models, logic programming and on improving the interface with external functions. .. _PyPy: http://codespeak.net/pypy Contributing thread: - `Next PyPy Sprint: Palma de Mallorca (Spain) 23rd - 29th January 2006 `__ [TAM] -------------------------------------------------- SHA-224, -256, -384 and -512 support in Python 2.5 -------------------------------------------------- Ronald L. Rivest asked about the cryptographic hash function support in Python, now that md5 and sha1 are broken in terms of collision-resistance. The new-in-Python-2.5 hashlib module was pointed out (and somewhat belatedly added to the NEWS file), which includes new implementations for SHA-224, -256, -384 and -512 (these, including tests, are already in SVN). Gregory P. Smith noted that although the code isn't currently available for earlier versions of Python, he does plan to release a standalone package for Python 2.3 and Python 2.4, when time permits. Contributing thread: - `hashlib - faster md5/sha, adds sha256/512 support `__ [TAM] ========= Summaries ========= ----------------------------------- Improving the documentation process ----------------------------------- Fredrik Lundh asked about automatically updating the development docs, so that users wouldn't be required to have a latex toolchain installed to get an HTML version of the current docs. This spawned a long discussion about using something other than LaTeX (e.g. microformats_ or ReST_) for markup. Though HTML has the advantage that many Python users are already familiar with it, a number of people voiced concerns about the ease of reading and writing it. ReST is generally easy to read and write, but some people suggested that for complicated structured text (like Python function and class definitions) it was no better than LaTeX. Fredrik Lundh presented some example code side-by-side_ and argued that using HTML with something like PythonDoc_ could better represent the documentation's intent. He also produced an initial conversion_ of the Python docs to this format. Fredrik also pointed out that currently the doc patch submission procedure is rather tedious, and listed_ the rather large number of steps required for end-users and developers to get their documentation fixes added to the current Python docs. He claimed that a simple wiki, discussion board, or "user edit" mechanism like that of roundup_, combined with automated updates of the documentation from the Python SVN trunk, could reduce this procedure to two or three simple steps. As a partial effort towards this goal, Trent Mick started posting `daily builds`_ of the Python HTML. This prompted Neal Norwitz to set up the docs server in a similar manner so that it now produces development documentation builds twice daily at http://docs.python.org/dev/. .. _microformats: http://microformats.org/wiki/microformats .. _side-by-side: http://mail.python.org/pipermail/python-dev/2005-December/059022.html .. _PythonDoc: http://effbot.org/zone/pythondoc.htm .. _conversion: http://effbot.org/zone/pythondoc-lib.htm .. _listed: http://mail.python.org/pipermail/python-dev/2005-December/059311.html .. _roundup: http://roundup.sourceforge.net .. _daily builds: http://trentm.com/python/ Contributing threads: - `status of development documentation `__ - `documentation comments `__ - `[Doc-SIG] status of development documentation `__ - `reST limitations? (was Re: status of development documentation) `__ - `that library reference, again `__ - `[Doc-SIG] that library reference, again `__ [SJB] -------------------------------------- Making quit and exit more command-like -------------------------------------- Fredrik Lundh kicked off a surprisingly long thread when he proposed that typing "quit" or "exit" in the interactive prompt actually exit (i.e. raises SystemExit) rather than printing a message informing the user how they can exit, to avoid the "if you knew what I wanted, why didn't you just do it?" situation. His proposal was to install a custom excepthook that looks for the appropriate NameErrors at the top level (in interactive mode only). Early discussion revolved around the implementation. Skip Montanaro worried that multiple code sources wanting to change sys.excepthook would step on one another's toes; Fredrik felt that if you add your own excepthook, you take responsibility. Martin was also concerned about this; although Fredrik believed that the change was so early that no code would try to add a hook prior to this, Martin suggested that the code stand as an example of good practice and pass execution on to any existing excepthook (if the command wasn't "exit" or "quit"). Reinhold Birkenfeld suggested that exit and quit could be instances of a class whose repr() raises SystemExit; however, this would cause an exit to be incorrectly performed whenever the exit or quit objects were examined (e.g. calling vars()). Reinhold suggested a variation where the SystemExit would only be raised if sys._getframe(1).f_code.co_names was "exit" or "quit"). Having quit and exit be functions (i.e. one would type "exit()" to exit) was also suggested, with a plain "exit" printing a help message (as today). However, while this shortens the platform-independent method of exiting ("raise SystemExit") to "exit()", it does nothing to address the "why didn't you just do it?" problem. Ka-Ping Yee was concerned that Fredrik's implementation would cause an exit in surprising situations, such as :: print exit # seems surprising [3, 4, 5, exit] # seems surprising 'a' in 'xyz' or exit # desirable or undesirable? del exit # actually happened to me x = exit # seems surprising And that Reinhold's modified proposal would do likewise:: print exit # seems surprising [3, 4, 5, exit] # seems surprising 'a' in 'xyz' or exit # desirable or undesirable? def foo(): print exit foo() # seems surprising As such, Fredrik proposed adding a new sys attribute that contains the most recent interpreter line, which could be examined to check that the line entered was simply "exit" or "quit" by itself. Skip suggested that such an attribute be made clearly private magic (e.g. by naming it sys._last_input). Michael Hudson suggested that the clever hacks could be avoided by simply having the equivalent of "if input.rstrip() == "exit": raise SystemExit" in the implementation of the interactive interpreter. Fredrik felt that this would elevate "exit" and "quit" into reserved keywords, in that this could occur:: >>> def exit(): ... print "bye" >>> # what is it? >>> exit $ oops! (However, one could simply type "repr(exit)" rather than "exit" in this case). Walter D?rwald suggested adding "sys.inputhook" (c.f. sys.displayhook, sys.excepthook), which gets each statement entered and returns True if it processed the line or False if normal handling should be done; Alex Martelli made a similar suggestion. This would not only allow special handling for "exit", "quit", and "help", but also might make implementing alternative shells easier. Nick Coghlan added a default handler to this suggestion, which checked a new dictionary, "sys.aliases", for special statements of this type and called an appropriate function if found. Fredrik's concern with this method was the same as with Michael Hudson's - that typing "exit" as a shortcut for "print repr(exit)" (when the user had assigned a value to "exit") would cause the shell to exit. As a result, Nick modified his default inputhook to check that the statement didn't exist in __main__'s vars(). Fernando Perez pointed out that this begins to come close to reimplementing ipython_. Fernando also commented that he felt that the amount of code he thought would be necessary to avoid any side-effects when determining whether "exit" should exit or not would make the standard interpreter too brittle, and that this should be left to third-party interpreters. He gave a lengthy explanation of the process that ipython went through, including linking to `the _prefilter method` that performs the appropriate magic in ipython. His opinion was that interpreters should have a separate command mode, entered by a particular character (e.g. the '%' used in ipython); while this would simply code, '%exit' would be even harder for people to guess, however. Some people were concerned that "quit" and "exit" would be treated specially (i.e. the standard way to do something is to "call a function" and a special case for exiting the interpreter is inappropriate); others pointed out that this would be there especially for people who don't know how to program in Python, and might not know that typing an EOF would exit the shell (or what the EOF character was for their platform). Fredrik's proposal gained a lot of early support, but later posters were not so keen. Stephen J. Turnbull suggested that the problem was simply that the current "help"/"exit" messages are impolite, and changing the language would solve the problem. Similarly, Aahz suggested that adding an explanation of how to quit to the startup message would suffice, although others disagreed that users would notice this, particularly when it was needed. Despite the strong support, however, in the end, Guido stepped in and stated that, in his opinion, nothing was wrong wih the status quo (or that if anything were to be changed, the hints provided by typing "exit" or "quit" should be removed). This pretty much ended the discussion. .. _ipython: http://ipython.scipy.org .. _`the _prefilter method`: http://projects.scipy.org/ipython/ipython/file/ipython/trunk/IPython/iplib.py Contributing threads: - `a quit that actually quits `__ --------------------------------------- Exposing the Subversion revision number --------------------------------------- Barry Warsaw proposed `a fairly simple patch`_ to expose the Subversion revision number to Python, both in the Py_GetBuildInfo() text, in a new Py_GetBuildNumber() C API function, and via a new sys.build_number attribute. A lengthy discussion took place about the correct method of determining the "revision number" that should be used. There are many possibilities, from the originally proposed revision number in which the directory was last modified, to the latest revision number within the tree, to using subversion itself. Each method requires a different amount of processing in order to determine the correct value. Barry indicated a preference for the original, simple, method, because he wished to keep the patch as simple as possible, didn't want to depend on Python already being built, and felt that generally developers will just 'svn up' at the top of the source tree then rebuild, rather than 'svn up' a buried sub-tree, change back to the top directory, and rebuild from there. Phillip J. Eby's concern with this was that this would not indicate if a change has been made locally and committed, unless the developer also did a 'svn up'. He also pointed out that the "Revision" from 'svn info' can change when the code doesn't change (because it will change when code in branches, the sandbox, PEPs, and so forth change). In the end, using the svnversion command was agreed on as a suitable method. The two main advantages are that this is the officially sanctioned (by Subversion) method, and that it indicates when local changes have been made. Armin Rigo voiced a concern that people would use sys.build_number to check for features in their programs, instead of using sys.version_info (or duck-typing methods such as hasattr()) because it seems that comparing a single number is easier than comparing a tuple. This was of especial concern considering that this value would only be present in CPython. He suggested that a new build_info attribute could be added to sys instead, which would be a tuple of ("CPython", "", "trunk"); that is, it would also include which Python implementation the program is using (for particular use by the test suite). The name also has advantages in that the number is actually a string (because 'M' will be present if there are local modifications) and it is not tied to a specific version control system. Michael Hudson pointed out that this value will not be able to be obtained when Python is built from an 'svn export' (where the .svn files do not exist), which is probably the case for many Python distributions. He wondered whether a subversion trigger could put the revision number into some file in the repository to cover this case, but Martin indicated that this would be difficult (although if the distribution is built from a tag, that the information would not be necessary). Barry suggested that the number would be the latest revision at which getbuildinfo was changed if a .svn directory isn't found. As an aside to this patch, Martin suggested that the build number should be dropped, as it stopped working on Windows some time ago and no longer provides any useful information. There was no opposition to this proposal, and some support. .. _a fairly simple patch: http://python.org/sf/1382163 Contributing threads: - `Expose Subversion revision number to Python `__ [TAM] --------------------------------------- Python's lists, linked lists and deques --------------------------------------- Martin Blais asked why Python didn't have native singly-linked or doubly-linked list types. Generally, it seemed that people couldn't find use cases for them that weren't covered by Python's builtin lists, collections.deque objects, or head-plus-tail-style two-tuples. The proposal was redirected to comp.lang.python until it was more developed. In a related thread, Christian Tismer asked if Python's list type could do a little usage-tracking and switch between the current array-based implementation and a deque-based implementation if, say, a large number of inserts or deletes began to occur at the beginning of the list. He got a few responses suggesting that it would be more complication that it was worth, but mostly his question got drowned out by the linked-list discussion. Contributing threads: - `Linked lists `__ - `deque alternative (was: Linked lists) `__ - `deque alternative `__ - `(back to): Linked lists -- (was: deque alternative) `__ [SJB] ------------------------ set() memory consumption ------------------------ Noam Raphael noted, as others have before, that sets (and dicts) do not release allocated memory after calls to pop(). He suggested that to keep pop() as amortized O(1) per delete, all that was needed was to resize the table to half its current size whenever it dropped to less that one quarter full. People seemed generally to think that the dict implementation (and therefore the set implementation which is based on it) were already highly optimized for real-world performance, and that there were too few use cases where a set would be filled and then emptied, but not filled up again. Raymond Hettinger is hesitant about getting too explicit in the documentation, because some of the choices are an implementation accident that might be different in, say, Jython. There are some `proposed changes`_ to the dictnotes.txt file in the source distribution; there may well be room for additional improvements. .. _proposed changes: http://python.org/sf/1397848 Contributing thread: - `When do sets shrink? `__ [SJB, with additions from Jim Jewett] --------------------------------------------------------- Changing the naming conventions of builtins in Python 3.0 --------------------------------------------------------- Ka-Ping Yee provocatively suggested that, to be consistent with the recommended style guide, in Python 3.0 built-in constants (None, True, False) should be in all caps (NONE, TRUE, FALSE), and built-in classes (object, int, float, str, unicode, set, list, tuple, dict) should be in CapWords (Object, Int, Float, Str, Unicode, Set, List, Tuple, Dict). However, Michael Chermside noted that there is a common convention that the fundamental built-in types (not standard library types; e.g. set, not sets.Set) are all in lowercase. Almost no-one liked this idea, and many people were vehemently opposed. Guido quickly pronounced this dead for built-in types (cleaning up and making the more consistent the standard library classes is another matter). Contributing thread: - `Naming conventions in Py3K `__ [TAM] ------------------- Default comparisons ------------------- Today, you can compare anything, unless someone has gone out of their way to prevent it. Unfortunately, this comparison can eventually fallback to comparing id(), which is not stable across database save-and-restore. Not falling back to id(), which is suggested in `PEP 3000`_, would mean that comparison results are more permanent (and less arbitrary), but it would come at the cost of extra raised exceptions that make it harder to get a canonical ordering. An alternative solution would be to promote a standard way to say "just get me a canonical ordering of some sort". "Comparison" would raise a TypeError if the pair of objects were not comparable; "Ordering" would continue on to "something consistent", just like sorts do today. Josiah Carlson suggested that this could be achieved by new superclasses for all built-in types (except string and unicode, which already subclass from basestring). int, float, and complex would subclass from basenumber; tuple and list would subclass from basesequence; dict and set would subclass from basemapping. Each of these base classes define a group in which items are comparable; if you end up in a situation in which the base classes of the compared object differ, you compare their base class name. If a user-defined classes wanted to be compared against (e.g.) ints, floats, or complex, the user would subclass from basenumber; if the user only wanted their objects to compare against objects of its own type, they define their own __cmp__. However, Marc-Andre Lemburg pointed out that Python already uses this 'trick' based on the type name (falling back to id(), which is the problem), and that inheriting from (e.g.) basenumber could result in unexpected side-effects. .. _PEP 3000: http://www.python.org/peps/pep-3000.html Contributing thread: - `Keep default comparisons - or add a second set? `__ [TAM] --------------------------------------- Converting open() to a factory function --------------------------------------- Guido had previously_ indicated that while file() will always stay the name of the file object, open() may be changed in the future to a factory function (instead of just being an alias for file). Noting that ``help(open)`` now just displays the file object documentation, Aahz suggested that open() become a factory function now. Fredrik Lundh chimed in to suggest that a textopen() function should also be introduced, which would call codecs.open() or file() depending on whether or not an encoding was supplied. There was mild support for both proposals, but no patches were available at the time of this writing. .. _previously: http://mail.python.org/pipermail/python-dev/2004-July/045921.html Contributing thread: - `file() vs open(), round 7 `__ [SJB] ----------------------------- NotImplemented and __iadd__() ----------------------------- Facundo Batista presented a bug_ where using += on Decimal objects returned NotImplemented instead of raising an exception. Armin Rigo was able to supply a patch after adding the following conditions to the documentation: * PySequence_Concat(a, b) and operator.concat(a, b) mean "a + b", with the difference that we check that both arguments appear to be sequences (as checked with operator.isSequenceType()). * PySequence_Repeat(a, b) and operator.repeat(a, b) mean "a * b", where "a" is checked to be a sequence and "b" is an integer. Some bounds can be enforced on "b" -- for CPython, it means that it must fit in a C int. .. _bug: http://www.python.org/sf/1355842 Contributing thread: - `NotImplemented reaching top-level `__ [SJB] --------------------------------------------------- Using buildbot to automate testing of Python builds --------------------------------------------------- Contributing thread: - `Automated Python testing (was Re: status of development documentation) `__ ----------------------------------------------------- Importing C++ extensions compiled with Visual C++ 8.0 ----------------------------------------------------- Ralf W. Grosse-Kunstleve indicated that while they could compile their C++ extensions with Visual C++ 8.0, importing any such extensions resulted in an error:: This application has failed to start because MSVCP80.dll was not found. Re-installing the application may fix this problem. Though the combination of compiling Python with VS.NET2003 and an extension with VS2005 is not supported, Ralf was able to get things to work by adding ``/manifest`` to the linker options and invoking ``mt.exe`` to embed the manifest. Contributing thread: - `Python + Visual C++ 8.0? `__ [SJB] ------------------------------- Using ssize_t as the index type ------------------------------- Martin v. L?wis presented `PEP 353`_, which proposes using ssize_t as the index type in the CPython implementation. In Python 2.4, indices of sequences are restricted to the C type int. On 64-bit machines, sequences therefore cannot use the full address space, and are restricted to 2**31 elements. The PEP proposes to change this, introducing a platform-specific index type Py_ssize_t. An implementation of the proposed change is in `an SVN branch`_; the Py_ssize_t will have the same size as the compiler's size_t type, but is signed (it will be a typedef for ssize_t where available). Although at the moment one needs 16GiB to just hold the pointers of a 2GiElement list, these changes also allow strings and mmap objects longer than 2GiB (and also improve the scipy_core (ne? Numarray and Numerical) objects, which are already 64-bit clean). Since the proposed change will cause incompatibilities on 64-bit machines, the reasoning is that this change should be done as early as possible (i.e. while such machines are not in wide use). Guido approved the PEP, indicating he believed it was long overdue. Several other people also indicated support for the PEP. Note that people felt that Martin's PEP was of a particularly high standard; people considering writing their own PEP should consider reading this (once it has a number and is available online!) to gain an understanding of how a good PEP is both extremely readable (even when including arcane C programming points!) and well-organised. .. _an SVN branch: http://svn.python.org/projects/python/branches/ssize_t .. _PEP 353: http://www.python.org/peps/pep-0353.html Contributing threads: - `New PEP: Using ssize_t as the index type `__ - `Test branch for ssize_t changes `__ [TAM] ----------------------------------------------------------------------------- Garbage collection based on object memory consumption instead of object count ----------------------------------------------------------------------------- Andrea Arcangeli suggested that Python's garbage collection could be improved by invoking a gc.collect() at least once every time the amount of anonymous memory allocated by the interpreter increases by a tunable factor (defaulting to 2, meaning the memory doubles, and with a factor of 1 mimicking the current state, where collection is done if 1000 new objects are allocated). Aahz and Martin v. L?wis indicated that it was extremely unlikely that anything would be done about this unless Andrea submitted a patch (with doc patches and tests). Contributing thread: - `suggestion for smarter garbage collection in function of size (gc.set_collect_mem_growth(2)) `__ [TAM] ---------------------------------- Adding zlib module to python25.dll ---------------------------------- Thomas Heller and Martin v. L?wis had been discussing whether the zlib module should become builtin, at least on Windows (i.e. part of python25.dll). This would simplify both the build process and py2exe, the latter could then bootstrap extraction from the compressed file just with pythonxy.dll, but this is currently not done, because the pythoncore.vcproj would then not be buildable anymore unless you also have the right version of zlib on disk. To solve this problem, Thomas proposed that the Python release could incorporate a copy of zlib, primarily for use on Windows (with the project files appropriately adjusted). This change was later made. Contributing thread: - `Incorporation of zlib sources into Python subversion `__ [TAM] ---------------------------------------- Procedure for fixing bugs in ElementTree ---------------------------------------- Neal Norwitz found a few bugs in ElementTree and asked what the procedure was, since the ElementTree module is maintained externally by Fredrik Lundh. The answer was to post the bug to sourceforge as usual, and and assign it to Fredrik Lundh. The ElementTree in the Python SVN trunk should only have critical patches committed - all other patches would be applied by Fredrik to his externally distributed ElementTree package, and imported to the Python SVN trunk after the next release of ElementTree. Contributing thread: - `ref leak in element tree/pyexpat `__ [SJB] --------------------------------------- Starting enumerate with non-zero values --------------------------------------- Can enumerate start somewhere other than zero? Answer: it complicates the API too much; if you want an arbitrary slice, then make it explicitly a slice. Contributing thread: - `synchronized enumerate `__ [Jim Jewett] ------------------ Are sets mappings? ------------------ This spun out of the default comparisons discussion; when deciding what could be "sensibly" compared, (or even how best to teach python) there was a discussion of more abstract types. It wasn't clear where to put sets. Contributing thread: - `Sets are mappings? `__ [Jim Jewett] --------------------- Local socket timeouts --------------------- If you want your network client to eventually give up on failed connections, you need to set a timeout - but you have to do that at the socket level, instead of in the library that you're actually using. (There are other problems with the current method too, such as being too global, or not quite acting as expected.) It was agreed that people should be able to handle timeout settings from the networking library that they actually use, but I don't think there are patches yet. Contributing thread: - `timeout options in high-level networking modules `__ [Jim Jewett] ================ Deferred Threads ================ - `Build failure and problem on Windows `__ =============== Skipped Threads =============== - `PEP 8 updates/clarifications, function/method style `__ - `DRAFT: python-dev summary for 2005-11-16 to 2005-11-31 `__ - `[Python-checkins] commit of r41497 -python/trunk/Lib/test `__ - `fresh checkout won't build `__ - `fixing log messages `__ - `(no subject) `__ - `os.startfile with optional second parameter `__ - `[OT] Fwd: a new python port: iPod `__ - `Patch to make unittest.TestCase easier to subclass `__ - `Patch reviews & request for patch review `__ - `Weekly Python Patch/Bug Summary `__ - `A few questions about setobject `__ - `Small any/all enhancement `__ - `floating point literals don't work in non-US locale in 2.5 `__ - `JOB OPENING: Implementor for Python and Search `__ - `PyCon TX 2006: Early-bird registration ends Dec. 31! `__ - `set.copy documentation string `__ - `Bug in Py_InitModule4 `__ - `floating point literals don't work in non-USlocale in 2.5 `__ - `slight inconsistency in svn checkin email subject lines `__ - `Gaming on Sunday (Jan 1) `__ ======== Epilogue ======== This is a summary of traffic on the `python-dev mailing list`_ from December 16, 2005 through December 31, 2005. It is intended to inform the wider Python community of on-going developments on the list on a semi-monthly basis. An archive_ of previous summaries is available online. An `RSS feed`_ of the titles of the summaries is available. You can also watch comp.lang.python or comp.lang.python.announce for new summaries (or through their email gateways of python-list or python-announce, respectively, as found at http://mail.python.org). This is the 10th summary written by the python-dev summary duopoly of Steve Bethard and Tony Meyer (back to back!). To contact us, please send email: - Steve Bethard (steven.bethard at gmail.com) - Tony Meyer (tony.meyer at gmail.com) Do *not* post to comp.lang.python if you wish to reach us. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to advance the development and use of Python. If you find the python-dev Summary helpful please consider making a donation. You can make a donation at http://python.org/psf/donations.html . Every cent counts so even a small donation with a credit card, check, or by PayPal helps. -------------------- Commenting on Topics -------------------- To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list at python.org which is a gateway to the newsgroup) with a subject line mentioning what you are discussing. All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join `python-dev`_! ------------------------- How to Read the Summaries ------------------------- The in-development version of the documentation for Python can be found at http://www.python.org/dev/doc/devel/ and should be used when looking up any documentation for new code; otherwise use the current documentation as found at http://docs.python.org/ . PEPs (Python Enhancement Proposals) are located at http://www.python.org/peps/ . To view files in the Python CVS online, go to http://svn.python.org/projects/python/ . Reported bugs and suggested patches can be found at the SourceForge_ project page. Please note that this summary is written using reStructuredText_. Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo :); you can safely ignore it. We do suggest learning reST, though; it's simple and is accepted for `PEP markup`_ and can be turned into many different formats like HTML and LaTeX. Unfortunately, even though reST is standardized, the wonders of programs that like to reformat text do not allow us to guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the `original text file`_. .. _python-dev: http://www.python.org/dev/ .. _SourceForge: http://sourceforge.net/tracker/?group_id=5470 .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _c.l.py: .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _PEP Markup: http://www.python.org/peps/pep-0012.html .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. _last summary: http://www.python.org/dev/summary/2005-11-16_2005-11-30.html .. _original text file: http://www.python.org/dev/summary/2005-12-16_2005-12-31.ht .. _archive: http://www.python.org/dev/summary/ .. _RSS feed: http://www.python.org/dev/summary/channews.rdf From jeremy+complangpythonannounce at jeremysanders.net Fri Jan 20 11:17:29 2006 From: jeremy+complangpythonannounce at jeremysanders.net (Jeremy Sanders) Date: Fri, 20 Jan 2006 10:17:29 +0000 Subject: ANN: Veusz 0.9, a scientific plotting package Message-ID: Veusz 0.9 --------- Velvet Ember Under Sky Zenith ----------------------------- http://home.gna.org/veusz/ Veusz is Copyright (C) 2003-2006 Jeremy Sanders Licenced under the GPL (version 2 or greater) Veusz is a scientific plotting package written in Python. It uses PyQt for display and user-interfaces, and numarray for handling the numeric data. Veusz is designed to produce publication-ready Postscript output. Veusz provides a GUI, command line and scripting interface (based on Python) to its plotting facilities. The plots are built using an object-based system to provide a consistent interface. Changes from 0.8: ?Please?refer?to?ChangeLog?for?all?the?changes. ?Highlights?include: ??*?Contour?support?(thanks?to?the?code?of?the?matplotlib?guys!) ??*?Undo/redo ??*?Rubber?band?axis?zooming ??*?More?flexible?data?importing Features of package: ?*?X-Y?plots?(with?errorbars) ?*?Contour?plots ?*?Images?(with?colour?mappings) ?*?Stepped?plots?(for?histograms) ?*?Line?plots ?*?Function?plots ?*?Fitting?functions?to?data ?*?Stacked?plots?and?arrays?of?plots ?*?Plot?keys ?*?Plot?labels ?*?LaTeX-like?formatting?for?text ?*?EPS?output ?*?Simple?data?importing ?*?Scripting?interface ?*?Save/Load?plots ?*?Dataset?manipulation ?*?Embed?Veusz?within?other?programs To be done: ?*?UI?improvements ?*?Import?filters?(for?qdp?and?other?plotting?packages,?fits,?csv) Requirements: ?Python?(probably?2.3?or?greater?required) ???http://www.python.org/ ?Qt?3 (free?edition) ???http://www.trolltech.com/products/qt/?? ?PyQt?3?(SIP?is?required?to?be?installed?first) ???http://www.riverbankcomputing.co.uk/pyqt/ ???http://www.riverbankcomputing.co.uk/sip/ ?numarray ???http://www.stsci.edu/resources/software_hardware/numarray ?Microsoft?Core?Fonts?(recommended) ???http://corefonts.sourceforge.net/ ?PyFITS?(optional) ???http://www.stsci.edu/resources/software_hardware/pyfits For documentation on using Veusz, see the "Documents" directory. The manual is in pdf, html and text format (generated from docbook). If you enjoy using Veusz, I would love to hear from you. Please join the mailing lists at https://gna.org/mail/?group=veusz Cheers Jeremy -- Jeremy Sanders http://www.jeremysanders.net/ From dberlin at gmail.com Sat Jan 21 13:53:36 2006 From: dberlin at gmail.com (dberlin at gmail.com) Date: 21 Jan 2006 04:53:36 -0800 Subject: Ann: FarPy GUIE v0.4 Message-ID: <1137848016.488709.173980@z14g2000cwz.googlegroups.com> GUIE (GUI Editor) provides a simple WYSIWYG GUI editor for wx. The program was made in C# and saves the GUI that was created to a XML format I called GUIML. This GUIML is a pretty standard representation of the GUI created with the program. Next, GUIE takes these GUIML files and translates it to wxPython Python code. You may ask yourself why I took the extra step? Why didn't I go straight from C# controls to wxPython code? Why is GUIML necessary? Well, it isn't. It is there simply for people (or maybe I) to take the GUIML and convert it to other languages. This, by effect can convert this tool from a Python GUI editor, to "any programming language with a GUI module" GUI editor. http://farpy.holev.com Changes (as of v0.4) Added: wxRuby support! Fixed: Minor bugs More languages to come! From a.held at computer.org Sat Jan 21 15:37:33 2006 From: a.held at computer.org (a.held at computer.org) Date: 21 Jan 2006 06:37:33 -0800 Subject: ANN: pyFltk-1.1RC2 Message-ID: <1137854253.197330.214710@z14g2000cwz.googlegroups.com> This is to announce the second release candidate for pyFltk-1.1, then Python bindings for the cross platform GUI toolkit fltk-1.1 This release candidate has been tested with fltk-1.1.6 and fltk-1.1.7 and requires Python2.4. pyFltk and fltk is a lighweight, easy-to-use GUI toolkit for Python. It can be used where simplicity, small footprint, and ease-of-use are important. Changes: * Now it is possible to extend all widgets in Python * Fl_Preferences has been added. * Various bug fixes A source distribution and a Windows installer (including fltk) can be downloaded from htpp://pyfltk.sourceforge.net. Regards Andreas Held http://pyfltk.sourceforge.net From 2005a at usenet.alexanderweb.de Sun Jan 22 12:52:04 2006 From: 2005a at usenet.alexanderweb.de (Alexander Schremmer) Date: Sun, 22 Jan 2006 12:52:04 +0100 Subject: ANN: MoinMoin 1.5.1 (advanced wiki engine) released Message-ID: _ _ /\/\ ___ (_)_ __ /\/\ ___ (_)_ __ / \ / _ \| | '_ \ / \ / _ \| | '_ \ __ / /\/\ \ (_) | | | | / /\/\ \ (_) | | | | | /| |_ \/ \/\___/|_|_| |_\/ \/\___/|_|_| |_| |.__) ============================================== MoinMoin 1.5.1 advanced wiki engine released ============================================== MoinMoin is an easy to use, full-featured and extensible wiki software package written in Python. It can fulfill a wide range of roles, such as a personal notes organizer deployed on a laptop or home web server, a company knowledge base deployed on an intranet, or an Internet server open to individuals sharing the same interests, goals or projects. A wiki is a collaborative hypertext environment with an emphasis on easy manipulation of information. MoinMoin 1.5.1 is a bug fix release. It mainly addresses the issues that slipped through the 1.5 release cycle. The 1.5 branch brings you several new features such as the GUI editor, which allows the users to edit pages in a WYSIWYG environment, and many bug fixes. The download page: http://moinmoin.wikiwikiweb.de/MoinMoinDownload Major bug fixes in 1.5.1 ======================== * A race condition in the code, that conflicted with a broken copy.py in the std lib, was worked around in order to avoid DeepCopyErrors. * Unzipping was broken in 1.5.0. * Fixed the docutils version check. * Fixed a few Internet Explorer issues. Major new features in 1.5 ========================= * The WYSIWYG editor for wiki pages allows you to edit pages without touching the markup. Furthermore, the wiki page is not stored as HTML after editing but kept as wiki markup in order to simplify the editing process for users that cannot or do not want to use the new editor. * AutoAdmin security policy allows users to gain admin permissions on particular pages. * The new authentication system allows to add short methods that check the credentials of the user. This allowed us to add eGroupware single sign on support. * Separation of homepages into a separate wiki (in a farm) and having a single user database is supported. * A DeSpam action to allow mass-reverting of spam attacks. * PackageInstaller support for simplified installation of plugins, themes and page bundles. This enables you to decide in which languages help pages should be installed. Note that Python 2.3.0 or newer is required. For a more detailed list of changes, see the CHANGES file in the distribution or http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.5/CHANGES MoinMoin History ================ MoinMoin has been around since year 2000. The codebase was initally started by J?rgen Hermann; it is currently being developed by a growing team. Being originally based on PikiPiki, it has evolved heavily since then (PikiPiki and MoinMoin 0.1 consisted of just one file!). Many large enterprises have been using MoinMoin as a key tool of their intranet, some even use it for their public web page. A large number of Open Source projects use MoinMoin for communication and documentation. Of course there are also many private installations. More Information ================ * Project site: http://moinmoin.wikiwikiweb.de/ * Feature list: http://moinmoin.wikiwikiweb.de/MoinMoinFeatures * Download: http://moinmoin.wikiwikiweb.de/MoinMoinDownload * DesktopEdition: http://moinmoin.wikiwikiweb.de/DesktopEdition * This software is available under the GNU General Public License v2. * Changes: http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.5/CHANGES * Known bugs: * http://moinmoin.wikiwikiweb.de/KnownIssues * http://moinmoin.wikiwikiweb.de/MoinMoinBugs sent by Alexander Schremmer for the MoinMoin team From python-url at phaseit.net Mon Jan 23 04:48:01 2006 From: python-url at phaseit.net (Magnus Lycka) Date: Mon, 23 Jan 2006 03:48:01 +0000 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 23) Message-ID: QOTW: "The IEEE-754 standard doesn't wholly define output conversions, and explicitly allows that a conforming implementation may produce any digits whatsoever at and after the 18th signficant digit, when converting a 754 double to string. In practice, all implementations I know of that exploit that produce zeroes at and after the 18th digit -- but they could produce 1s instead, or 9s, or digits from pi, or repetitions of the gross national product of Finland in 1967." - Tim Peters "If you can't do a first version in six months with a team of six people it is a sign that you don't really know what you want." - Jack Diederich Besides the layout for the new Python web site, work on converting the content from the current site has begun: http://groups.google.se/group/comp.lang.python/browse_frm/thread/330af3b245145f7e/429bd0c83ff89b0c?rnum=3#429bd0c83ff89b0c There has been interest in Sudoku solvers on comp.lang.python lately: http://groups.google.se/group/comp.lang.python/search?q=sudoku&start=0&scoring=d& Don't expect to use the ConfigParser for non-text data. Use ConfigObj instead when that's what you need: http://groups.google.se/group/comp.lang.python/browse_frm/thread/3b5f75051b1fb57c How do you use Python without installing it on your computer? http://groups.google.se/group/comp.lang.python/browse_frm/thread/8ed65089a7c01e3b Should a web development framework be included in the standard library? http://groups.google.se/group/comp.lang.python/browse_frm/thread/d3e9bd6d002df4d4 Claudio Grondi tries to grok Python by asking questions that seem to confuse those who try to answer: http://groups.google.se/group/comp.lang.python/browse_frm/thread/b6515a4574dc9292 No, regular expressions aren't supposed to be gargantuan, but there should really be a proper exception when they are: http://groups.google.se/group/comp.lang.python/browse_frm/thread/64df1dd7202e247e This is neither the first nor the last week, when someone asks questions related to a mismatch between binary floats and decimal numbers: http://groups.google.se/group/comp.lang.python/browse_frm/thread/fe07673b9f77738e How do we generate graphics dynamically with Python CGI scripts? http://groups.google.se/group/comp.lang.python/browse_frm/thread/8179735820c85cb A PHP programmer is making efforts to figure out Python, in particular with regards to threads, databases and modularity. (Welcome Robin!) http://groups.google.se/group/comp.lang.python/browse_frm/thread/bf75a37e9242cce http://groups.google.se/group/comp.lang.python/browse_frm/thread/2055bab118aeec50 Numarray, Numeric, NumPy... There should be one--and preferably only one--obvious way to do it. So, which is it? http://groups.google.se/group/comp.lang.python/browse_frm/thread/2a308411c39c042 ======================================================================== Everything Python-related you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the marvelous daily python url http://www.pythonware.com/daily Mygale is a news-gathering webcrawler that specializes in (new) World-Wide Web articles related to Python. http://www.awaretek.com/nowak/mygale.html While cosmetically similar, Mygale and the Daily Python-URL are utterly different in their technologies and generally in their results. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html comp.lang.python.announce announces new Python software. Be sure to scan this newsgroup weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon of intelligently summarizing action on the python-dev mailing list once every other week. http://www.python.org/dev/summary/ The Python Package Index catalogues packages. http://www.python.org/pypi/ The somewhat older Vaults of Parnassus ambitiously collects references to all sorts of Python resources. http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Success Stories--from air-traffic control to on-line match-making--can inspire you or decision-makers to whom you're subject with a vision of what the language makes practical. http://www.pythonology.com/success The Python Software Foundation (PSF) has replaced the Python Consortium as an independent nexus of activity. It has official responsibility for Python's development and maintenance. http://www.python.org/psf/ Among the ways you can support PSF is with a donation. http://www.python.org/psf/donate.html Kurt B. Kaiser publishes a weekly report on faults and patches. http://www.google.com/groups?as_usubject=weekly%20python%20patch Cetus collects Python hyperlinks. http://www.cetus-links.org/oo_python.html Python FAQTS http://python.faqts.com/ The Cookbook is a collaborative effort to capture useful and interesting recipes. http://aspn.activestate.com/ASPN/Cookbook/Python Among several Python-oriented RSS/RDF feeds available are http://www.python.org/channews.rdf http://bootleg-rss.g-blog.net/pythonware_com_daily.pcgi http://python.de/backend.php For more, see http://www.syndic8.com/feedlist.php?ShowMatch=python&ShowStatus=all The old Python "To-Do List" now lives principally in a SourceForge reincarnation. http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse http://python.sourceforge.net/peps/pep-0042.html The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From connellybarnes at yahoo.com Mon Jan 23 12:58:16 2006 From: connellybarnes at yahoo.com (Connelly Barnes) Date: Mon, 23 Jan 2006 03:58:16 -0800 (PST) Subject: rencode -- Reduced length encodings Message-ID: <20060123115816.42126.qmail@web54309.mail.yahoo.com> A space-efficient serialization module based on bencode, which can be used to decode strings from untrusted sources. Works well for complex, heterogeneous data structures with many small elements. The encodings take considerably less space than bencode, gherkin, and Recipe 415503 for that use case, and this module is faster, too. Source (MIT license) is available from: http://barnesc.blogspot.com/2006/01/ rencode-reduced-length-encodings.html --------------------------------------------------------------------- Comparison of rencode with similar modules --------------------------------------------------------------------- Connelly Barnes, 2006-01-23. The following data structures were used: Case 1: range(100) Case 2: range(10000) Case 3: {192: [3.3492934923942394, 1.230030343242342, 9.4929349232349243, 9.4939349349394931, 4.342992349295949, 0.4309953949239393], 298: [6.3249093409490905, 2.439009234090990, 0.9139904909090434, 5.8795437823407908, 3.529098080909880, 4.5899843289893433]} All modules were modified to use 64-bit float encoding. Case 4: {'abc': 'abc0123', 'def': 'def0123', 'ghi': 'ghi0123', '0123456789': '0123456789'} Case 5: ' '*10000 --------------------------------------------------------------------- Results --------------------------------------------------------------------- The four modules rencode, bencode, gherkin and Recipe 415503 were used to encode each of the preceding data structures. The size of the encoded string and the number of calls per second to the encoding function (on a Windows 3.0 GHz Intel machine) are summarized: rencode bencode gherkin recipe Case 1: 170 392 511 505 bytes 19315.318 10002.625 6080.862 5170.539 calls/sec Case 2: 29842 58892 50011 50005 bytes 148.454 88.767 59.236 52.619 calls/sec Case 3: 117 N/A 149 143 bytes 51254.721 N/A 15470.597 17869.132 calls/sec Case 4: 59 70 121 115 bytes 118209.471 64589.227 20216.850 22516.589 calls/sec Case 5: 10006 10006 10011 10005 bytes 100186.770 100663.271 75245.603 102635.125 calls/sec The source code used to build this table is available at: http://oregonstate.edu/~barnesc/python/rencode_compare.py __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From edcjones at comcast.net Mon Jan 23 02:42:43 2006 From: edcjones at comcast.net (Edward C. Jones) Date: Sun, 22 Jan 2006 20:42:43 -0500 Subject: mrquery find duplicate images Message-ID: <6rOdnaKVmYwOqUnenZ2dnUVZ_tKdnZ2d@comcast.com> I have uploaded a new version of "mrquery" to my webpage at "http://members.tripod.com/~edcjones/pycode.html". It is no longer importing a non-existent module. ---- "mrquery" checks collections of images for duplicates. To install, expand the tarball in your PYTHONPATH and compile a pair of C programs. To create a new set of image data: ../mrq.py animals new /pics/animals To update data: ../mrq.py animals update The output is a set of html files you can display on your browser. From mike at myghty.org Mon Jan 23 17:46:01 2006 From: mike at myghty.org (Michael Bayer) Date: Mon, 23 Jan 2006 11:46:01 -0500 (EST) Subject: Myghty 1.0 Released Message-ID: <55029.66.192.34.8.1138034761.squirrel@www.geekisp.com> Myghty 1.0 Released Myghty is a Python Server Page templating and web framework designed for large-scale, high availability websites and applications. Its conceptual design and template syntax is derived from HTML::Mason, the widely used mod_perl web application platform. Myghty serves as an excellent platform for developers to create custom web applications, as well as a base framework for webstacks (pre-architected web framework/persistence framework packages). Since its original release, Myghty has introduced many new concepts and features not found in Mason, including a rudimentary MVC framework, WSGI support, threading support and an open-ended rule-based URL resolution system. It receives favorable reviews for its ease of use, small footprint, quick and smooth operation, and great flexibility. Myghty is now embeddable in a large range of Python frameworks, including mod_python, Python Paste, generic WSGI applications, CherryPy, and Turbogears, and is the core template and controller system for the upcoming Pylons web framework. Version 1.0 introduces a license change to the MIT License, as well as some small feature releases, improved documentation and inline code docs, and a tweak here or there to support Pylons. It also represents a stabilization of all the features that have been developed thus far, including caching/session support with Memcached, rule-based resolver configuration, basic support for Python Paste, and the Module Components view/controller framework. Myghty is released under the MIT License. Documentation, examples and download links can be found at: http://www.myghty.org Michael Bayer mike at myghty.org

Myghty 1.0 - A high performance Python Server Page templating framework derived from HTML::Mason. (23-Jan-06) From richard at commonground.com.au Tue Jan 24 02:21:26 2006 From: richard at commonground.com.au (Richard Jones) Date: Tue, 24 Jan 2006 12:21:26 +1100 Subject: PyWeek Challenge #2: write a game in a week Message-ID: The date for the second PyWeek challenge has been set: Sunday 26th March to Sunday 2nd April (00:00UTC to 00:00UTC). The PyWeek challenge invites entrants to write a game in one week from scratch either as an individual or in a team. Entries must be developed in Python, during the challenge, and must incorporate some theme chosen at the start of the challenge. REGISTRATION IS NOT YET OPEN -- In order to reduce the number of unnecessary registrations, we will open the challenge for registration one month before the start date. See the competition timetable and rules at: http://www.pyweek.org/ PLANNING FOR THE CHALLENGE -- Make sure you have working versions of the libraries you're going to use. The rules page has a list of libraries and other resources. Make sure you can build packages to submit as your final submission (if you're going to use py2exe, make sure you know how to use it and that it works). If you don't have access to Linux, Windows or a Mac to test on, contact friends, family or other competitors to find someone who is able to test for you. From Fernando.Perez at colorado.edu Tue Jan 24 07:57:33 2006 From: Fernando.Perez at colorado.edu (Fernando Perez) Date: Mon, 23 Jan 2006 23:57:33 -0700 Subject: IPython 0.7.1 is out. Message-ID: <43D5CFDD.8030704@colorado.edu> Hi all, I have released IPython 0.7.1, which is mainly a bugfix release over 0.7.0. As expected in that release, given the large changes made, some problems inevitably appeared. I believe all regressions and known bugs have been fixed, along with some useful new features. This release marks the end of my tenure on the stable branch of ipython. Ville Vainio will continue as maintainer of the ipython trunk/, while I will continue working on the development branch of IPython (chainsaw). I will remain available on the list as usual, both to assist Ville as needed, and to discuss withe anyone interested. But I'll try to limit my time and effort spent on trunk to a minimum, so we can really advance the (fairly ambitious) chainsaw project. WHAT is IPython? ---------------- 1. 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. 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. A flexible framework which can be used as the base environment for other systems with Python as the underlying language. 4. A shell for interactive usage of threaded graphical toolkits. IPython has support for interactive, non-blocking control of GTK, Qt and WX applications via special threading flags. The normal Python shell can only do this for Tkinter applications. Where to get it --------------- IPython's homepage is at: http://ipython.scipy.org and downloads are at: http://ipython.scipy.org/dist I've provided: - source downloads (.tar.gz) - RPMs (for Python 2.3 and 2.4, built under Fedora Core 3). - Python Eggs (http://peak.telecommunity.com/DevCenter/PythonEggs). - a native win32 installer for both Python 2.3 and 2.4. Fedora users should note that IPython is now officially part of the Extras repository, so they can get the update from there as well (though it may lag by a few days). Debian, Fink and BSD packages for this version should be coming soon, as the respective maintainers have the time to follow their packaging procedures. Many thanks to Jack Moffit, Norbert Tretkowski, Andrea Riciputi and Dryice Liu). The eggs included now are lighter, as they don't include documentation and other ancillary data. If you want a full ipython installation, use the source tarball or your distribution's favorite system. Many thanks to Enthought for their continued hosting support for IPython. Release notes ------------- As always, the full ChangeLog is at http://ipython.scipy.org/ChangeLog. The highlights of this release follow. - *FIXED: this wasn't really working right in 0.7.0* Support for input with empty lines. If you have auto-indent on, this means that you need to either hit enter _twice_, or add/remove a space to your last blank line, to indicate you're done entering input. These changes also allow us to provide copy/paste of code with blank lines. - *FIXED: this wasn't really working right in 0.7.0* Support for pasting multiline input even with autoindent on. The code will look wrong on screen, but it will be stored and executed correctly internally. Note that if you have blank lines in your code, these need to be indented like their surroundings (pure empty lines will make ipython assume you are finished with your input). This is a limitation also of the plain python interpreter, and can't really be fixed in a line-oriented system like ipython. - Fixed bug where macros were not working correctly in threaded shells. - Catch exceptions which can be triggered asynchronously by signal handlers. This fixes a rare and obscure problem, but which could crash ipython; reported by Colin Kingsley . - Added new '-r' option to %hist, to see the raw input history (without conversions like %ls -> ipmagic("ls")). - Fix problems with GTK under win32 (excessive keyboard lag and cpu usage). - Added ipython.py script to root directory of download. This allows you to unpack ipython and execute it in-place, without needing to install it at all. - Improved handling of backslashes (\) in magics. This improves the usability of ipython especially under win32, which uses \ as a path separator (though it also benefits Unix for escaping characters in shell usage). - More autocall fixes (rare, but critical). - New IPython.ipapi module to begin exposing 'officially' IPython's public API. This should ease the task of those building systems on top of ipython. - New IPython.platutils module, exposing various platform-dependent utilities (such as terminal title control). - Implemented exception-based 'chain of command' for IPython's hooks. - Added Jason Orendorff's "path" module to IPython tree, http://www.jorendorff.com/articles/python/path/. You can get path objects conveniently through %sc, and !!, e.g.: sc files=ls for p in files.paths: # or files.p print p,p.mtime - Fix '%run -d' with Python 2.4 (pdb changed in Python 2.4). - Various other small fixes and enhancements. Enjoy, and as usual please report any problems. Regards, and thanks for all this time using IPython! Fernando. From jdavid at itaapy.com Tue Jan 24 13:50:39 2006 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Tue, 24 Jan 2006 13:50:39 +0100 Subject: itools 0.12.2 released Message-ID: <43D6229F.3030006@itaapy.com> itools is a Python library, it groups a number of packages into a single meta-package for easier development and deployment: itools.catalog itools.i18n itools.web itools.cms itools.ical itools.workflow itools.csv itools.resources itools.xhtml itools.datatypes itools.rss itools.xliff itools.gettext itools.schemas itools.xml itools.handlers itools.tmx itools.html itools.uri Changes: Web - Fix the request methods "get_content_type", "get_referrer", "get_accept_language" and "set_cookie". - Now the server is asynchronous, single-thread. CMS (a.k.a. ikaaro) - Now "Folder.search_handlers" accepts optional parameter "handler_class", to filter objects that are instance of the given handler class. By Herv? Cauwelier. - Now it is possible to better control the behaviour of the method "Folder.browse_namespace" with the help of a few new optional parameters: "sortorder", "batchstart", "batchsize" and "results". By Herv? Cauwelier. - Minor style improvements, by Herv? Cauwelier. - Fixes to make "itools.cms" to work on Zope again, by Herv? Cauwelier. Resources --------- Download http://www.ikaaro.org/download/itools/itools-0.12.2.tar.gz Home http://www.ikaaro.org/itools Mailing list http://in-girum.net/mailman/listinfo/ikaaro Bug Tracker http://in-girum.net/cgi-bin/bugzilla/index.cgi -- J. David Ib??ez Itaapy Tel +33 (0)1 42 23 67 45 9 rue Darwin, 75018 Paris Fax +33 (0)1 53 28 27 88 From bronger at physik.rwth-aachen.de Tue Jan 24 14:48:58 2006 From: bronger at physik.rwth-aachen.de (Torsten Bronger) Date: Tue, 24 Jan 2006 14:48:58 +0100 Subject: ANN: PyVISA 1.0 -- GPIB, USB, RS232 instrument control Message-ID: <87k6cplos5.fsf@wilson.rwth-aachen.de> Hall?chen! At http://pyvisa.sourceforge.net you can find information about the PyVISA package. It realises Python bindings for the VISA library functions, which enables you to control GPIB, USB, and RS232-serial measurement devices via Python. Today I released version 1.0. If you have v0.9.7 of last september already, you needn't download it because it contains only minor improvements in the documentation. However, since I've received a couple of positive reports about successful use of PyVISA (and no negatives), I finally dare to jump to 1.0 and declare it stable. Tsch?, Torsten. F'up to comp.lang.python -- Torsten Bronger, aquisgrana, europa vetus ICQ 264-296-646 From trentm at ActiveState.com Tue Jan 24 23:34:12 2006 From: trentm at ActiveState.com (Trent Mick) Date: Tue, 24 Jan 2006 14:34:12 -0800 Subject: ANN: ActivePython 2.4.2.10 is now available Message-ID: <20060124223412.GB24854@activestate.com> I'm happy to announce that ActivePython 2.4.2.10 is now available for free download from: http://www.ActiveState.com/Products/ActivePython/ This release is a maintenance/update release for existing platforms and adds support for three new ones: Mac OS X/x86, Windows/x64 and Linux/x86_64. See below for a full list of supported platforms. Changes in this release include: - Add early support for Mac OS X for Intel platform (macosx-x86). Please see the "Mac OS X for Intel" section below for details. - Upgrade to PyWin32 build 207 on Windows/x86 - Upgrade Tkinter to Tcl/Tk 8.4.12 - Support for Windows/x64 (win64-x64). Note that PyWin32 has not been ported to 64-bit Windows so this build does not include PyWin32. - Support for Linux/x86_64 (linux-x86_64) - Fixed a problem on Mac OS X/PowerPC that unintentionally created a dependency on Fink (fink.sourceforge.net) for the "bz2" and "curses" extensions. (Thanks, Bob!) - The Windows "debug libraries" package now allows installation into non-ActivePython Python installations of the same version. This was requested by Dave Abrahams for the Boost folks (http://tinyurl.com/898zw). - Changed Intel 32-bit architecture platform name from "ix86" to "x86", changing package names for some ActivePython builds. Mac OS X for Intel ------------------ This is the first release of ActivePython for Mac OS X/Intel. It should be considered an early release. This build is not a universal build and there are a number of known issues: http://aspn.activestate.com/ASPN/docs/ActivePython/2.4/relnotes.html#KI_macosx I suspect that ultimately a universal Python build is the right answer, but details and issues around that should be discussed on the Python Mac mailing list: pythonmac-sig at python.org What is ActivePython? --------------------- ActivePython is ActiveState's quality-assured binary distribution of Python. Builds for AIX, HP-UX, Linux, Mac OS X, Solaris, and Windows are made freely available. ActivePython includes the Python core and core extensions (zlib 1.2.3, bzip2 1.0.2, bsddb 4.2.52, Tk 8.4.12, and Tix 8.1.4) and is fully compatible with other Python distributions of the same version. ActivePython also includes a wealth of Python documentation, including: - the core Python docs; - Andrew Kuchling's "What's New in Python" series; - the Non-Programmer's Tutorial for Python; - Mark Pilgrim's excellent "Dive into Python"; and - a snapshot of the Python FAQs, HOWTOs, and PEPs. An online version of the docs can be found here: http://aspn.activestate.com/ASPN/docs/ActivePython/2.4/welcome.html We would welcome any and all feedback to: ActivePython-feedback at ActiveState.com Please file bugs against ActivePython at: http://bugs.ActiveState.com/ActivePython On what platforms does ActivePython run? ---------------------------------------- ActivePython now includes installers for the following ten platforms: - AIX/PowerPC - HP-UX/PA-RISC - Linux/x86 - (new) Linux/x86_64: "x86_64" is also known as "AMD64" - Solaris/SPARC - Solaris/x86 - Mac OS X/PowerPC - (new) Mac OS X/x86: - (new) Windows/x64: "x64" is also known as "AMD64" - Windows/x86 Extra Bits ---------- ActivePython releases also include the following packages: - Windows "debug" package: Debug-built binaries for ActivePython users building debug versions of their binary Python extensions. - ActivePython24.chm: An MS compiled help collection of the full ActivePython documentation set. Linux users of applications such as xCHM might find this useful. This package is installed by default on Windows. These packages are available from: ftp://ftp.activestate.com/ActivePython/etc/ Thanks, and enjoy! Trent, Python Tech Lead -- Trent Mick TrentM at ActiveState.com From spe.stani.be at gmail.com Thu Jan 26 17:37:45 2006 From: spe.stani.be at gmail.com (spe.stani.be at gmail.com) Date: 26 Jan 2006 08:37:45 -0800 Subject: SPE 0.8.2.a Python IDE released: configure styles, interactive terminals & ubuntu Message-ID: <1138289356.042294.322000@g43g2000cwa.googlegroups.com> Release news from http://pythonide.stani.be This is an important a bugfix release for all platforms. As new features it can customize your fonts and colors (styles), supports interactive terminals and has improved support for Ubuntu. Thanks to Marco Ferreira there will be very soon a debian package to install SPE easily and create an entry in the start menu on debian based linux distro's such as Ubuntu. I'm also in contact with Matthias Klose to make an updated SPE available with the Ubuntu Dapper Drake release. :**New features**: - Configurable style editor for fonts and colors (Idle, ...) (Preferences>Editor>Configure styles) - Inspect interactively after running script in terminal (Tools>Run in terminal F9) - Debian installer for Ubuntu, Xandros, etc... by Marco Ferreira :**Fixes**: - dot bug after ')' - prevent unsplitting by double clicking sidebar sash - tar.gz archive shrinked to 65% of its original size (only 833kb!) - Linux: fix for the Browser (tested on Ubuntu) - Linux: added firefox to webbrowser list and is default browser if present - Linux: run in terminal for konsole and gnome-terminal - Linux: sidebar fits better around it contents - Mac: sash is enlarged to 6 pixels - Mac: new feature: browser in sidebar (for wxPython 2.6.2+) - Linux & Mac: a lot of visual glitches are fixed - Windows: SPE shortcut in Windows start menu works again - Windows: Run in terminal input - Windows: NotebookCtrl fixed :**Manual**: - Installation: added section for Ubuntu and Debian systems. - Tutorial: the SPE tutorial has been completely rewritten by Dimitri to be up to date with the latest version (review and leave your comments at http://www.serpia.org/spe ...) - global revision :**Donations**: - Marco Ferreira (Debian installers) :**Donations**: These donators can request the pdf manual: - Harry Miktarian (16.10 euro) - Amit Antebi (10 euro) - Steven Hepple (10 euro) The development of SPE is driven by donations. :**Installation**: - See http://pythonide.stani.be/manual/html/manual2.html - For ubuntu: dpkg -i spe.deb (be sure to have pythonX.X-dev installed) :**Development**: - http://developer.berlios.de/mail/?group_id=4161 About SPE: SPE is a python IDE with auto-indentation, auto completion, call tips, syntax coloring, uml viewer, syntax highlighting, class explorer, source index, auto todo list, sticky notes, integrated pycrust shell, python file browser, recent file browser, drag&drop, context help, ... Special is its blender support with a blender 3d object browser and its ability to run interactively inside blender. Spe integrates with XRCed (gui designer) and ships with wxGlade (gui designer), PyChecker (source code doctor), Kiki (regular expression console) and WinPdb (remote, multi-threaded debugger). The development of SPE is driven by its donations. Anyone who donates can ask for an nice pdf version of the manual without ads (74 pages). From anthony.tuininga at gmail.com Thu Jan 26 18:16:49 2006 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Thu, 26 Jan 2006 10:16:49 -0700 Subject: cx_OracleDBATools 2.1 Message-ID: <703ae56b0601260916w2cc96bf0qba809e7550c6b457@mail.gmail.com> What is cx_OracleDBATools? cx_OracleDBATools is a set of Python scripts that handle Oracle DBA tasks in a cross platform manner. These scripts are intended to work the same way on all platforms and hide the complexities involved in managing Oracle databases, especially on Windows. Binaries are provided for those who do not have a Python installation. Where do I get it? http://starship.python.net/crew/atuining What's new? 1) Added support for Oracle 10g. 2) Enhanced CreateDB to treat all unknown keys in each database type section of the configuration file and additional parameters after the SID on the command line as user specified parameters that will be used when doing the substitution in the template init.ora, template creation sql, and the template directory files. 3) Enhanced ExportControlFile to include the current archive log mode so when the control file is recreated, it will be the same. 4) Enhanced BackupDB to allow lower level compression by adding the --compress option. 5) Enhanced RestoreDB to display information about a backup file without having to restore the database by adding the options --info (prints summary information) and --list (lists all files in the backup). 6) Enhanced RestoreDB to allow the changing of ORACLE_HOME when restoring a database as a different SID. 7) Enhanced StartDB to allow restarting the database if it is already started by adding the options --restart and --shutdown-mode. 8) Enhanced RestoreDB to remove an existing database if desired by adding the options --replace-existing, --tnsentry and --sys-password. 9) Added simple script which examines the memory maps on Linux to determine how much shared/private/mapped memory is in use. The output of this script is still less than useful for the shared and mapped memory. 10) Stopped backing up temporary files since they can be rebuilt faster upon restore. 11) Fixed the problem of backing up the same directory twice under file systems that are not case sensitive. 12) Fixed parsing of the log_archive_dest parameter. 13) Removed restriction on the new directory being different from the old one when performing a restore so that restoring to the same location on a different machine is possible. 14) Put password in quotes in the templates so that it does not have to follow Oracle naming conventions. 15) Added parameter db_cache_size as another size parameter. 16) Split the template OracleControl.ini into files for Windows and files for Unix type machines. Anthony Tuininga From anthony.tuininga at gmail.com Thu Jan 26 22:31:59 2006 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Thu, 26 Jan 2006 14:31:59 -0700 Subject: cx_OracleTools 7.3 Message-ID: <703ae56b0601261331x3bca07kb002feb29375ea06@mail.gmail.com> What is cx_OracleDBATools? cx_OracleTools is a set of Python scripts that handle Oracle database development tasks in a cross platform manner and improve (in my opinion) on the tools that are available by default in an Oracle client installation. Those who use cx_Oracle (a Python interface driver for Oracle compatible with the DB API) may also be interested in this project, if only as examples. Binaries are provided for those who do not have a Python installation. Where do I get it? http://starship.python.net/crew/atuining What's new? 1) Added ExportXML and ImportXML utilities for importing and exporting data from an Oracle database as XML. 2) Added support in ExportData for limiting the number of rows exported and skipping some rows first. 3) Added support in CopyData for the case where all the columns on the target table form the primary key. 4) Added support for case sensitive tables and column names in CopyData. 5) Added option --report-point to CopyData which defaults to --commit-point. 6) Added options --log-file, --log-level and --log-prefix to all of the tools and removed --timestamp and --prefix on DbDebugger since the new options cover the functionality of the old ones. 7) Added options --suppress-owner-dir, --include-roles, --include-users, --no-related and --no-triggers to ExportObjects. 8) Added option --sort-by to DumpData to modify the query executed to include a sort clause. 9) Added option --only-if to DescribeSchema and ExportObjects which allows for filtering the objects described by a where clause against dba_objects. 10) DbDebugger now displays the time to the microsecond if desired. 11) GeneratePatch now makes sure that owner changes are displayed before displaying anything about the objects for that owner that are being patched. 12) GeneratePatch now produces consistent results by performing a sort before displaying any results. 13) Fixed bug in GeneratePatch parsing grants with the "with grant option" specified. 14) Fixed bug in DescribeObject where connect statements were being displayed. Anthony Tuininga From organizationisthekeytosuccess at gmail.com Thu Jan 26 23:40:49 2006 From: organizationisthekeytosuccess at gmail.com (Zachary Chao) Date: Thu, 26 Jan 2006 14:40:49 -0800 Subject: ANN: libgmail 0.0.7 - Gmail access via Python - Now with FTP Proxy! Message-ID: <43d94ff8.3e418bec.3cf7.ffff893e@mx.gmail.com> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20060126/ccb6e697/attachment.html From richardjones at optushome.com.au Fri Jan 27 07:09:05 2006 From: richardjones at optushome.com.au (Richard Jones) Date: Fri, 27 Jan 2006 17:09:05 +1100 Subject: Roundup Issue Tracker release 0.8.6 Message-ID: <200601271709.05674.richardjones@optushome.com.au> Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry "Track" design competition. This 0.8.6 release fixes some bugs: - french translation updated by Patrick Decat (sf patch 1397059) - tighten up Date parsing to not allow 'M/D/YY' (or 'D/M/YY) (sf bug 1290550) - handle "schema" being reserved word in MySQL 5+ (sf bug 1397569) - fixed documentation of filter() in the case of multiple values in a String search (sf bug 1373396) - fix comma-separated ID filter spec in web requests (sf bug 1396278) - fix Date: header generation to be LOCALE-agnostic (sf bug 1352624) - fix admin doc description of roundup-server config file - fix redirect after instant registration (sf bug 1381676) - fix permission checks in cgi interface (sf bug 1289557) - fix permission check on RetireAction (sf bug 1407342) - timezone now applied to date for pretty-format (sf bug 1406861) - fix mangling of "_" in mail Subject class name (sf bug 1413852) - catch bad classname in URL (related to sf bug 1240541) - clean up digested_file_types (sf bug 1268303) - fix permission checks in mailgw (sf bug 1263655) - fix encoding of subject in generated error message (sf bug 1414465) If you're upgrading from an older version of Roundup you *must* follow the "Software Upgrade" guidelines given in the maintenance documentation. Roundup requires python 2.3 or later for correct operation. To give Roundup a try, just download (see below), unpack and run:: python demo.py Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/projects/roundup Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=31577 About Roundup ============= Roundup manages a number of issues (with flexible properties such as "description", "priority", and so on) and provides the ability to: (a) submit new issues, (b) find and edit existing issues, and (c) discuss issues with other participants. The system will facilitate communication among the participants by managing discussions and notifying interested parties when issues are edited. One of the major design goals for Roundup that it be simple to get going. Roundup is therefore usable "out of the box" with any python 2.3+ installation. It doesn't even need to be "installed" to be operational, though a disutils-based install script is provided. It comes with two issue tracker templates (a classic bug/feature tracker and a minimal skeleton) and five database back-ends (anydbm, sqlite, metakit, mysql and postgresql). From richardjones at optushome.com.au Fri Jan 27 07:17:46 2006 From: richardjones at optushome.com.au (Richard Jones) Date: Fri, 27 Jan 2006 17:17:46 +1100 Subject: Roundup Issue Tracker release 1.0 (!!!) Message-ID: <200601271717.46604.richardjones@optushome.com.au> I'm proud to release this, the 1.0 release of Roundup. Yes, finally after over 4 years and 8 major releases, the 1.0 release is here. Roundup 1.0 includes all the pre-1.0 goodness, and: - added full-text indexer using Xapian as the back end - Lithuanian translation by Aiste Kesminaite - Web User Interface language selection by form variable @language, browser cookie or HTTP header Accept-Language (sf patch 1360321) - initial values for configuration options may be passed on 'roundup-admin install' command line (based on sf patch 1237110) - favicon.ico image may be changed with server config option (sf patch 1355661) - Password objects initialized from plaintext remember plaintext value (sf rfe 1379447) - Roundup installation document includes configuration example for Exim Internet Mailer (sf bug 1393860) - enable registration confirmation by web only (sf bug 1381675) - allow preselection of values in templating menu()s (sf patch 1396085) - display the query name in the header (sf feature 1298535 / patch 1349387) - classhelp works with Link properties now (sf bug 1410290) - added setorderprop() and setlabelprop() to Class (sf features 1379534, 1379490) - CSV encoding support (sf bug 1240848) - fields rendered with StructuredText are hyperlinked by default - additional attributes for input element may be passed to the 'field' method of a property wrapper - added "copy_url" method to generate a URL for copying an item If you're upgrading from an older version of Roundup you *must* follow the "Software Upgrade" guidelines given in the maintenance documentation. Roundup requires python 2.3 or later for correct operation. To give Roundup a try, just download (see below), unpack and run:: python demo.py Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/projects/roundup Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=31577 About Roundup ============= Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry "Track" design competition. Note: Ping is not responsible for this project. The contact for this project is richard at users.sourceforge.net. Roundup manages a number of issues (with flexible properties such as "description", "priority", and so on) and provides the ability to: (a) submit new issues, (b) find and edit existing issues, and (c) discuss issues with other participants. The system will facilitate communication among the participants by managing discussions and notifying interested parties when issues are edited. One of the major design goals for Roundup that it be simple to get going. Roundup is therefore usable "out of the box" with any python 2.3+ installation. It doesn't even need to be "installed" to be operational, though a disutils-based install script is provided. It comes with two issue tracker templates (a classic bug/feature tracker and a minimal skeleton) and five database back-ends (anydbm, sqlite, metakit, mysql and postgresql). From sxanth at cs.teiath.gr Fri Jan 27 17:41:30 2006 From: sxanth at cs.teiath.gr (stelios xanthakis) Date: Fri, 27 Jan 2006 18:41:30 +0200 Subject: pyvm 1.1 Message-ID: <43DA4D3A.1030104@cs.teiath.gr> WHAT IS IT ---------- pyvm is an experimental python virtual machine with a compiler written in python. pyvm is very incomplete and does not care about backwards compatibility so you shouldn't use it unless: - you are interested in vm hacking. - you want to build another big program based on a fork of pyvm. - you have a lot of free time and you are very bored. WHERE IS IT ----------- http://students.ceid.upatras.gr/~sxanth/pyvm/ WHAT'S NEW ---------- In this release pyvm has real lightweight threads (co-routines). That is that there are two OS threads, one running the main interpreter loop and another one polling for file descriptors. When there is a blocking system call, the main interpreter thread passes a request to the polling thread and removes the co-routines from the running list. With this setup, pyvm can run unlimited python threads with just two OS threads. From apgwoz at gmail.com Mon Jan 30 14:32:48 2006 From: apgwoz at gmail.com (Andrew Gwozdziewycz) Date: Mon, 30 Jan 2006 08:32:48 -0500 Subject: Philadelphia Python Users Group Meeting Tuesday 31st Message-ID: <85C21AED-2AF7-46EF-B2C2-F3658D257C0E@gmail.com> David Keeney (http://pitchersduel.iuplog.com) will be giving a talk about SPyRE at Drexel University in Philadelphia on Tuesday January 31st. From his blog: "The date and time: January 31, 2006 7:00 PM I expect the talk to run an hour to 90 minutes, depending on how much fun it turns out to be. The place: """ We have Hill Seminar Room (Lebow 240) at Drexel on Tuesday evening 31 Jan. This is in the Lebow Engineering building at the corner of 31st and Market (where the freight railroad overpass is). Roughly, go into the building, go to the second floor, and try to get as close as you can to the corner of 31st and Market. """ The topic: SPyRE is a Simple Pythonic Rendering Engine for OpenGL 3d graphics. I will be discussing primarily OpenGL/PyOpenGL, with some discussion and examples using SPyRE, and talking about those aspects of PyGame which are useful with OpenGL graphical programs. I hope to keep it informative to people with little or no experience in PyGame or PyOpenGL. Hopefully, we will spend a little time as well discussing various plans and prospects for Philadelphia's PUG. This is only the second meeting, so lots of things are undecided with respect to group goals and purpose." --- Andrew Gwozdziewycz apgwoz at gmail.com http://ihadagreatview.org http://plasticandroid.org From remi at cherrypy.org Mon Jan 30 16:40:23 2006 From: remi at cherrypy.org (remi at cherrypy.org) Date: 30 Jan 2006 07:40:23 -0800 Subject: ANN: CherryPy-2.2.0beta released Message-ID: <1138635623.480706.130000@g44g2000cwa.googlegroups.com> Hi everyone, I am please to announce the first beta release of CP-2.2.0 We've started to collect changes on this page: http://www.cherrypy.org/wiki/WhatsNewIn22 (there's many more items to come). Included in this release are: - Support for multiple applications within one CherryPy process - Lots of bug fixes and improvements (including a more stable session handling) - Switch to lowercase API (instead of camelCase). (old API is still supported but deprecated) Remi. From python-url at phaseit.net Mon Jan 30 18:42:26 2006 From: python-url at phaseit.net (Magnus Lycka) Date: Mon, 30 Jan 2006 17:42:26 +0000 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 30) Message-ID: QOTW: "[The state pattern] can be very confusing for newbies and peoples having no experience with *dynamic* languages, and I guess control-freaks and static-typing-addicts would runaway screaming. But I like it anyway !-)" - bruno desthuilliers "[D]ubious Python hacks that should never be used in production code are fun, which is what c.l.p. is all about!" - Michael Hoffman After four years, the Roundup Issue Tracker version 1.0 is released. Congratulations! http://roundup.sourceforge.net/ The Myghty web and templating framework also reaches version 1.0. "Myghty is a Python Server Page templating and web framework designed for large-scale, high availability websites and applications. Its conceptual design and template syntax is derived from HTML::Mason, the widely used mod_perl web application platform." http://www.myghty.org/ The latest ActivePython release adds support for Mac OS X/x86, Windows/x64 and Linux/x86_64. http://www.activestate.com/Products/ActivePython/ PyWeek, The Python Game Programming Challenge, returns. http://www.pyweek.org/ How to have both a GUI event loop and a listener socket in the same program... http://groups.google.com/group/comp.lang.python/browse_frm/thread/13c10335c0a132a5 As Bruno said, some will probably run away screaming, but you can actually change the class of an instance. http://groups.google.com/group/comp.lang.python/browse_frm/thread/cb581d34561d266d Sometimes there are several ways of doing very simple things, such as picking out an item from a set with only one element. Some ways are faster than others... http://groups.google.com/group/comp.lang.python/browse_frm/thread/d0b74bdd22a58d0 Last week people used Python for sudoku. Now it's poker! http://groups.google.com/group/comp.lang.python/browse_frm/thread/1a9bac6ae511c1c7 Is it time for unicode in Python operators and names yet? http://groups.google.com/group/comp.lang.python/browse_frm/thread/5f4cb622ffa9316a Python continues to be a good "choice for beginners." http://www.ariel.com.au/a/teaching-programming.html How do we know if there is any input for us in sys.stdin? http://groups.google.com/group/comp.lang.python/browse_frm/thread/6fd2168cde0fd89a ======================================================================== Everything Python-related you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the marvelous daily python url http://www.pythonware.com/daily Mygale is a news-gathering webcrawler that specializes in (new) World-Wide Web articles related to Python. http://www.awaretek.com/nowak/mygale.html While cosmetically similar, Mygale and the Daily Python-URL are utterly different in their technologies and generally in their results. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html comp.lang.python.announce announces new Python software. Be sure to scan this newsgroup weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon of intelligently summarizing action on the python-dev mailing list once every other week. http://www.python.org/dev/summary/ The Python Package Index catalogues packages. http://www.python.org/pypi/ The somewhat older Vaults of Parnassus ambitiously collects references to all sorts of Python resources. http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Success Stories--from air-traffic control to on-line match-making--can inspire you or decision-makers to whom you're subject with a vision of what the language makes practical. http://www.pythonology.com/success The Python Software Foundation (PSF) has replaced the Python Consortium as an independent nexus of activity. It has official responsibility for Python's development and maintenance. http://www.python.org/psf/ Among the ways you can support PSF is with a donation. http://www.python.org/psf/donate.html Kurt B. Kaiser publishes a weekly report on faults and patches. http://www.google.com/groups?as_usubject=weekly%20python%20patch Cetus collects Python hyperlinks. http://www.cetus-links.org/oo_python.html Python FAQTS http://python.faqts.com/ The Cookbook is a collaborative effort to capture useful and interesting recipes. http://aspn.activestate.com/ASPN/Cookbook/Python Among several Python-oriented RSS/RDF feeds available are http://www.python.org/channews.rdf http://bootleg-rss.g-blog.net/pythonware_com_daily.pcgi http://python.de/backend.php For more, see http://www.syndic8.com/feedlist.php?ShowMatch=python&ShowStatus=all The old Python "To-Do List" now lives principally in a SourceForge reincarnation. http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse http://python.sourceforge.net/peps/pep-0042.html The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From amk at amk.ca Tue Jan 31 22:56:30 2006 From: amk at amk.ca (A.M. Kuchling) Date: Tue, 31 Jan 2006 16:56:30 -0500 Subject: Reminder: reserve PyCon hotel rooms today Message-ID: <20060131215630.GA7276@rogue.amk.ca> Last reminder: reserve your PyCon hotel rooms today! Go to http://us.pycon.org/Addison/Hotels for a link to the reservation page. After today, you can still try to book rooms at the conference rate. The hotel, however, doesn't guarantee that rooms will be available at that rate, and you may end up having to stay somewhere else, or pay the hotel's full price. --amk From inigoserna at terra.es Tue Jan 31 23:43:48 2006 From: inigoserna at terra.es (=?ISO-8859-1?Q?I=F1igo?= Serna) Date: Tue, 31 Jan 2006 23:43:48 +0100 Subject: ANN: pynakotheka v1.0.1 Message-ID: <1138747428.21875.3.camel@inigo.katxi.org> Hello out there, I'm really pleased to announce the second public release of Pynakotheka. Pynakotheka is a simple GPL-licensed python script which generates static HTML photo albums to be added to web sites or to be burnt in CDs. It includes some templates and it's easy to create more. It depends on python, CheetahTemplate, EXIF and PIL. Read more and download it from: http://inigo.katxi.org/devel/pynakotheka or http://www.terra.es/personal7/inigoserna/pynakotheka Changes from v1.0 to v1.0.1 =========================== * distutils support. Now you can install pynakotheka * added a man page * fixed some typos in templates Of course, all comments, suggestions etc. are welcome. Best regards, -- I?igo Serna Katxijasotzaileak -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente Url : http://mail.python.org/pipermail/python-announce-list/attachments/20060131/a55d93d1/attachment.pgp