From agreen at cirrustech.com.au Fri Jul 1 03:37:49 2005 From: agreen at cirrustech.com.au (Alan Green) Date: Fri, 01 Jul 2005 11:37:49 +1000 Subject: Sydney Python Meetup - July 21 Message-ID: <42C49E6D.3080902@cirrustech.com.au> The next Sydney Python meetup will be on Thursday July 21, where Graham Dumpleton will be speaking about his open source project, Vampire. Vampire is an extension to mod_python that provides hooks for interacting with the low-level Apache request handling chain in Python. Developers can then build applications directly on the mature, high-performance Apache machinery. From a functionality point of view, Vampire has some parallels to WSGI, and Graham will speak to these. For more information on Vampire, see: http://www.dscpl.com.au/projects/vampire/ Date: Thursday July 21 Time: 6:30pm-8:00pm, with drinks during and after. Place: James Squires Brewhouse 2 The Promenade, King St Wharf Sydney Fee: $0.00 It would be helpful if you could RSVP at upcoming.org - http://upcoming.org/event/20084 -- The Sydney Python group is an informal gathering of Python programmers and those interested in Python. We meet approximately bi-monthly, on approximately the second Thursday of the month. Our mailing list may be found at http://groups-beta.google.com/group/sydneypython From Marc.Poinot at onera.fr Fri Jul 1 15:01:30 2005 From: Marc.Poinot at onera.fr (Marc Poinot) Date: Fri, 01 Jul 2005 15:01:30 +0200 Subject: Pfem v0.9 Message-ID: <42C53EAA.5A016CB4@onera.fr> Pfem v0.9 is an update of Pfem v0.8 developped by Jonah Lee, Xianggang Zhang, Doug Goering from Department of Mechanical Engineering University of Alaska Fairbanks, Fairbanks, AK, 99775-5905, U.S.A. Pfem is... A Python-based finite element program licensed uder GPL. Current capabilities are quite limited including 2-D and 3-D heat transfer with phase change. Not all elements work with all features (to be addressed shortly). The elasticity portion still needs to be synchronized with the latest version (not quite working with the new version). Input data file is in the format of ABAQUS. The Pfem v0.9 is only an update to Python v2.3 and a new setup.py file for Distutils. The source file structure and the module structure has been changed. Some minor changes in the code due to the port to v2.3 The ABAQUS keyword *INCLUDE in config files is now taken into account. This package requires Numeric (hey, good !) The tar file can be found at: http://cgns-python.berlios.de Please send maintenance related issues, patches, etc... to the mailing list cgns-python-pfem (at) lists.berlios.de -MP- ----------------------------------------------------------------------- Marc POINOT Alias: marcvs Email: poinot at onera.fr ONERA -MFE/DSNA/ELSA Tel: 01.46.73.42.84 Info: elsa-info at onera.fr 29, Div. Leclerc Fax: 01.46.73.41.66 Site: 92322 Chatillon FRANCE Project: elsA Web: http://www.onera.fr From csad7 at t-online.de Sun Jul 3 14:56:22 2005 From: csad7 at t-online.de (Christof) Date: Sun, 03 Jul 2005 14:56:22 +0200 Subject: ANN: entuils 0.2 Message-ID: <42C7E076.4050804@t-online.de> Some basic helper functions to deal with encodings of files retrieved via HTTP. Download from http://cthedot.de/encutils/ Changes in 0.2: Mainly some documentation and internal name changes, some parameter names have changed as well. Currently contained functions: encodingByMediaType(media_type, log=None) Returns a default encoding for the given Media-Type, e.g. 'utf-8' for 'application/xml'. getHTTPInfo(httpheaders, log=None) Returns (media_type, encoding) information from the Content-Type HTTP header from a HTTP header dictionary. May be (None, None) e.g. if no Content-Type header is available. XML documents have (RFC3023) a default encoding for various media-types if no explicit charset information is given, which may be "ascii" or "utf-8", see "encodingByMediaType". HTML documents have no default encoding. getMetaInfo(text, log=None) Returns (media_type, encoding) information from (last) X/HTML Content-Type meta element. guessEncoding(httpheaders, text, log=None) Tries to find encoding of given text and uses information in httpheaders and textcontent like HTML meta elements or the XML declaration (this is not implemented yet). Returns the explicit or implicit encoding or None. Mismatch reports are written to the log. If there is a similar thing out please let me know (I know the Cookbook XML autodetection script which I'd like to integrate in a future version). And I would very much appreciate any feedback about spec compliance, errors or other problems with the functions too. (Please use http://cthedot.de/blog/?p=11 or http://cthedot.de/contact/?subject1=encutils). Thanks a lot! chris From python-url at phaseit.net Tue Jul 5 19:29:38 2005 From: python-url at phaseit.net (Simon Brunning) Date: Tue, 05 Jul 2005 17:29:38 +0000 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jul 5) Message-ID: QOTW: "That's what I love in that news group. Someone comes with a stupid and arrogant question, and someone else answers in a calm and reasonable way." - Gustavo Niemeyer "After 25 years doing this, I've become something of a Luddite as far as fancy IDEs and non-standard features go... and a huge believer in strict decoupling between my tools, to the point of ignoring things that bundle them together in ways that are, in my opinion, too tight." - Peter Hansen Ralf Grosse-Kunstleve floats a proposal to reduce the amount of code requires to set instance fields from arguments in __init__ methods: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/7346ad00a14e821a The Python Software Foundation Summer of Code projects have been selected: http://www.amk.ca/diary/archives/003975.html A discussion about the long-term plan to remove map, filter, reduce and lambda starts out bad-tempered then ... improves little: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/ceef909ebd10b65a There's a new wxPython tutorial at Dev Shed: http://www.devshed.com/c/a/Python/A-Look-at-wxPython/ Peter Hansen wants to determine the wall-clock elapsed time taken by a process on a managed host in a reliable, cross-platform way: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/cd1222d713730b67 Par Nicolas Lehuen uses Python to compare Microsoft Word documents stored in a Subversion repository (!): http://www.lehuen.com/nicolas/index.php/2005/06/30/60-comparing-microsoft-word-documents-stored-in-a-subversion-repository Terry Hancock explains what ZOPE actually is: http://groups-beta.google.com/group/comp.lang.python/msg/174d4101e0e419e8 ======================================================================== 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/topics/pythonurl/ (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 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 duws at baow.com Wed Jul 6 03:50:02 2005 From: duws at baow.com (Du Wenshan) Date: 5 Jul 2005 18:50:02 -0700 Subject: ANN: BAOW 1.1 Released Message-ID: <1120614602.601449.10290@f14g2000cwb.googlegroups.com> BAOW is a lightweight content manage system based on python language and SQL database, help you to develop complex web applications. = Highlights = * BBS or forum system, like phpBB. * Documents manage. * News manage. * Private messages. * with some Wiki or Blog features. * use MoinMoin Wiki marks to edit your contents * Unicode (utf-8) support * International support * built in HTML widget, like GTK * easy to extend and maintain. * user manage and role check and manage. = Homepage and Demo Site = * home page: http://www.baow.org * demo site: http://demo.baow.org = Download = source: http://down.baow.org/baow-1.1.tgz = Install = http://www.baow.org/topic/show/6 = Forums = http://www.baow.org/bbs/cat/main = License = GNU General Public License (GPL) = Author = Du Wenshan duws at baow.org Enjoys! From chris at wxnet.org Wed Jul 6 05:45:17 2005 From: chris at wxnet.org (Christopher Blunck) Date: Tue, 05 Jul 2005 23:45:17 -0400 Subject: ANN: PyTester v0.6.0 Message-ID: PyTest v0.6.0 ------------- This is a small package that facilitates the unit testing process by aggregating PyUnit tests and making them easier to call from the command line and from within other unit tests. Typical PyUnit tests are written in a 1-1 relationship with the module they test. Module "foo.py" is typically tested with module "test_foo.py". In packages with multiple modules it can become cumbersome to run all of the unit tests from the command line. One could write an aggregator "test_all.py" module and have it call into each "test_*.py" module to retrieve a TestCase to assemble a suite. However, that approach requires 2 modifications each time a unit test is added (one modification for the test itself, and one modification in test_all.py). PyTest can run all of the unit tests in a directory via the command line by locating all modules that begin with "test_". Reflection is then used to extract the TestCase class, and a suite is constructed reflecting all test cases. Additionally, PyTest can be used programmatically in a test_all.py. Please see my site for more info: http://oss.wxnet.org/pytester -c -- WeatherNet Observations for station: home Temperature: 73.20F Pressure: 29.80in; Dew Point: 70.71F (92%) Wind: 137 at 0 mph Recorded: 22:39:52 07/05/05 (http://wsdl.wxnet.org/home/binding.wsdl) From chris at wxnet.org Wed Jul 6 06:12:40 2005 From: chris at wxnet.org (Christopher Blunck) Date: Wed, 06 Jul 2005 00:12:40 -0400 Subject: ANN: PyWeather v0.6.0 Message-ID: PyWeather v0.5.0 ---------------- PyWeather is a collection of weather related modules that are tested to work. These modules are capable of performing conversion calculations for many common meteorological units. Additionally, modules exist that can read weather data from weather consoles. See the following URL for more details: http://oss.wxnet.org/pyweather -c -- WeatherNet Observations for station: home Temperature: 72.30F Pressure: 29.77in; Dew Point: 69.82F (92%) Wind: 137 at 0 mph Recorded: 23:09:59 07/05/05 (http://wsdl.wxnet.org/home/binding.wsdl) From me.simon at t-online.de Wed Jul 6 11:29:55 2005 From: me.simon at t-online.de (Simon) Date: Wed, 06 Jul 2005 11:29:55 +0200 Subject: ANN: PyOpenOffice 0.403 released Message-ID: <42CBA493.1090704@t-online.de> Version 0.403 with some important bugfixes for: * Usage with other XSLT processors than libxslt/xsltproc * Serial letter many file output * command line usage. The old, more simple PDF generation without XSLT is still included! ################### PyOpenOffice 0.4 - The Document Tool The Usability of OpenOffice.org meeting the Power of XML Reporting Technologies - without installing OOo on your server What is PyOpenOffice? * It is an XML based reporting tool, using OpenOffice.org as an easy to use template generator * It is a class library, written in the Python Language. * It is a platform-independent command-line utility (most abilities of the commandline interface are still missing) What can PyOpenOffice do for you? Here some examples: * Make serial letters, lists and reports from templates in the SXW-Format and store them anew as SXW-Files * Replace pictures - generate catalogues, worksheets, photo galleries etc. from an SXW-Template. * Extract the pure text information from the SXW-Document and store it in a plain text file or a PDF-File * Transform SXW-Files to PDF-Files without installing OO - for example on a webserver * Use OOo as template generator and transform SXW files to RML (Report Markup Language) files * Make serial letters, lists and reports from templates in the RML format and transform them to PDF / HTML * Replace pictures - generate catalogues, worksheets, photo galleries etc. from an RML template and transform them to PDF / HTML ################### Have a look at: http://www.bezirksreiter.de/PyOpenOffice.htm Martin Simon From mike at myghty.org Wed Jul 6 18:14:15 2005 From: mike at myghty.org (mike bayer) Date: Wed, 6 Jul 2005 12:14:15 -0400 (EDT) Subject: Myghty 0.98 Released Message-ID: <41639.66.192.34.8.1120666455.squirrel@66.192.34.8> Myghty 0.98 Released Myghty is a Python Server Page templating framework and view-controller paradigm designed for large-scale, high availability websites and applications. Its conceptual design and template syntax is derived from HTML::Mason, the most widely used web application platform in the mod_perl world. Since its original release, Myghty has introduced many new concepts and features not found in Mason, and in less than a year is already being used on a handful of commercial and personal websites. It receives favorable reviews for its ease of use, small footprint, quick and smooth operation, and great flexibility. Version 0.98 introduces a new and more flexible style of developing module- based component objects called "implicit module components", as well as new URI resolution paradigms, a new tag <%closure> for defining local functions, a new "dynamic" option for component arguments, improved text escaping, and a cleaner and more consistent dynamic-module loading system. Myghty is released under the GNU Lesser General Public License (LGPL). Documentation, examples and download links can be found at: http://www.myghty.org Michael Bayer mike at myghty.org

Myghty 0.98 - A high performance Python Server Page templating framework derived from HTML::Mason. (06-Jul-05) From gustavo at niemeyer.net Thu Jul 7 08:40:10 2005 From: gustavo at niemeyer.net (Gustavo Niemeyer) Date: Thu, 7 Jul 2005 03:40:10 -0300 Subject: ANN: python-constraint 1.0 Message-ID: <20050707064010.GA7979@burma.localdomain> -------- Overview -------- **python-constraint** [1]_ is a Python module offering solvers for Constraint Solving Problems (CSPs) over finite domains in simple and pure Python. CSP is class of problems which may be represented in terms of variables (`a`, `b`, ...), domains (`a in [1, 2, 3]`, ...), and constraints (`a < b`, ...). .. [1] http://codespeak.net/~niemeyer/constraint/ -------- Examples -------- Basic ----- Here is a basic interactive example:: >>> from constraint import * >>> problem = Problem() >>> problem.addVariable("a", [1,2,3]) >>> problem.addVariable("b", [4,5,6]) >>> problem.getSolutions() [{'a': 3, 'b': 6}, {'a': 3, 'b': 5}, {'a': 3, 'b': 4}, {'a': 2, 'b': 6}, {'a': 2, 'b': 5}, {'a': 2, 'b': 4}, {'a': 1, 'b': 6}, {'a': 1, 'b': 5}, {'a': 1, 'b': 4}] >>> problem.addConstraint(lambda a, b: a*2 == b, ("a", "b")) >>> problem.getSolutions() [{'a': 3, 'b': 6}, {'a': 2, 'b': 4}] >>> problem = Problem() >>> problem.addVariables(["a", "b"], [1, 2, 3]) >>> problem.addConstraint(AllDifferentConstraint()) >>> problem.getSolutions() [{'a': 3, 'b': 2}, {'a': 3, 'b': 1}, {'a': 2, 'b': 3}, {'a': 2, 'b': 1}, {'a': 1, 'b': 2}, {'a': 1, 'b': 3}] Rooks ----- Here is an example solving the classical rooks problem:: problem = Problem() numpieces = 8 cols = range(numpieces) rows = range(numpieces) problem.addVariables(cols, rows) for col1 in cols: for col2 in cols: if col1 < col2: problem.addConstraint(lambda row1, row2: row1 != row2, (col1, col2)) solutions = problem.getSolutions() Magic squares ------------- And here is an example solving a 4x4 magic square:: problem = Problem() problem.addVariables(range(0, 16), range(1, 16+1)) problem.addConstraint(AllDifferentConstraint(), range(0, 16)) problem.addConstraint(ExactSumConstraint(34), [0,5,10,15]) problem.addConstraint(ExactSumConstraint(34), [3,6,9,12]) for row in range(4): problem.addConstraint(ExactSumConstraint(34), [row*4+i for i in range(4)]) for col in range(4): problem.addConstraint(ExactSumConstraint(34), [col+4*i for i in range(4)]) solutions = problem.getSolutions() -------- Features -------- The following solvers are available: - Backtracking solver - Recursive backtracking solver - Minimum conflicts solver Predefined constraint types currently available: - FunctionConstraint - AllDifferentConstraint - AllEqualConstraint - ExactSumConstraint - MaxSumConstraint - MinSumConstraint - InSetConstraint - NotInSetConstraint - SomeInSetConstraint - SomeNotInSetConstraint ------------- Documentation ------------- There's documentation for the module at: - http://codespeak.net/~niemeyer/constraint/doc/ -------- Download -------- **python-constraint** may be found at the following address: - http://codespeak.net/~niemeyer/constraint/files/ --------------------- Subversion repository --------------------- Available at: - http://codespeak.net/svn/user/niemeyer/constraint/ -- Gustavo Niemeyer http://niemeyer.net From rtomayko at gmail.com Thu Jul 7 18:02:27 2005 From: rtomayko at gmail.com (Ryan Tomayko) Date: Thu, 7 Jul 2005 12:02:27 -0400 Subject: ANN: buildutils-0.1.0 - Distutils extensions for developing Python libraries and applications. Message-ID: <1BED7FC7-1F45-4D67-87F6-AE98C93B2DCD@gmail.com> I'm happy to announce that an initial 0.1.0 version of Python Buildutils is available. The `buildutils` package contains extensions to Python's standard distribution utilities (`distutils`) that are often useful during the development of Python projects. Buildutils was created to scratch an itch: removing ``make`` from the Python development process and partially to gain a better understanding of how `distutils` works. The following extension commands are included: announce send a release announcement to mailing lists like python-announce-list at python.org checksum generate MD5 and SHA-1 checksum files for distributables. etags generate an TAGS file over all packages and module (for use in Emacs). flakes find lint using the pyflakes utility. info dumps information about the project. publish push distributables and documentation up to a project site using ssh/scp/sftp. pudge build Python documentation from restructured text documents and Python doc strings. pytest run py.test unit tests. stats dump statistics on the number of lines, files, modules, packages, etc. use bring in a working version of a dependency (uses setuptools egg stuff). For more information, including User's Guide, Command Reference, and installation options, visit the Buildutils project site: There's also a bit more information on the release at the lesscode.org blog: Ryan Tomayko From gary at zope.com Fri Jul 8 04:48:54 2005 From: gary at zope.com (Gary Poster) Date: Thu, 7 Jul 2005 22:48:54 -0400 Subject: Second Fredericksburg, VA ZPUG Meeting July 13 Message-ID: Please join us July 13, 7:30-9:00 PM, for the second meeting of the Fredericksburg, VA Zope and Python User Group ("ZPUG"). Zac Bir, Zope Corporation Senior Software Engineer, will present on PyObjC. Further meetings are planned for the second Wednesday of every month. Location will be at the Zope Corporation offices. More information http://www.zope.org/Members/poster/ fxbgzpug_announce_2 and below. Hope to see you there! Gary 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. Contact: Gary Poster (gary at zope.com) Second meeting information -------------------------------------- When: July 13, 7:30. Speaker: Zac Bir, Zope Corporation Senior Software Engineer. Topic: Python applications on Mac OS X with PyObjC (http:// pyobjc.sourceforge.net/) Lightning talk: Benji York, Zope Corporation Senior Software Engineer will present a lightning talk on reading parallel ports in Python, using a Super Nintendo game controller as an example. From tim at zope.com Fri Jul 8 20:29:02 2005 From: tim at zope.com (Tim Peters) Date: Fri, 8 Jul 2005 14:29:02 -0400 Subject: ZODB 3.2.9 final released Message-ID: <20050708182905.416363B805B@smtp.zope.com> I'm pleased to announce the release of ZODB 3.2.9 (final). This corresponds to the ZODB (and ZEO) that will ship with Zope 2.7.7 (final) this coming weekend. In addition to minor bugfixes, there is one critical bugfix in 3.2.9, concerning data consistency after a subtransaction commit. This was discovered by code inspection, and a test case showing the problem was constructed from that analysis. It's a subtle problem, and it remains unclear how frequently or severely the bug may have manifested in applications (apart from that it had no effect on applications that don't use subtransactions). See the NEWS file for details: http://zope.org/Products/ZODB3.2/NEWS You can download a source tarball or Windows installer from: http://zope.org/Products/ZODB3.2 Note that there are two Windows installers, one each for use with the Python 2.3 line (2.3.5 is recommended) and the Python 2.4 line (2.4.1 is recommended). Python 2.4 has not yet been certified for use with Zope, but Python 2.4.1 is supported for standalone ZODB/ZEO use. ZODB 3.2.9 can be used with Zopes in the 2.7 line, at or after Zope 2.7.3. Note that ZODB 3.2.9 does not support development on Zope 2.8 or Zope 3 (they moved on to the ZODB 3.4 and 3.5 lines, respectively). From steven.bethard at gmail.com Sat Jul 9 02:15:37 2005 From: steven.bethard at gmail.com (Steven Bethard) Date: Fri, 8 Jul 2005 18:15:37 -0600 Subject: python-dev Summary for 2005-06-16 through 2005-06-30 Message-ID: [The HTML version of this Summary is available at http://www.python.org/dev/summary/2005-06-16_2005-06-30.html] ===================== Summary Announcements ===================== ------------------ OSCON Registration ------------------ Though if you haven't yet registered, you've already missed the early registration period (which ended June 20), you should still consider taking a look at the O'Reilly Open Source Convention (OSCON). Guido assures us that "the Python program is really good!" Contributing Thread: - `Please spread the word about OSCON early reg deadline `__ ========= Summaries ========= ------------ PEP Clean Up ------------ Raymond Hettinger decided to go through the `list of PEPs`_ and do some spring cleaning (late for the Northern Hemisphere, but early down south). * Rejection of `PEP 303`_ ("Extend divmod() for Multiple Divisors") was proposed on the grounds that it has been open for two and half years and hasn't generated discussion or support, is unpersuasive, and unnecessary. No-one spoke up for it (and some against), so it is now rejected. * Rejection of `PEP 254`_ ("Making Classes Look More Like Types") was proposed on the grounds that it is only an empty stub and is unlikely to ever get filled-out. No-one spoke up either way, and it is now rejected. * Rejection of `PEP 265`_ ("Sorting Dictionaries by Value") was proposed on the grounds that as of Python 2.4 its use case is easily solved with a one-line sorted() solution. Several people agreed, and no-one disagreed, so the PEP is now rejcted. * Rejection of `PEP 276`_ ("Simple iterator for ints") was proposed on the grounds that the principal use case was largely met by enumerate() and that the proposed syntax was problematic. Guido agreed, so the PEP was rejected. * Rejection of `PEP 281`_ ("Loop Counter Iteration with range and xrange") was proposed on the grounds that it too was solved by the enumerate() built-in. Guido agreed again, and this PEP too was rejected. * Rejection of `PEP 294`_ ("Type Names in the types Module") was proposed on the grounds that a centralized repository of type names was a mistake and that neither the "types" nor "new" modules should be carried forward to Python 3.0. No-one disagreed, and the PEP was rejected. * Rejection of `PEP 313`_ ("Adding Roman Numeral Literals to Python" - yes, this is a real PEP!) was proposed, and the PEP was rejected. * Rejection of `PEP 336`_ ("Make None Callable") was proposed on the grounds that no support has grown beyond the original poster, and that it fails the tests of obviousness, necessity, clarity, and explicitness. Many people, including Guido, agreed, and the PEP was rejected. * Raymond suggested updating `PEP 284`_ ("Integer for-loops"), but several people spoke up against it, including Guido, so the PEP was rejected. * Raymond asked whether `PEP 330`_ ("Python Bytecode Verification") had any known uses. Guido said that he believes that a verification tool has some value, but if someone wants to add it to Tools/scripts, no PEP is required, so the PEP was rejected. * A.M. Kuchling volunteered to take over `PEP 206`_ ("Python Advanced Library", or the "Batteries Included" PEP) and rewrite it to describe a set of third-party packages to complement the standard library. This was approved, and so he's now the maintainer. * Raymond suggested accepting `PEP 312`_ ("Simple Implicit Lambda"), which resulted in the most discussion of any of the PEP recommendations. However, Guido hates the unary colon syntax, and it was decided that the PEP needs to go back to the drawing board and find a more Pythonic syntax (perhaps an alternative unary operator). The PEP is now deferred. * Raymond asked whether `PEP 237`_ ("Unifying Long Integers and Integers") was now complete and could be marked as final. Guido noted that it was complete for 2.x, but that phase C will be implemented in Python 3.0, as the PEP states. He indicated that he would be fine with marking `PEP 237`_ as final and moving this phase to `PEP 3000`_; at the time of writing, this hadn't been done yet. .. _list of PEPs: http://wwww.python.org/peps .. _PEP 303: http://www.python.org/peps/pep-0303.html .. _PEP 265: http://www.python.org/peps/pep-0265.html .. _PEP 254: http://www.python.org/peps/pep-0254.html .. _PEP 276: http://www.python.org/peps/pep-0276.html .. _PEP 281: http://www.python.org/peps/pep-0281.html .. _PEP 294: http://www.python.org/peps/pep-0294.html .. _PEP 313: http://www.python.org/peps/pep-0313.html .. _PEP 336: http://www.python.org/peps/pep-0336.html .. _PEP 284: http://www.python.org/peps/pep-0284.html .. _PEP 330: http://www.python.org/peps/pep-0330.html .. _PEP 206: http://www.python.org/peps/pep-0206.html .. _PEP 312: http://www.python.org/peps/pep-0312.html .. _PEP 237: http://www.python.org/peps/pep-0237.html .. _PEP 3000: http://www.python.org/peps/pep-3000.html Contributing Threads: - `Propose rejection of PEP 303 -- Extend divmod() for Multiple Divisors `__ - `Propose to close PEP 254 -- Making Classes Look More Like Types `__ - `Propose to reject PEP 265 -- Sorting Dictionaries by Value `__ - `Propose to reject PEP 276 -- Simple iterator for ints `__ - `Propose to reject PEP 281 -- Loop Counter Iteration with range and xrange `__ - `Propose to reject PEP 294 -- Type Names in the types Module `__ - `Propose to reject PEP 313 -- Adding Roman Numeral Literals to Python `__ - `Propose to reject PEP 336 -- Make None Callable `__ - `Propose updating PEP 284 -- Integer for-loops `__ - `Question about PEP 330 -- Python Bytecode Verification `__ - `Request to rewrite PEP 206 `__ - `Recommend accepting PEP 312 -- Simple Implicit Lambda `__ - `Is PEP 237 final -- Unifying Long Integers and Integers `__ [TAM] ------------------------------------------- PEP 342: Coroutines via Enhanced Generators ------------------------------------------- Raymond Hettinger withdrew `PEP 288`_, since the exception-handling part is now covered in `PEP 343`_ and the generator-attributes part was never very popular. Though he seemed to think `PEP 342`_ could replace the generator-attributes part, he was concerned that `PEP 342`_ was proposing too extensive a set of changes, as it modified the basic for-loop and continue statement semantics, and created a split between new- and old-style iterators. As a result of those comments, Phillip J. Eby took over `PEP 342`_, eliminated the continue expression and modification of the for-loop, added some motivating examples, and provided a `prototype patch`_ implementing the proposal. `PEP 342`_ now retains normal Python for-loop and continue statements, and does not introduce a new iterator protocol. Instead, it modifies the generator-iterator type by adding the methods: - send(value) which acts like the previously proposed single-argument form of next(). (Introducing a new method instead of overloading next() minimizes overhead for simple next() calls.) Calling send(value) before the generator has advanced to the first yield-expression raises a TypeError. - throw() which injects exceptions at the point of the generator's last yield-expression. - close() which injects a GeneratorExit exception into the generator to make sure that it terminates. PEP 342 also attempts to ensure that this close() method will be called when a generator-iterator is garbage-collected. Additionally, Phillip's patch addressed some garbage collection issues, having generators set their gi_frame to None when they finish, and modifying gcmodule.c to check for tp_del methods on instance objects (instead of just on heap types) so that the close() methods of generators would be properly invoked. The revised PEP was accepted by Guido at EuroPython. .. _PEP 288: http://www.python.org/peps/pep-0288.html .. _PEP 342: http://www.python.org/peps/pep-0342.html .. _PEP 343: http://www.python.org/peps/pep-0343.html .. _prototype patch: http://python.org/sf/1223381 Contributing Threads: - `Withdrawn PEP 288 and thoughts on PEP 342 `__ - `Implementing PEP 342 (was Re: Withdrawn PEP 288 and thoughts on PEP 342) `__ - `gcmodule issue w/adding __del__ to generator objects `__ - `Generator enhancements patch available `__ [SJB] -------------------------------------------------- Adding Jason Ordenorff's path module to the stdlib -------------------------------------------------- Reinhold Birkenfeld suggested that Jason Ordenorff's `path module`_ should be in the standard library as it has a large user base, frequently c.l.py praises, is a superior interface to OS paths than the existing os.path module, and could more easily be made to properly support unicode paths. Phillip J. Eby reviewed the module and made a list of suggested changes, primarily changing so that there is only one way to do things and clearing up naming confusion between the module and the existing os.path module, but was generally in favour of inclusion. The suggestion was to call the object either "path" or "Path" and put it either in the os module or os.path module, although Guido vetoed os.path.path and Tony Meyer begged for more differentiation between the path class and path module than a single character's case. Early enthusiasm suggested that a PEP wasn't needed to include the module, as there was general agreement about the inclusion and all but minor details. Guido disagreed, however, asking whether there was a need for a completely different mechanism for doing the same things that os.path already does, and inevitable disgreements about details (e.g. time in seconds, or a datetime object?) reinforced the need for a PEP. Discussion was still continuing at the end of the summary period; a PEP seems the likely outcome. .. _path module: http://www.jorendorff.com/articles/python/path/ Contributing Thread: - `Adding the 'path' module (was Re: Some RFE for review) `__ [TAM] ------------------------------- PEP 304 searches for a champion ------------------------------- Skip Montanaro wrote `PEP 304`_ ("Controlling Generation of Bytecode Files") a couple of years ago, and has mostly sat idle other than minor updates. Skip has no personal use for the PEP, and can't offer championing for it than continuing to respond to people's inputs. He asked whether anyone would be willing to take up championship of the PEP, or if it could be rejected. There were a couple of people interested in the idea, but no-one has yet volunteered to take the PEP from Skip. .. _PEP 304: http://www.python.org/peps/pep-0304.html Contributing Threads: - `PEP 304 - is anyone really interested? `__ - `PEP 304 "Controlling Generation of Bytecode Files" - patch updated `__ [TAM] ------------------------- Merging float and Decimal ------------------------- Fredrik Johansson suggested that Python floats and decimal.Decimal objects should be merged together much in the way that Python ints and longs have been. The idea would be that a binary or decimal represenation could be selected at runtime using a context object like decimal.Context. This would allow code like:: >>> from __future__ import new_float_behaviour >>> 1.1 1.1 >>> import sys >>> sys.float_context.binary = True >>> 1.1 1.1000000000000001 One issue would be the extent to which various context settings could be respected for both binary and decimal floating-point numbers. Since binary floating-point numbers would be represented using C floats, they would not have direct access to the traps and flags that decimal.Decimal floats do because these signals are not available in C. This issue could possibly be addressed by maintaining platform-dependent code for accessing traps and flags. People seemed generally to agree with the proposal, with Raymond Hettinger suggesting a roadmap: first move decimal.Decimal objects to C code, next introduce decimal literals such as 123.45d, and then perhaps use decimal floating-point numbers as the default in Python 3.0. Contributing Thread: - `Decimal floats as default (was: discussion about PEP239 and 240) `__ [SJB] ------------------------------------------------ API differences between builtin set and sets.Set ------------------------------------------------ Barry Warsaw noted that builtin set objects (unlike sets.Set objects) do not have .union_update() methods as aliases for their .update() methods. He also pointed out that the documentation for builtin set objects does not cover the .update() method, and wrongly indicates that the set methods only accept sequences, not iterables. Raymond Hettinger pointed-out that dropping union_update() from the API was an intentional design decision that was be discussed prior to release. At Barry's suggestion, Raymond expanded the docs to include a detailed list of differences between the set builtins and the sets module. The list is thankfully short. Contributing Thread: - `Inconsistent API for sets.Set and build-in set `__ [SJB] ---------------------------------- Using the alternate form of iter() ---------------------------------- In the dowhile threads, Jp Calderone pointed out a useful case for the alternate form of iter() which takes a no-argument function to call repeatedly, and a sentinel value to look for:: for chunk in iter(lambda: f1.read(CHUNK_SIZE), ''): f2.write(chunk) This started a brief discussion on how this very useful idiom could be made easier to read. I suggested that it would be nice if iter() had a signature like unittest.TestCase.assertRaises which accepts ``*args`` and ``**kwargs`` to be passed to the function when it is called. This would have to be a Python 3.0 change because it's backwards incompatible, but would look something like:: for chunk in iter('', f1.read, CHUNK_SIZE): f2.write(chunk) Benji York, Michael Hudson and James Y Knight suggested that functional.partial (which will be available in Python 2.5) is a more general solution because it does not require argument reordering and it can also be used in the occasional cases that require multiple callables:: for chunk in iter(partial(f1.read, CHUNK_SIZE), ''): f2.write(chunk) Raymond Hettinger suggested a Python 3.0 roadmap: the file API should evolve an iterblocks(size) method, and iteration patterns terminating with '' should all be replaced with modern iterators that terminate by raising StopIteration. Contributing Thread: - `iter alternate form and *args and **kwargs `__ [SJB] -------------------------------------- Adding lightweight cooperative threads -------------------------------------- Adam Olsen outlined various problems with the current state of Python threading (they are expensive, unpredictable, uninterupptible, fail silently, and have finely grained atomicity), and proposed adding lightweight cooperative threads to Python (including a new operator for threaded calls, and new statement for creating threads). The proposal received no support, however, with Adam pointed towards `Stackless Python`_ and greenlets from `the Py lib`_ as similar solutions that do not require modification of the language. `PEP 342`_ was also touted as a solution - the PEP includes a short (<50 lines) cooperative threading example. .. _Stackless Python: http://www.stackless.com/ .. _the Py lib: http://codespeak.net/py .. _PEP 342: http://www.python.org/peps/pep-0342.html Contributing Thread: - `Adding Python-Native Threads `__ [TAM] ------------------------------ Syntax for ignoring exceptions ------------------------------ Dmitry Dvoinikov proposed a shorthand for ignoring exceptions:: ignore TypeError: do stuff [else: do other stuff] which would replace:: try: do stuff except TypeError: pass [else: do other stuff] Most people seemed to think that generally the except and/or else clauses would be non-trivial, so the savings of two lines were not really worth the complications to the language. Contributing Thread: - `Explicitly declaring expected exceptions for a block `__ [SJB] ---------------------------------- Proposed new serialization format. ---------------------------------- Simon Wittber proposed a pre-PEP for `RFE 46738`_, to provide a safe, documented class for serialization of simple python types; however, many people commented that they felt that there were already sufficient serialization formats. Simon felt that they were all slow, bloated or unsafe, but wasn't able to convince anyone that there was a need for a new format. .. _RFE 46738: http://python.org/sf/467384 Contributing Thread: - `PEP for RFE 46738 (first draft) `__ [TAM] --------------------------------------- Behavior of subprocess.call(stdin=PIPE) --------------------------------------- In a followup to a `sourceforge patch`_, Stuart Bishop asked that subprocess.call() close the input stream if it receives the keyword argument stdin=PIPE. Since subprocess.call() creates a process and waits for it to complete before returning, the stdin pipe is never available to the caller and thus can never be written to while the process is running. Stuart suggested that if subprocess.call() closed the input stream when stdin=PIPE, subprocesses that incorrectly read from stdin would break out with an error immediately instead of hanging. While people seemed to agree that the current behavior of subprocess.call(stdin=PIPE) was mildly undesirable, there was disagreement as to the solution. Michael Chermside suggested that subprocess.call(stdin=PIPE) should raise an exception, while Peter ?strand felt that keeping the subprocess.call() wrapper around subprocess.Popen() as simple as possible spoke against complicating it with error checking code. .. _sourceforge patch: http://www.python.org/sf/1220113 Contributing Thread: - `subprocess.call() and stdin `__ [SJB] =============== Skipped Threads =============== - `getch() in msvcrt does not accept extended characters. `__ - `Terminology for PEP 343 `__ - `List copy and clear (was Re: Inconsistent API for sets.Set and build-in set) `__ - `Multiple expression eval in compound if statement? `__ - `refcounting vs PyModule_AddObject `__ - `Some RFE for review `__ - `Please spread the word about OSCON early reg deadline `__ - `New python developer `__ - `Possible C API problem? `__ - `PyPI: no space left on device `__ - `PySWT -- Python binding of SWT using GCJ + SIP `__ - `Subclassing in 'C' `__ - `is type a usable feature? `__ - `misplaced PEP `__ - `using pyhon from the MSYS shell `__ - `[Python-checkins] python/dist/src/Lib Cookie.py, 1.17, 1.18 `__ - `[Python-checkins] python/dist/src/Tools/bgen/bgen bgenGenerator.py, 1.17, 1.18 bgenObjectDefinition.py, 1.29, 1.30 bgenType.py, 1.15, 1.16 bgenVariable.py, 1.6, 1.7 scantools.py, 1.37, 1.38 `__ - `floatobject.c 2.136 `__ ======== Epilogue ======== ------------ Introduction ------------ This is a summary of traffic on the `python-dev mailing list`_ from June 16, 2005 through June 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 sixth summary written by the python-dev summary cabal of Steve Bethard, Tim Lesher, and Tony Meyer. To contact us, please send email: - Steve Bethard (steven.bethard at gmail.com) - Tim Lesher (tlesher 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 penny helps 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://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/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. I 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 me 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/ .. _original text file: http://www.python.org/dev/summary/2005-06-16_2005-06-30.ht .. _archive: http://www.python.org/dev/summary/ .. _RSS feed: http://www.python.org/dev/summary/channews.rdf From detlev at die-offenbachs.de Sat Jul 9 12:57:35 2005 From: detlev at die-offenbachs.de (Detlev Offenbach) Date: Sat, 09 Jul 2005 12:57:35 +0200 Subject: ANN: eric3 3.7.1 available Message-ID: Hi, I am proud to announce the availability of eric3 3.7.1. This is a bug fix release which fixes a severe bug next to some normal ones. NOTE: Everybody using 3.7.0 or 3.6.x should upgrade. It is available via http://www.die-offenbachs.de/detlev/eric3.html. What is it? ----------- Eric3 is a Python and Ruby IDE with all batteries included. Please see a.m. website for more details. Regards, Detlev -- Detlev Offenbach detlev at die-offenbachs.de From jmiller at stsci.edu Sat Jul 9 19:28:03 2005 From: jmiller at stsci.edu (Todd Miller) Date: Sat, 09 Jul 2005 13:28:03 -0400 Subject: ANN: numarray-1.3.3 Message-ID: <1120930083.4884.3.camel@localhost.localdomain> Numarray is an array processing package designed to efficiently manipulate large multi-dimensional arrays. Numarray is modelled after Numeric and features c-code generated from python template scripts, the capacity to operate directly on arrays in files, arrays of heterogeneous records, string arrays, and in-place operation on memory mapped files. ========================================================================= Release Notes for numarray-1.3.3 I. ENHANCEMENTS None. 1.3.3 fixes a fatal problem with embedding numarray and loading it more than once. It also fixes some numarray memory leaks associated with restarting the Python interpreter. II. BUGS FIXED / CLOSED 1233431 Add 'type' to fromfunction() 1230490 Numarray: integer overflow in sum() is not detected 1216688 ufunc's ignoring complex operand 1213675 Problems embedding after 1.1.1 1209946 Mac OS-X --use_lapack 1212975 numarray.fromfunction(...) misbehavior 1209929 config.h and Python-2.2 1235278 Add -lm to numarray link lists See http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse for more details. ========================================================================= Release Notes for numarray-1.3.2 I. ENHANCEMENTS None. 1.3.2 fixes the problem with gcc4 on Mac OS-X 10.4 Tiger II. BUGS FIXED / CLOSED 1193125 Build failure on Mac OS 10.4 (Tiger) 1195370 numarray1.3.1 setup.py broken See http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse for more details. ========================================================================= Release Notes for numarray-1.3.1 I. ENHANCEMENTS None. 1.3.1 fixes the problem with gcc-3.4.3 II. BUGS FIXED / CLOSED 1152323 /usr/include/fenv.h:96: error: conflicting types for 'fegete 1185024 numarray-1.2.3 fails to compile with gcc-3.4.3 1187162 Numarray 1.3.0 installation failure See http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse for more details. ========================================================================= Release Notes for numarray-1.3.0 Numarray is an array processing package designed to efficiently manipulate large multi-dimensional arrays. Numarray is modelled after Numeric and features c-code generated from python template scripts, the capacity to operate directly on arrays in files, arrays of heterogeneous records, string arrays, and in-place operation on memory mapped files. I. ENHANCEMENTS 1. Migration of NumArray.__del__ to C (tp_dealloc). Overall performance. 2. Removal of dictionary update from array view creation improves performance of view/slice/subarray creation. This should e.g. improve the performance of wxPython sequence protocol access to Nx2 arrays. Subclasses now need to do a.flags |= numarray.generic._UPDATEDICT to ensure that dictionary based attributes are inherited by views. NumArrays no longer do this by default. 2. Modifications to support scipy.special. 3. Removal of an unnecessary getattr() from ufunc calling sequence. Ufunc performance. II. BUGS FIXED / CLOSED 1179355 average() broken in numarray 1.2.3 1167184 Floating point exception in numarray's dot() 1151892 Bug in matrixmultiply with zero size arrays 1160184 RecArray reversal 1156172 Incorect error message for shape incompatability 1155538 Incorrect error message when multiplying arrays See http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse for more details. III. CAUTIONS This release should be backward binary compatible with numarray-1.1.1 and 1.2.3. WHERE ----------- Numarray-1.3.0 windows executable installers, source code, and manual is here: http://sourceforge.net/project/showfiles.php?group_id=1369 Numarray is hosted by Source Forge in the same project which hosts Numeric: http://sourceforge.net/projects/numpy/ The web page for Numarray information is at: http://stsdas.stsci.edu/numarray/index.html Trackers for Numarray Bugs, Feature Requests, Support, and Patches are at the Source Forge project for NumPy at: http://sourceforge.net/tracker/?group_id=1369 REQUIREMENTS ------------------------------ numarray-1.3.0 requires Python 2.2.2 or greater. AUTHORS, LICENSE ------------------------------ Numarray was written by Perry Greenfield, Rick White, Todd Miller, JC Hsu, Paul Barrett, Phil Hodge at the Space Telescope Science Institute. We'd like to acknowledge the assitance of Francesc Alted, Paul Dubois, Sebastian Haase, Chuck Harris, Tim Hochberg, Nadav Horesh, Edward C. Jones, Eric Jones, Jochen Kuepper, Travis Oliphant, Pearu Peterson, Peter Verveer, Colin Williams, Rory Yorke, and everyone else who has contributed with comments and feedback. Numarray is made available under a BSD-style License. See LICENSE.txt in the source distribution for details. -- Todd Miller jmiller at stsci.edu From m_schellens at hotmail.com Sun Jul 10 19:01:29 2005 From: m_schellens at hotmail.com (m_schellens@users.sf.net) Date: 10 Jul 2005 10:01:29 -0700 Subject: ANN: GDL python module Message-ID: <1121014889.754066.256330@z14g2000cwz.googlegroups.com> GDL - GNU Data Language, a free IDL (Interactive Data Language - see http://www.rsinc.com) clone. (IDL 6.0 compatible incremental compiler capable of running programs written in IDL) Version: 0.8.10 Note: If you never heard of IDL or GDL you probably don't need to read further. GDL can now be build as a python module, allowing IDL/GDL routines to be called from python (for python standards the installation is quite unusual but simple, see INSTALL and PYTHON.txt for details). This is in early beta stage right now. Depending on the interest, the interface might be extended in the future. For passing arrays to and from python, GDL uses numarray. HOMEPAGE: http://gnudatalanguage.sourceforge.net DOWNLOAD: http://sourceforge.net/projects/gnudatalanguage/ Gaurav Khanna provides binaries for Mac OS X on his HPC page: http://hpc.sourceforge.net GDL FEATURES: *FULL* syntax compatibility with IDL 6.0 *ALL* IDL language elements are supported, including: _EXRA, _REF_EXTRA and _STRICT_EXTRA keywords, Objects, Pointers, Structs, Common blocks, Assoc variables, Arrays, System variables, All operators, All data types... Compiles on Linux and Mac OS X (10.2, 10.3, and 10.4) The file input output system is fully implemented (Exception: For formatted I/O the C() sub-codes are not supported yet) Most image file formats (jpeg, tiff, ...) are supported. netCDF files are fully supported. HDF file support. Basic HDF5 file support. READFITS and WRITEFITS from the IDL-Astrolib are working. Graphical output is partially implemented. The PLOT, OPLOT, PLOTS, XYOUTS, SURFACE and TV commands (along with WINDOW, WDELETE, SET_PLOT, WSET, TVLCT) work (important keywords, some !P system variable tags and multi-plots are supported) for X windows, z-buffer and postscript output. A GUI (widgets) is not implemeted yet. Check it out! marc From aahz at pythoncraft.com Mon Jul 11 22:55:49 2005 From: aahz at pythoncraft.com (Aahz) Date: Mon, 11 Jul 2005 13:55:49 -0700 Subject: BayPIGgies: July 14, 7:30pm (Google) Message-ID: <20050711205549.GA14110@panix.com> The next meeting of BayPIGgies will be Thurs, July 14 at 7:30pm at Google, building 40, room Temp Tech Talk. Alex Martelli will be doing his "Black Magic" talk on descriptors, decorators, and metaclasses. Prepare to have your head exploded! BayPIGgies meetings alternate between IronPort (San Bruno, California) and Google (Mountain View, California). For more information and directions, see http://www.baypiggies.net/ Before the meeting, we may meet at 6pm for dinner. Discussion of dinner plans is handled on the BayPIGgies mailing list. This week, there has been discussion of a potluck -- if you want a potluck, speak up NOW on the mailing list. Advance notice: The August 11 meeting agenda has not been set. Please send e-mail to baypiggies at baypiggies.net if you want to suggest an agenda (or volunteer to give a presentation). -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ f u cn rd ths, u cn gt a gd jb n nx prgrmmng. From ianb at colorstudy.com Tue Jul 12 05:51:13 2005 From: ianb at colorstudy.com (Ian Bicking) Date: Mon, 11 Jul 2005 22:51:13 -0500 Subject: ChiPy Users Group Meeting, Thu July 14 Message-ID: <42D33E31.6010603@colorstudy.com> icago Python User Group, ChiPy, will have its next meeting on Thursday, July 14, starting at 7pm. For more information on ChiPy see http://chipy.org We'll be having three presentations this month: * Adrian Holovaty will be giving a preview of his new web framework Django. * John Hunter will talk about using Python with C and C++ projects. * Ian Bicking will discuss some functional programming techniques available in Python. We'll also be planning the book club There will be time to chat, and many opportunities to ask questions. We encourage people at all levels to attend. Location -------- This month we will be meeting Monadnock building in Downtown Chicago. We need to give building security a list of names, so if there's any chance you'll attend email tobis at mailbag.com with the subject "ChiPy July Meeting" so Michael can add you to the list. Please bring an ID. The Monadnock building is at 53 W Jackson, and the meeting is on the 8th floor. It is convenient to all El lines. Parking is available nearby, but expect to pay about $9. About ChiPy ----------- ChiPy meets once a month, on the second Thursday of the month. If you can't come this month, please join our mailing list: http://lonelylion.com/mailman/listinfo/chipy From "cyril dot jaquier at bluewin dot ch" at newsspool.solnet.ch Tue Jul 12 16:10:45 2005 From: "cyril dot jaquier at bluewin dot ch" at newsspool.solnet.ch (Cyril Jaquier) Date: Tue, 12 Jul 2005 16:10:45 +0200 Subject: [ANN] Fail2Ban 0.5.0 Message-ID: <42d3cf63$0$146$fb624d75@newsspool.solnet.ch> Hi, The version 0.5.0 of Fail2Ban is available. This is a development version and contains a lot of new features (mail notification, CIDR support, firewall rules configuration, etc). Please test it and report any bugs in order to make it stable as soon as possible. "Fail2Ban is written in Python. It scans log files like /var/log/pwdfail or /var/log/apache/error_log and bans IP that makes too many password failures. It updates firewall rules to reject the IP address." Homepage: http://fail2ban.sourceforge.net Best Regards, Cyril Jaquier From sxanth at ceid.upatras.gr Tue Jul 12 20:20:03 2005 From: sxanth at ceid.upatras.gr (Stelios Xanthakis) Date: Tue, 12 Jul 2005 21:20:03 +0300 Subject: ANN: pyc 0.7 Message-ID: <42D409D3.1080508@ceid.upatras.gr> Pleased to announce pyc 0.7 pyc is a sourcecode-to-bytecode compiler written entirely in python and derrived from the standard library compiler module. It features many interesting optimizations which both compress the size of the generated bytecode, and make it faster to execute. The most important fix in this release is that it attempts to correct the stacksize calculation routines. With that fixed, the code produced by pyc should be a bit faster than the standard bytecode produced by the internal CPython compiler. Download: http://students.ceid.upatras.gr/~sxanth/pyc/pyc-0.7.tar.bz2 Changelog: http://students.ceid.upatras.gr/~sxanth/pyc/CHANGES.txt Cheers, Stelios From csad7 at t-online.de Tue Jul 12 23:10:12 2005 From: csad7 at t-online.de (Christof) Date: Tue, 12 Jul 2005 23:10:12 +0200 Subject: ANN: pyxsldoc 0.69 Message-ID: <42D431B4.805@t-online.de> what is it ---------- An application to produce documentation for XSLT files in XHTML format, similar to what javadoc does for Java files. changes since the last release ------------------------------ * bugfix in util.py return value if no comment was given was wrong * bugfix in xsl/doc.xsl param anchor links did not work * cmdline option -v --verbose is ignored and always set to True now see http://cthedot.de/pyxsldoc/README.txt for a complete list of changes license ------- pyXSLdoc is published under the LGPL. download -------- download pyXSLdoc v0.69 - 050712 from http://cthedot.de/pyxsldoc/ pyXSLdoc needs * Python 2.3 (tested with Python 2.4.1 on Windows XP only) * Pyana (tested with Pyana 0.9.2 only) * Docutils (tested with Docutils 0.3.10 only) find more docs on the website... any comment would be nice! christof hoeke

pyXSLdoc 0.69 - generate XSLT documentation (12-Jul-05) From riaan at e.co.za Wed Jul 13 12:16:20 2005 From: riaan at e.co.za (Riaan Booysen) Date: Wed, 13 Jul 2005 12:16:20 +0200 Subject: [ANN] Boa Constructor 0.4.4 Message-ID: <42D4E9F4.1080808@e.co.za> Hi everyone, Boa Constructor 0.4.4 has been released and is available from the SourceForge file download page. http://sourceforge.net/project/showfiles.php?group_id=1909&package_id=1856&release_id=341294 Summary of changes since 0.4.0: * The entire sourcecode base is now upgraded to wxPython 2.5 style code. * Python code has also been modernised. * Improved Python code completion and call tips. * New controls supported: wx.DatePickerCtrl, wx.GridBagSizer. * Registration api added for plug-ins. * Improved wxMAC compatibility. * Python and wxPython docs now included in the main download. * Many bug fixes. Requires wxPython 2.5 or higher. Enjoy, Riaan. From wobsta at gmail.com Wed Jul 13 16:58:11 2005 From: wobsta at gmail.com (wobsta) Date: 13 Jul 2005 07:58:11 -0700 Subject: ANN: PyX 0.8 released Message-ID: <1121266691.609154.131270@g43g2000cwa.googlegroups.com> We're pleased to announce the release of PyX 0.8. PyX now supports PDF output and also the generation of multi-page PS/PDF documents. The internals of the path system have been cleaned up and the external interface has been streamlined. The axis data handling of the graph component has undergone a major revision. Many other improvements and bug fixes are included in this release. What is PyX? PyX is a Python package for the creation of PostScript and PDF files. It combines an abstraction of the PostScript drawing model with a TeX/LaTeX interface. Complex tasks like 2d and 3d plots in publication-ready quality are built out of these primitives. For further information please visit http://pyx.sourceforge.net/ Andr?, J?rg, and Michael From s_t_a_n_i at gmx.net Wed Jul 13 19:36:06 2005 From: s_t_a_n_i at gmx.net (s_t_a_n_i@gmx.net) Date: 13 Jul 2005 10:36:06 -0700 Subject: SDXF - Stani's DXF library for Python Message-ID: <1121276166.232847.301780@z14g2000cwz.googlegroups.com> SDXF is a Python library to generate DXF files. DXF is an abbreviation of Data Exchange File, a vector graphics file format. It is supported by virtually all CAD products (such as AutoCAD, Blender, 3Dstudio, Maya,Vectorworks...) and vector drawing programs (such as Illustrator, Flash, ...). SDXF can generate complex CAD drawings (dxf format) with all kind of entities (such as 3DFace, Arc, Insert, Circle, Line, Mtext, Point, Polyline, Rectangle (can be filled), Solid & Text). They can be structured with Layers, Blocks, Linetypes, Text styles and Views. Example import sdxf d=sdxf.Drawing() d.append(sdxf.Text('Hello World!',point=(3,0,1))) d.append(sdxf.Line(points=[(0,0,0),(1,1,1)])) d.saveas('hello_world.dxf') For more info: http://www.stani.be/python/sdxf From python-url at phaseit.net Wed Jul 13 20:22:03 2005 From: python-url at phaseit.net (Simon Brunning) Date: Wed, 13 Jul 2005 18:22:03 +0000 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jul 13) Message-ID: QOTW: "The posts do share an erroneous, implied assumption that the investment in learning each language is equal. Python has a strong competitive advantage over Java and C++ in terms of learnability. A person can get up to speed in a few days with Python." - Raymond Hettinger "You know, this is the most concise example of feature-creep in a specification that I've ever seen." - Christopher Subich "With Lisp or Forth, a master programmer has unlimited power and expressiveness. With Python, even a regular guy can reach for the stars." - Raymond Hettinger Lisp's macros are undoubtedly a powerful feature, but are they powerful enough to make List development faster than Python development? Do we want macros in Python? http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/ca05ba71092748a1 List comprehensions are almost identical to generator expressions wrapped in list() calls. Does that mean that list comps will go away in Python 3? Should they? http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/b050ef55b36dee56 A Bright, Shiny Service: Sparklines: http://www.xml.com/pub/a/2005/06/22/sparklines.html Which is faster, if, or try/except? Which is more Pythonic? http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/8026ec36def2af1e Rbt wants to break out of nested loops. He's shown several ways of doing it, but for my money, Raymond's approach is the most elegant: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/b127ff7fffcea00 Charlie Calvert wrote a couple of articles that advocate Python, and he's looking for some backup: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/721d749715aa5aaf ======================================================================== 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/topics/pythonurl/ (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 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 stuff at mailzilla.net Thu Jul 14 04:28:19 2005 From: stuff at mailzilla.net (stuff@mailzilla.net) Date: 13 Jul 2005 19:28:19 -0700 Subject: ReleaseForge 0.9.0 - A SourceForge/Freshmeat release tool Message-ID: <1121308099.588679.134860@g43g2000cwa.googlegroups.com> ReleaseForge 0.9.0 is now available for immediate download at: http://releaseforge.sourceforg e.net ------------------------------------------------------- About ReleaseForge 0.9.0: ReleaseForge 0.9.0 is a minor enhancement release. This version allows the SourceForge developer the ability to email project announcements to mailing lists and individual users directly from within ReleaseForge. Additionally, the --auto command line option was added which, when used, will automatically login to SourceForge and Freshmeat accounts without prompting you for username/password credentials. Also, the --config command line option has been deprecated and the configuration file has been moved to the ReleaseForge data directory (typically, $HOME/.releaseforge). If you are upgrading from a previous version you may wish to refer to these FAQ sections for more gory details: http://releaseforge.sourceforge.net/faq.html#upgrade http://releaseforge.sourceforge.net/faq.html#config There are also some minor bug fixes and feature enhancements. ------------------------------------------------------- About ReleaseForge: ReleaseForge is a GUI application designed for project administrators and release engineers of projects that are hosted at SourceForge. It is intended to make it easier and faster to create a new release and edit existing releases rather than using the SourceForge Web interface. ReleaseForge streamlines the release effort by prompting you for information regarding your new release (version info, change log, release notes, files to include, etc). It then seamlessly negotiates with the SourceForge Web server, creating your release, posting your release notes/change log, uploading your files to the SourceForge FTP server, selecting the files for inclusion in your release on the SourceForge Web server, updating the file attributes of each of the files and then, if appropriate, notifying monitoring users of the new release. ReleaseForge also includes support for posting Freshmeat news announcements and SourceForge project news announcements. ------------------------------------------------------- http://releaseforge.sourceforge.net From dborisov at pymedia.org Thu Jul 14 19:27:23 2005 From: dborisov at pymedia.org (Dmitry Borisov) Date: Thu, 14 Jul 2005 17:27:23 -0000 Subject: ANN: PyMedia 1.3.5-pre1 for Windows Message-ID: <200507141927.42d6a07b4cc20@www.xs2mail.com> Hi all, Just wanted to let you know that early prerelease of PyMedia 1.3.5 is out. What is it ? ---------------------------------------------------------------- PyMedia is a media library for Python based on the following libraries: libavcodec, libavformat, libdvdcss, libdvdread It has simple interface and yet powerfull for writing multimedia apps in Python. Features ---------------------------------------------------------------- 1. Audio decoding/encoding for the following types: - mp2, mp3, ac3, ogg, wma 2. Video decoding/encoding for the following types: - mpeg1,2 ( dvd, vcd, svcd ), mpeg4, xvid, asf, mov 3. Video/Audio muxing for mpeg files only 4. Direct access to sound device( Input/Output ). Input is synchronous in Linux. 5. Sound manipulation classes such as Resampler and SpectrAnalyzer 6. Direct access to cdda tracks for easy grabbing and encoding Audio CDs 7. Direct access to dvd tracks for playing DVD movies( all types ) 8. Ability to convert video frames from YUV<->BMP formats 9. Simple interface and portability( Windows/Linux/cygwin ) What's new ---------------------------------------------------------------- 1. FLAC support 2. Muxer object is suitable for audio and video and become global for pymedia. It enables simpler audio/video demuxing 3. Video playback rate was tuned to be as close to mplayer as possible 4. Precompiled version for Python2.4 on Windows available 5. Sound module for Windows works Bugs ---------------------------------------------------------------- 1. AAC decoder does not work correctly 2. WMA decoder has been corrupted and may not play somethimes 3. Video encoding has bugs with PTS/DTS handling 4. Muxing for OGG does not work Downoad ---------------------------------------------------------------- Just check the http://pymedia.sourceforge.net and download the latest Windows binary version( 1.3.5-pre1 ). There is no tarball available since existing version resides in CVS. You're welcome to try it out on Linux ! How to use ---------------------------------------------------------------- First of all you can see PyCar application http://pymedia.org/pycar/ For everything else see the tutorials on a web site http://pymedia.org/tut/ Please note that some of the chapters may not be up-to-date. Let me know if something does not work for you ! Enjoy, Dmitry/ -- XS2Mail: Check your mail anywhere http://www.xs2mail.com/ From remi at cherrypy.org Fri Jul 15 00:11:20 2005 From: remi at cherrypy.org (remi@cherrypy.org) Date: 14 Jul 2005 15:11:20 -0700 Subject: ANN: CherryPy-2.1.0-beta released Message-ID: <1121379080.656801.160980@g43g2000cwa.googlegroups.com> Hello everyone, I am happy to announce the first beta release of CherryPy-2.1 This release is a major step forward for CherryPy. It is packed with new features and bug fixes. Also, the CherryPy community is now growing quite fast and it is very active. Many people contributed to this release. Here are the main improvements in this release: - New WSGI interface, which allow CherryPy sites to be deployed on any WSGI server. People are already running it on mod_python, FastCGI, SCGI, IIS or CherryPy's own built-in HTTP server. - New implementation for sessions, which supports multiple backends - Built-in list of convenient "filters" for things like gzip compression, XHTML validation, caching, unicode decoding/encoding, authentication, XML-RPC wrapper, etc ... These filters can easily be enabled/disabled through configuration. - New "development" mode which provides things like autoreload (no need to manually restart your server when you make a change), logging of page stats, etc ... - Better handling of file uploads - Internal implementation now uses generators everywhere (no more StringIO) - New built-in HTTP server implementation *************** About CherryPy: CherryPy-2 is a pythonic, object-oriented web development framework. Here is a sample Hello, World in CherryPy-2: # import cherrypy # class HelloWorld: # @cherrypy.expose # def index(self): # yield "" # yield "Hello world!" # yield "" # cherrypy.root = HelloWorld() # cherrypy.server.start() Main properties: - this code starts a multi-threaded HTTP server that dispatches requests to methods - requests like "http://domain/dir/page?arg1=va l1&arg2=val2" are mapped to "dir.page(arg1='val1', arg2='val2')" - CherryPy also supports "RESTful" URLs like http://domain/book/science/9 - requests are mapped to an object tree that is "mounted" on cherrypy.root (for instance: "cherrypy.root.user", "cherrypy.root.user.remi", ...) - method must be explicitly exposed with a decorator "@cherrypy.expose" (or "index.exposed = True" for Python-2.3) Remi. http://www.cherrypy.org From jcribbs at twmi.rr.com Fri Jul 15 01:22:37 2005 From: jcribbs at twmi.rr.com (Jamey Cribbs) Date: Thu, 14 Jul 2005 19:22:37 -0400 Subject: ANN: KirbyBase 2.0 beta 1 Message-ID: <42D6F3BD.3000603@twmi.rr.com> I would like to announce the first beta of version 2 of KirbyBase, a simple, pure-Python database management system that stores it's data in plain-text files. Version 2 is a total rewrite of the code, a major change in the api, and a major improvement (I hope) in the syntax used to express queries, inserts, and updates. Because of the dramatic changes, I wanted to get this beta out in the hopes that I can get some early feedback on the new api and syntax, before releasing version 2. You can download the beta from here: http://www.netpromi.com/files/KirbyBase_Python_2.0_beta_1.zip Included in the zip file is a script, kbtest.py that has numerous examples of the new syntax. I'll try to give you a small flavor of it here: To specify a select query in the old version of KirbyBase you would do something like this: db.select('plane.tbl', ['country', 'speed'], ['USA', '> 300']) which says, "Select all planes from the US with a speed greater than 300mph. In the new version of KirbyBase you could state the query using named arguments: plane_tbl.select(country='USA', speed='> 300') or, using a dictionary: plane_tbl.select({'country': 'USA', 'speed': '> 300'}) or, you could even use a lambda, like this: plane_tbl.select(lambda r: r.country == 'USA' and r.speed > 300) I personally prefer the latter, but I realize that lambda's are quite controversial just now, so I offer alternative ways to specify select criteria. One of the cool things about using lambdas is that it gives you more power in your selects, like being able to use regular expressions and being able to use "or" logic. Anyway, this is just a small taste of the changes. The changes actually go much deeper and, I think, make the resulting api much more "Pythonic". About the only thing that hasn't changed is the table structure in the physical file (well, there is one small change, but it is easily made). It is currently a good bit slower than the current version of KirbyBase; I will work on optimizing it after the api is frozen. For those of you who have used the Ruby version of KirbyBase, this new Python version closely resembles that, while trying to be as Python-like as possible. There is no manual yet, but I think you can get a good feel for the differences by looking at kbtest.py. I would be very interested in any feedback you can give me on the new version. Jamey Cribbs jcribbs at twmi.rr.com From faltet at carabos.com Fri Jul 15 13:26:50 2005 From: faltet at carabos.com (Francesc Altet) Date: Fri, 15 Jul 2005 13:26:50 +0200 Subject: ANN: PyTables 1.1 released Message-ID: <200507151326.50804.faltet@carabos.com> ========================= Announcing PyTables 1.1 ========================= After quite a few testing iterations, the PyTables development team is happy to announce the availability of PyTables 1.1. On this version you will find support for a nice set of new features, like nested datatypes, enumerated datatypes, nested iterators (for reading only), support for native HDF5 multidimensional attributes, a new object for dealing with compressed, non-enlargeable arrays (CArray), bzip2 compression support and more. Many bugs has been addressed as well. Go to the PyTables web site for downloading the new beast: http://pytables.sourceforge.net/ or keep reading for more info about the new features and bugs fixed. Changes more in depth ===================== Improvements: - Support for nested datatypes is in place. You can now made columns of tables that host another columns for an unlimited depth (well, theoretically, in practice until the python recursive limit would be reached). Convenient NestedRecArray objects has been implemented as data containers. Cols and Description accessors has been improved so you can navigate on the type hierarchy very easily (natural naming is has been implemented for the task). - ``Table``, ``EArray`` and ``VLArray`` objects now support enumerated types. ``Array`` objects support opening existing HDF5 enumerated arrays. Enumerated types are restricted sets of ``(name, value)`` pairs. Use the ``Enum`` class to easily define new enumerations that will be saved along with your data. - Now, the HDF5 library is responsible to do data conversions when the datasets are written in a machine with different byte-ordering than the machine that reads the dataset. With this, all the data is converted on-the-fly and you always get native datatypes in memory. I think this approach to be more convenient in terms of CPU consumption when using these datasets. Right now, this only works for tables, though. - Added support for native HDF5 multidimensional attributes. Now, you can load native HDF5 files that contains fully multidimensional attributes; these attributes will be mapped to NumArray objects. Also, when you save NumArray objects as attributes, they get saved as native HDF5 attributes (before, NumArray attributes where pickled). - A brand-new class, called CArray, has been introduced. It's mainly like an Array class (i.e. non-enlargeable), but with compression capabilities enabled. The existence of CArray also allows PyTables to read native HDF5 chunked, non-enlargeable datasets. - Bzip2 compressor is supported. Such a support was already in PyTables 1.0, but forgot to announce it. - New LZO2 (http://www.oberhumer.com/opensource/lzo/lzonews.php) compressor is supported. The installer now recognizes whether LZO1 or LZO2 is installed, and adapts automatically to it. If both are installed in your system, then LZO2 is chosen. LZO2 claims to be fully compatible (both backward and forward) with LZO1, so you should not experience any problem during this transition. - The old limit of 256 columns in a table has been released. Now, you can have tables with any number of columns, although if you try to use a too high number (i.e. > 1024), you will start to consume a lot of system resources. You have been warned!. - The limit in the length of column names has been released also. - Nested iterators for reading in tables are supported now. - A new section in tutorial about how to modify values in tables and arrays has been added to the User's Manual. Backward-incompatible changes: - None. Bug fixes: - VLArray now correctly updates the number of rows internal counter when opening an existing VLArray object. Now you can add new rows to existing VLA's without problems. - Tuple flavor for VLArrays now works as intended, i.e. reading VLArray objects will always return tuples even in the case of multidimensional Atoms. Before, this operations returned a mix of tuples and lists. - If a column was not able to be indexed because it has too few entries, then _whereInRange is called instead of _whereIndexed. Fixes #1203202. - You can call now Row.append() in the middle of Table iterators without resetting loop counters. Fixes #1205588. - PyTables used to give a segmentation fault when removing the last row out of a table with the table.removeRows() method. This is due to a limitation in the HDF5 library. Until this get fixed in HDF5, a NotImplemented error is raised when trying to do that. Address #1201023. - You can safely break a loop over an iterator returned by Table.where(). Fixes #1234637. - When removing a Group with hidden child groups, those are effectively closed now. - Now, there is a distinction between shapes 1 and (1,) in tables. The former represents a scalar, and the later a 1-D array with just one element. That follows the numarray convention for records, and makes more sense as well. Before 1.1, shapes 1 and (1,) were represented by an scalar on disk. Known bugs: - Classes inheriting from IsDescription subclasses do not inherit columns defined in the super-class. See SF bug #1207732 for more info. - Time datatypes are non-portable between big-endian and little-endian architectures. This is ultimately a consequence of a HDF5 limitation. See SF bug #1234709 for more info. Important note for MacOSX users =============================== UCL compressor seems to work badly on MacOSX platforms. Until the problem would be isolated and eventually solved, UCL will not be compiled by default on MacOSX platforms, even if the installer finds it in the system. However, if you still want to get UCL support on MacOSX, you can use the --force-ucl flag in setup.py. Important note for Python 2.4 and Windows users =============================================== If you are willing to use PyTables with Python 2.4 in Windows platforms, you will need to get the HDF5 library compiled for MSVC 7.1, aka .NET 2003. It can be found at: ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/bin/windows/5-164-win-net.ZIP Users of Python 2.3 on Windows will have to download the version of HDF5 compiled with MSVC 6.0 available in: ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/bin/windows/5-164-win.ZIP What it is ========== **PyTables** is a package for managing hierarchical datasets and designed to efficiently cope with extremely large amounts of data (with support for full 64-bit file addressing). It features an object-oriented interface that, combined with C extensions for the performance-critical parts of the code, makes it a very easy-to-use tool for high performance data storage and retrieval. Perhaps its more interesting feature is that it optimizes memory and disk resources so that data take much less space (between a factor 3 to 5, and more if the data is compressible) than other solutions, like for example, relational or object oriented databases. Besides, PyTables I/O for table objects is buffered, implemented in C and carefully tuned so that you can reach much better performance with PyTables than with your own home-grown wrappings to the HDF5 library. PyTables sports indexing capabilities as well, allowing doing selections in tables exceeding one billion of rows in just seconds. Where can PyTables be applied? ============================== PyTables is not designed to work as a relational database competitor, but rather as a teammate. If you want to work with large datasets of multidimensional data (for example, for multidimensional analysis), or just provide a categorized structure for some portions of your cluttered RDBS, then give PyTables a try. It works well for storing data from data acquisition systems (DAS), simulation software, network data monitoring systems (for example, traffic measurements of IP packets on routers), very large XML files, or for creating a centralized repository for system logs, to name only a few possible uses. What is a table? ================ A table is defined as a collection of records whose values are stored in fixed-length fields. All records have the same structure and all values in each field have the same data type. The terms "fixed-length" and "strict data types" seem to be quite a strange requirement for a language like Python that supports dynamic data types, but they serve a useful function if the goal is to save very large quantities of data (such as is generated by many scientific applications, for example) in an efficient manner that reduces demand on CPU time and I/O resources. What is HDF5? ============= For those people who know nothing about HDF5, it is a general purpose library and file format for storing scientific data made at NCSA. HDF5 can store two primary objects: datasets and groups. A dataset is essentially a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. Using these two basic constructs, one can create and store almost any kind of scientific data structure, such as images, arrays of vectors, and structured and unstructured grids. You can also mix and match them in HDF5 files according to your needs. Platforms ========= We are using Linux on top of Intel32 as the main development platform, but PyTables should be easy to compile/install on other UNIX machines. This package has also been successfully compiled and tested on a FreeBSD 5.4 with Opteron64 processors, a UltraSparc platform with Solaris 7 and Solaris 8, a SGI Origin3000 with Itanium processors running IRIX 6.5 (using the gcc compiler), Microsoft Windows and MacOSX (10.2 although 10.3 should work fine as well). In particular, it has been thoroughly tested on 64-bit platforms, like Linux-64 on top of an Intel Itanium, AMD Opteron (in 64-bit mode) or PowerPC G5 (in 64-bit mode) where all the tests pass successfully. Regarding Windows platforms, PyTables has been tested with Windows 2000 and Windows XP (using the Microsoft Visual C compiler), but it should also work with other flavors as well. Web site ======== Go to the PyTables web site for more details: http://pytables.sourceforge.net/ To know more about the company behind the PyTables development, see: http://www.carabos.com/ Share your experience ===================== Let us know of any bugs, suggestions, gripes, kudos, etc. you may have. ---- **Enjoy data!** -- The PyTables Team From simon at unisolve.com.au Wed Jul 13 06:12:24 2005 From: simon at unisolve.com.au (Simon Taylor) Date: Wed, 13 Jul 2005 14:12:24 +1000 Subject: Australian Open Source Developers' Conference Message-ID: Announcement: OSDC 2005 is up and running. The second Australian OSDC (Open Source Developers' Conference) will be held on the 5th, 6th and 7th of December 2005 at Monash University in Melbourne. The 2004 Conference was an outstanding success with over 160 delegates attending, including a significant number from interstate and overseas. The quality of presentations and general enthusiasm of the attendees confirmed the growing reputation and strength of open source development in Australia. Most of last year's attendees plan to attend the conference again in 2005. In 2005, OSDC will be even bigger and better. OSDC is a great opportunity for open source devotees to attend an affordable conference where the main focus is software development. Companies and other organisations will find the conference an ideal avenue for providing professional development for staff, identifying trends and partners and promoting their services. The conference web site is: http://www.osdc.com.au From stuff at mailzilla.net Fri Jul 15 22:58:04 2005 From: stuff at mailzilla.net (stuff@mailzilla.net) Date: 15 Jul 2005 13:58:04 -0700 Subject: ReleaseForge 0.9.1 - A SourceForge & Freshmeat release tool Message-ID: <1121461084.040227.310370@g14g2000cwa.googlegroups.com> ReleaseForge 0.9.1 is now available for immediate download at: http://releaseforge.sourceforge.net ------------------------------------------------------- About ReleaseForge 0.9.1: - ReleaseForge now attempts to "guess" the SourceForge CPU (Processor) type of each file added to a release based on it's filename. - A batch update facility was added which allows the user to quickly modify the status (hidden or active) of multiple releases. - Context sensitive menus (right-click) have been added to the main window\'s projects & packages (listviews). - ReleaseForge now also checks for Windows $HOMEDRIVE & $HOMEPATH environment variables on startup if $HOME is not found. ------------------------------------------------------- About ReleaseForge: ReleaseForge is a GUI application designed for project administrators and release engineers of projects that are hosted at SourceForge. It is intended to make it easier and faster to create a new release and edit existing releases rather than using the SourceForge Web interface. ReleaseForge streamlines the release effort by prompting you for information regarding your new release (version info, change log, release notes, files to include, etc). It then seamlessly negotiates with the SourceForge Web server, creating your release, posting your release notes/change log, uploading your files to the SourceForge FTP server, selecting the files for inclusion in your release on the SourceForge Web server, updating the file attributes of each of the files and then, if appropriate, notifying monitoring users of the new release. ReleaseForge also includes support for posting Freshmeat news announcements and SourceForge project news announcements. ------------------------------------------------------- http://releaseforge.sourceforge.net From zathras at thwackety.com Fri Jul 15 22:26:05 2005 From: zathras at thwackety.com (Michael Sparks) Date: Fri, 15 Jul 2005 22:26:05 +0200 Subject: Kamaelia Talk & Mini Sprint at Open Tech 2005, London, July 23 Message-ID: <42d829f1$0$2895$ed2e19e4@ptn-nntp-reader04.plus.net> Hi, Apologies first to those outside the UK... Open Tech 2005* is a follow on from previous years' NotCon events which are community driven low cost events by geeks & developers for geeks & developers. (Much like Pycon & Europython but much more general in nature) Website: http://www.ukuug.org/events/opentech2005/ Where/When: Hammersmith, London, UK, July 23rd The reason I'm posting about it is because I'm going to be talking about Kamaelia there. Unlike Python UK & Europython this is going to be a 15 minute talk, so I'll be focussing on what we've been doing with Kamaelia, what you can do with Kamaelia, and so on rather than going through internals. In addition since my talk on Kamaelia is before lunch, I'd really like to help people get started using Kamaelia (this really the point of giving talks!), so I'm going to be running a small ad-hoc/mini sprint that afternoon. There's a variety of possible sprintable things ranging from how to put together simple Kamaelia systems through to using Kamaelia for simplifying networking on Nokia mobiles through to using Kamaelia for writing games (since we have some nice Pygame based components now). I'll probably be sprinting on converting a proof of concept P2P swarming algorithm into a protocol for creating TCP server swarms. This is for joining together multicast islands to make it so that internet broadcasting, rather than narrowcasting, can become a reality for the BBC - which has clear benefits for everyone! (Even though the internet is not TV :) Kamaelia is designed to be able to picked up relatively quickly/easily, but having a working knowledge of python is probably a necessity. If you're interested, please let me know! (Either before, or at Open Tech :) Sprint Info: http://kamaelia.sourceforge.net/OpenTech2005.html Best Regards, Michael. -- Michael.Sparks at rd.bbc.co.uk, http://kamaelia.sourceforge.net/ British Broadcasting Corporation, Research and Development Kingswood Warren, Surrey KT20 6NP This message (and any attachments) may contain personal views which are not the views of the BBC unless specifically stated. From inigoserna at terra.es Sat Jul 16 23:49:01 2005 From: inigoserna at terra.es (=?ISO-8859-1?Q?I=F1igo?= Serna) Date: Sat, 16 Jul 2005 23:49:01 +0200 Subject: ANN: MyNewspaper-1.0 Message-ID: <1121550542.29657.10.camel@inigo.katxi.org> Hi there, I'm really pleased to announce the first public release of MyNewspaper. MyNewspaper is a personal RSS Aggregator and Reader, licensed under GPL. Why? As everybody says, I couldn't find any which fulfills all my requirements. In fact I used liferea and was pretty happy with it, but it eats lot of memory when you have many feeds and the program is running for much time, but the main problem was that it's a desktop program and I couldn't read the feeds from the work. So I started writing my own RSS aggregator and reader. MyNewspaper is written in Python with a bit of javascript and uses sqlite as permanent storage for the articles. It is installed as a CGI, so in order to use and manage it you need a web browser and a web server. Feeds are updated by a command run by cron or from the WebUI. Read more and download it from: http://inigo.katxi.org/devel/mynewspaper or http://www.terra.es/personal7/inigoserna/mynewspaper Of course, all comments, suggestions etc. are welcome. And yes, I know code is really awful now, but I wanted to make a public release to get some feedback while improving the code. 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: This is a digitally signed message part Url : http://mail.python.org/pipermail/python-announce-list/attachments/20050716/e2de7a84/attachment.pgp From alberanid at libero.it Sun Jul 17 10:56:10 2005 From: alberanid at libero.it (Davide Alberani) Date: Sun, 17 Jul 2005 08:56:10 GMT Subject: IMDbPY 2.0 released Message-ID: <6v5dbd.fk4.ln@snoopy.mio> IMDbPY 2.0 is available (tgz, deb, rpm, exe) from: http://imdbpy.sourceforge.net/ IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about both movies and people. This is mostly a bug-fix release; amongst the few new features, the ability to retrieve the "recommendations" and the "plot outline" information. Platform-independent and written in pure Python (and few C lines), it can retrieve data from both the IMDb's web server and a local copy of the whole database. IMDbPY package can be very easily used by programmers and developers to provide access to the IMDb's data to their programs. Some simple example scripts are included in the package; other IMDbPY-based programs are available from the home page. -- Davide Alberani [PGP KeyID: 0x465BFD47] http://erlug.linux.it/~da/ From frank at niessink.com Sun Jul 17 20:35:08 2005 From: frank at niessink.com (Frank Niessink) Date: Sun, 17 Jul 2005 20:35:08 +0200 Subject: [ANN] Release 0.42 of Task Coach Message-ID: <42DAA4DC.6040409@niessink.com> Hi all, Hi all, I'm pleased to announce release 0.42 of Task Coach. New in this release: Bugs fixed: * Double clicking a task with children in the tree view would open the edit dialog and expand or collapse the task as well. Fixed to not collapse or expand the task when double clicking it. * Adding a subtask to a collapsed parent task now automatically expands the parent task. * Changing the description of a task or effort record wouldn't mark the task file as changed. * Time spent is now updated every second. * Don't try to make a backup when loading the file fails. Reported by Scott Schroeder. * (Windows installer only) Association between .tsk files and Task Coach was broken. Feature changed: * The start date of a task can now be left unset, creating a task that is permanently inactive. This can be useful for activities that you would normally not want to plan, but have to keep a time record for, e.g. sickness. 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 richardjones at optushome.com.au Mon Jul 18 05:34:54 2005 From: richardjones at optushome.com.au (Richard Jones) Date: Mon, 18 Jul 2005 13:34:54 +1000 Subject: Roundup Issue Tracker release 0.8.4 Message-ID: <200507181334.54318.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.4 release fixes some bugs: Fixed: - extra CRs in CSV export files on Windows platform (sf bug 1195742) - activity RDBMS columns were being reported in changes - fix name collision in roundup.cgi script (sf bug 1203795) - fix handling of invalid interval input - search locale files relative ro roundup installation path (sf bug 1219689) - use translation for boolean property rendering (sf bug 1225152) - enabled disabling of REMOTE_USER for when it's not a valid username (sf bug 1190187) - fix invocation of hasPermission from templating code (sf bug 1224172) - have 'roundup-admin security' display property restrictions (sf bug 1222135) - fixed templating menu() sort_on handling (sf bug 1221936) - allow specification of pagesize, sorting and filtering in "classhelp" popups (sf bug 1211800) - handle dropped properies in rdbms/metakit journal export (sf bug 1203569) - handle missing Subject lines better (sf bug 1198729) - sort/group by missing values correctly (sf bugs 1198623, 1176897) - discard, don't bounce messages to the mailgw when the messages's sender is invalid (ie. when we try to bounce, we get a 550 "unknown user account" response from the SMTP server) (sf bug 1190906) - removed debugging code from cgi/actions.py - refactored hyperdb.rawToHyperdb, allowing a number of improvements (thanks Ralf Schlatterbeck) - don't try to set a timeout for IMAPS (thanks Paul Jimenez) - present Reject exception messages to web users (sf bug 1237685) 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 agreen at cirrustech.com.au Mon Jul 18 08:03:54 2005 From: agreen at cirrustech.com.au (Alan Green) Date: Mon, 18 Jul 2005 16:03:54 +1000 Subject: Sydney Python Meetup July 21: Python, Perl, and Cold Beverages Message-ID: <42DB464A.3010502@cirrustech.com.au> Date: Thursday July 21 Time: 6:00pm-8:30pm, with drinks and food during and after. Topics: Graham Dumpleton on The Vampire mod_python extension Paul Fenwick "So you want to start a business?" Place: James Squires Brewhouse 2 The Promenade, King St Wharf Sydney Fee: $0.00 The Sydney Python meetup group is on this Thursday. The meeting time has been brought forward half an hour, and the formal part of the evening will commence promptly at 6:30pm. The James Squires Brewhouse managed to book the Python Meetup Group and the Perl Mongers in adjoining rooms for the same night. Everybody has promised to be nice and we'll be combining with them to hear from one of their Melbourne gurus. As always, everybody is welcome. Graham Dumpleton, author of Vampire, will be speaking first (6:30-7:30). He describes his presentation thusly: "Although I'll talk a bit about the motivations behind writing Vampire and why this extra layer on top of mod_python is useful, what I want to talk about more is what I have learnt from writing Vampire. From that I would like to go on to describe a new and better way of doing this same thing for mod_python that Vampire attempted to do. This new approach moves even further away from the monolithic framework approach towards small building blocks of functionality that can be slotted together to build up a web application how you want it and not how some framework dictates you should do it." More information on Vampire can be found at http://www.dscpl.com.au/projects/vampire/ Paul Fenwick of the Melbourne Perl Mongers will also be speaking (7:30-8:30). His talk, "So you want to start a business", will be presented at the SAGE-AU conference later this year, and an abstract can be found online at http://www.sage-au.org.au/conf/sage-au2005/speakers.html#fenwickabs From grig.gheorghiu at gmail.com Mon Jul 18 21:11:54 2005 From: grig.gheorghiu at gmail.com (Grig Gheorghiu) Date: 18 Jul 2005 12:11:54 -0700 Subject: SoCal Piggies meeting: Thu. July 21st at 7PM Message-ID: <1121713914.338963.215940@f14g2000cwb.googlegroups.com> The next meeting of the SoCal Python Interest Group will be at USC this Thursday July 21st at 7 PM. Directions to the meeting are available on the group's wiki: I'll be presenting an overview of the py library, with an emphasis on py.test. Grig From gustavo at niemeyer.net Tue Jul 19 22:52:56 2005 From: gustavo at niemeyer.net (Gustavo Niemeyer) Date: Tue, 19 Jul 2005 17:52:56 -0300 Subject: [ANN] python-dateutil 1.0 Message-ID: <20050719205256.GA20755@burma.localdomain> Changes since 0.9 ----------------- * Fixing parsing of XXhXXm formatted time after day/month/year has been parsed. * Adding patch by Jeffrey Harris optimizing rrule.__contains__. What is it? ----------- The dateutil module provides powerful extensions to the standard datetime module, available in Python 2.3+. Features -------- * Computing of relative deltas (next month, next year, next monday, last week of month, and a lot more); * Computing of relative deltas between two given date and/or datetime objects; * Computing of dates based on very flexible recurrence rules (every month, every week on Thursday and Friday, every Friday 13th, and a *LOT* more), using a superset of the iCalendar RFC specification. Parsing of RFC strings is supported as well. * Generic parsing of dates in almost any string format; * Timezone (tzinfo) implementations for tzfile(5) format files (/etc/localtime, /usr/share/zoneinfo, etc), TZ environment string (in all known formats), iCalendar format files, given ranges (with help from relative deltas), local machine timezone, fixed offset timezone, UTC timezone, and Windows registry-based timezones. * Internal up-to-date world timezone information based on Olson's database. * Computing of Easter Sunday dates for any given year, using Western, Orthodox or Julian algorithms; * More than 400 test cases. Where to get it? ---------------- https://moin.conectiva.com.br/DateUtil -- Gustavo Niemeyer http://niemeyer.net From frank at niessink.com Wed Jul 20 00:22:18 2005 From: frank at niessink.com (Frank Niessink) Date: Wed, 20 Jul 2005 00:22:18 +0200 Subject: [ANN] Release 0.43 of Task Coach Message-ID: <42DD7D1A.90800@niessink.com> Hi all, Unfortunately, release 0.42 of Task Coach introduced a bug, causing Task Coach to not update information correctly in the tree and list view. Release 0.43 is meant to fix that. Bug fixed: * Tree and list view were not updated correctly when changing sort key or sort order, or marking tasks completed. 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 anthony at osdc.com.au Wed Jul 20 12:30:01 2005 From: anthony at osdc.com.au (Anthony Baxter) Date: Wed, 20 Jul 2005 20:30:01 +1000 Subject: OSDC 2005 Call For Papers Message-ID: <200507202030.04356.anthony@osdc.com.au> [Please feel free to pass this on to any other people you think might be interested in submitting a paper! thanks] (Web page: http://osdc2005.cgpublisher.com/cfp.html) OSDC (Open Source Developers Conference) is a grass-roots/low cost conference in the style of a YAPC or PyCon. It's organised for developers, by developers, and we're looking for papers on open source languages, technologies and tools. The conference will be held in Melbourne (Monash University's Caulfield Campus) from the 5th til the 7th of December, 2005. Last years conference had about 160 people and around 60 papers, on a range of topics (including a Python track) - see http://www.osdc.com.au/papers/2004.html for a list. This list might also be useful if you're looking for ideas on what sort of thing would be appropriate. To submit a proposal, get yourself to the www.osdc.com.au website, and hit the 'Call for papers' link, or go directly to the paper submission website at http://osdc2005.cgpublisher.com/cfp.html Key Dates: Proposals deadline 19th August 2005 Proposal acceptance 12th September 2005 Submission deadline 28th October 2005 Final version for proceedings 15th November 2005 Conference 5th - 7th December 2005 Hope to see you there! Anthony -- Anthony Baxter OSDC 2005 Program Chair From fabioz at esss.com.br Wed Jul 20 18:23:24 2005 From: fabioz at esss.com.br (Fabio Zadrozny) Date: Wed, 20 Jul 2005 13:23:24 -0300 Subject: ANN: PyDev 0.9.6 released Message-ID: <42DE7A7C.1020105@esss.com.br> Hi All, PyDev - Python IDE (Python Development Enviroment for Eclipse) version 0.9.6 has just been released. This is to be considered a stable release for all features but the debugger, as there are still some integration issues for it to work with Eclipse 3.1, so, if you are using PyDev because of its debugger support, you should stick to version 3.0.x until those issues are fixed. Check the homepage (http://pydev.sourceforge.net/) for more details. The major release highlights is that it Eclipse 3.1 is now supported. Older versions of Eclipse are no longer supported. Regards, -- 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 Jul 20 22:28:21 2005 From: python-url at phaseit.net (Simon Brunning) Date: Wed, 20 Jul 2005 20:28:21 +0000 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jul 20) Message-ID: QOTW: "Discussing goto statements and Microsoft together is like mixing dynamite and gasoline." - DH '"Spaghetti" doesn't quite describe it. I've settled on "Lovecraftian": reading the code, you can't help but get the impression of writhing tentacles and impossible angles.' - Robert Kern Highlight of the week; Jython 2.2a1: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/9c3b6b2e10d8a490 Nearly-highlight of the week; Simon Willison introduces Django, the web framework for perfectionists with deadlines: http://simon.incutio.com/archive/2005/07/17/django But Jeff Shell remains more impressed with Subway: http://griddlenoise.blogspot.com/2005/07/python-off-rails.html CherryPy-2.1.0-beta released: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/18f2e97ab515891 With all this web framework activity, what are people using? http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/63bdf6b93e1704d3 Bob Ippolito wonders; what happened to YAML? http://bob.pythonmac.org/archives/2005/07/19/what-happened-to-yaml/ MKoool (!) is looking for the simplest way of stripping non-printable characters from text: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/23d6fdc3c9148725 Discovering WSGI and XSLT as middleware http://www.decafbad.com/blog/2005/07/18/discovering_wsgi_and_xslt_as_middleware Is there any worthwhile Python certification available? Is there any worthwhile certification at all? http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/49dc79507ca4567d Microsoft's very own Python scripts: http://www.microsoft.com/technet/scriptcenter/scripts/python/pyindex.mspx Another notable release; python-dateutil 1.0: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/7d0f044f1a3c8959 ======================================================================== 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/topics/pythonurl/ (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 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 s_t_a_n_i at gmx.net Thu Jul 21 02:22:25 2005 From: s_t_a_n_i at gmx.net (s_t_a_n_i@gmx.net) Date: 20 Jul 2005 17:22:25 -0700 Subject: ANN: SPE 0.7.4.a Python IDE Message-ID: <1121905345.306904.3010@o13g2000cwo.googlegroups.com> Quick release for wxPython2.6, use at your own risk Major bugfix release for wxPython 2.6+ and Mac Os X (This version doesn't work for sure with wxPython versions lower than 2.5.4.1) Bug reports which are related to wxPython 2.6- will be ignored. SPE has a new website: http://www.stani.be/python/blog Update your bookmarks! --------------------------------------------- :Contribute: - packagers for Linux and Mac Os X - patches - doc writers and translators - SVN development - donations --------------------------------------------- :New Features: - editor: call-tips for classes - preferences: configurable shortcuts (see shortcuts/__init__.py) - preferences: word characters for autocompletion and calltips - sidebar: improved browser with filters - sidebar: realtime updating now works ----------------------------------------------- :Bug fixes: - major bugfix for wxpython 2.6+ - major bugfix for Mac OS X - notebooksizer deprecations - blender: support only exposed if run inside blender - editor: autocompletion (case sensitive) - editor: correctly scrolling to lines - editor: encoding - editor: improved call tips for classes - editor: no sash, no crash - editor: save checks if file exists - editor: scrollbars (no invisible source anymore) - editor: source gets focus properly - editor: find dialog gets focus if already opened - editor: shortcut for dedent is now Shift+Tab - preferences: added word characters - sdi: Tool pane has no toolbar - shell: pressing Tab no longer inserts a tab in the editor - sidebar: realtime updating - tool: find now also executes on enter - tool: find doesn't use notebooksizer anymore - tool: find now also executes on enter (Yoyong Hernan) - tool: browser add new folder starts from current folder (Yoyong Hernan) --------------------------------------------- :Requirements: - full python 2.3+ - wxpython 2.6+ - optional blender 2.35 -------------------------------------------------- :Donations: - Howard Jones (75 euro, thanks!) - J P Dowd (8 euro) - Mickey Hadick (5.00) From millerdev at gmail.com Thu Jul 21 06:51:42 2005 From: millerdev at gmail.com (Daniel Miller) Date: Thu, 21 Jul 2005 00:51:42 -0400 Subject: AOPython 1.0 Message-ID: <42DF29DE.1080808@gmail.com> I've written a small AOP module for Python called aopython: Aspect Oriented Python. Read about it (as I write more in the future): http://www.openpolitics.com/daniel/ Download the source: http://www.openpolitics.com/daniel/archives/aopython-v1.0.zip

AOPython 1.0 - Aspect Oriented Python (21-Jul-05)

-- ~ Daniel Miller millerdev at gmail.com From abpillai at gmail.com Thu Jul 21 20:30:35 2005 From: abpillai at gmail.com (Anand) Date: 21 Jul 2005 11:30:35 -0700 Subject: ANN: HarvestMan 1.4.5 a2 Message-ID: <1121970635.724855.33050@z14g2000cwz.googlegroups.com> I am glad to announce that the second alpha release of HarvestMan 1.4.5 version is available for download. The first alpha of version 1.4.5 was released on May 27 2005. HarvestMan [http://harvestman.freezope.org] is a multithreaded web crawler program written entirely in Python. It has many features which allows you to highly customize your www crawling/offline downloading. HarvestMan features as much as 60+ configuration options. Options are configured using a custom XML configuration file. Here are some changes for this release. o Use of collections.deque data structure in critical places. This improves the performance of the program when run with Python 2.4 . o Improved HTTP redirect handler to take care of redirect handling that requires cookies. o A number of bug fixes to reduce invalid url (HTTP 404) errors. o Code cleanup to rewrite exception handlers. o Obsolte modules removed. Complete changelog at http://harvestman.freezope.org /files/Changelog.txt . WWW: http://harvestman.freezope.org . -Anand From philippe at philippecmartin.com Thu Jul 21 19:50:03 2005 From: philippe at philippecmartin.com (Philippe C. Martin) Date: Thu, 21 Jul 2005 17:50:03 GMT Subject: SCF 1.2b1 released Message-ID: I am very please to announce the release of SCF 1.2b1 a Smart Card development system designed in Python: Two major features are being introduced: 1) Support for BasicCard DES/3/DES/AES secure messaging (Beta release 1) . 2) COM Support: access the power of SCF from Visual Basic or your favorite Windows? language! SCF COM extension is provided as source code so extensions can be applied by the programers. SCF is available on www.snakecard.com for download and free testing. You may also browse the reference guide online. Best regards, Philippe Martin From frank at niessink.com Thu Jul 21 23:20:19 2005 From: frank at niessink.com (Frank Niessink) Date: Thu, 21 Jul 2005 23:20:19 +0200 Subject: [ANN] Release 0.44 of Task Coach Message-ID: <42E01193.3090701@niessink.com> Hi all, I'm pleased to announce release 0.44 of Task Coach. New in this release: Feature added: * Added Russian translation thanks to Valdimir Ilyash. 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 jbellis at gmail.com Fri Jul 22 05:34:06 2005 From: jbellis at gmail.com (Jonathan Ellis) Date: 21 Jul 2005 20:34:06 -0700 Subject: ANN: Spyce 2.0.3 Message-ID: <1122003246.315303.165010@z14g2000cwz.googlegroups.com> Spyce 2.0.3 released Spyce is a python web application server, combining features of popular frameworks such as ASP.NET and JSP with Pythonic elegance. Spyce may be deployed as a standalone server, proxied behind Apache, under mod_python, FastCGI, or CGI. Spyce 2.0 includes features unique to Python web frameworks such as Active Handlers - reusable components without the leaky abstractions seen in ASP.NET et al. - http://spyce.sourceforge.net/docs/doc-lang_handlers.html Active Tag compiler - http://spyce.sourceforge.net/docs/doc-tag_new2.html 2.0.3 is a bugfix and documentation-improvement release. The installation section of the manual has received particular attention. There is also the new section on starting your first project (http://spyce.sourceforge.net/docs/doc-conf_next.html), which answers the FAQ, "how do I organize my Spyce files." Demos and downloads are available at http://spyce.sourceforge.net/. Changelog is at http://svn-hosting.com/svn/spyce/trunk/spyce/CHANGES. Jonathan Ellis http://spyced.blogspot.com From bvdp at uniserve.com Fri Jul 22 22:07:39 2005 From: bvdp at uniserve.com (Bob van der Poel) Date: Fri, 22 Jul 2005 13:07:39 -0700 Subject: mma - Musical MIDI Accompaniment: Beta 0.15 Message-ID: <11e2kaj488qkk3d@corp.supernews.com> I'm pleased to announce the release of my program mma - Musical MIDI Accompaniment version: Beta 0.15 MMA is a accompaniment generator -- it creates midi tracks for a soloist to perform with. User supplied files contain pattern selections, chords, and MMA directives. MMA is very versatile and generates excellent tracks. It comes with an extensive user-extendable library with a variety of patterns for various popular rhythms, an extensive user manual, and many demo songs. MMA is a command line driven program. It creates MIDI files which need a sequencer or MIDI file play program. MMA is written in Python. You'll need Python 2.3 (or later) for MMA to function. MMA is supplied in 4 tar.gz archives. Included: mma-bin -- the main script and library files. mma-html -- documentation in HTML format. mma-pdf -- documentation in PDF format. mma-songs -- a collection of about 230 songs in MMA format. If you get all four download packages the total size is still less than 1.5 megabytes. MMA is currently in final BETAs. We are hoping for a 1.0 release in summer 2005. Right now we need help in debugging the program, creating songs for distribution, and new and improved library files. Best of all, MMA is free. It is released under the terms of the GNU General Public License. It has been developed on a Linux platform, but should be usable on just about any system. A detailed page now exists on our web site on how-to install on a Windows system. MMA is available on my personal home page: http://mypage.uniserve.com/~bvdp/mma/ If you have any questions or comments, please send them to: bvdp at uniserve.com Beta 0.15: A number of synth translation options have been added, chord voicings improved, more chord adjustment options, and a lot of minor (and not-so-minor) bug fixes. Comments appreciated! -- Bob van der Poel ** Wynndel, British Columbia, CANADA ** EMAIL: bvdp at uniserve.com WWW: http://mypage.uniserve.com/~bvdp From "cyril dot jaquier at bluewin dot ch" at newsspool.solnet.ch Sat Jul 23 12:06:51 2005 From: "cyril dot jaquier at bluewin dot ch" at newsspool.solnet.ch (Cyril Jaquier) Date: Sat, 23 Jul 2005 12:06:51 +0200 Subject: [ANN] Fail2Ban 0.5.1 Message-ID: <42e216bb$0$145$fb624d75@newsspool.solnet.ch> Hi, The version 0.5.1 of Fail2Ban is available. "Fail2Ban is written in Python. It scans log files like /var/log/pwdfail or /var/log/apache/error_log and bans IP that makes too many password failures. It updates firewall rules to reject the IP address." This release fixes bugs discovered in 0.5.0 and add multi targets for the log output including syslog. Default config creates an iptables chain for each section. Please do not forget to remove your previous 0.4.x version before upgrading to 0.5.x and update your configuration file. fail2ban-0.5.1 is still an unstable version but should work perfectly. Homepage: http://fail2ban.sourceforge.net Best Regards, Cyril Jaquier From jeremysanders at gmail.com Sat Jul 23 19:15:45 2005 From: jeremysanders at gmail.com (Jeremy Sanders) Date: Sat, 23 Jul 2005 18:15:45 +0100 Subject: ANN: Veusz 0.7 - a scientific plotting package Message-ID: Veusz 0.7 --------- Velvet Ember Under Sky Zenith ----------------------------- http://home.gna.org/veusz/ Veusz is a scientific plotting package written in Python (currently 100% 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.6: Please refer to ChangeLog for all the changes. Highlights include: * 2D image support * FITS file data import (1D + 2D) with PyFITS module * Support for line separated blocks of data when importing * Reversed axes supported * Key length option * Linked dataset reload UI * Plot functions over specific range * Several UI improvements Features of package: * X-Y plots (with errorbars) * 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: * Contour plots * 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 (free edition) http://www.trolltech.com/products/qt/ PyQt (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). Cheers Jeremy From inigoserna at terra.es Sun Jul 24 11:59:00 2005 From: inigoserna at terra.es (=?ISO-8859-1?Q?I=F1igo?= Serna) Date: Sun, 24 Jul 2005 11:59:00 +0200 Subject: ANN: MyNewspaper 1.2 Message-ID: <1122199140.25854.10.camel@inigo.katxi.org> Hi there, I'm really pleased to announce the second public release of MyNewspaper. MyNewspaper v1.2: "faster (25-35%), cleaner (100%), smaller(69%) and even more robust(100%)". If you liked the first version but thought... uhmm it's buggy and slow, then this is your release. In fact first version was a proof of concept to get some attention and feedback. What is MyNewspaper after all? ============================== MyNewspaper is a personal RSS Aggregator and Reader, licensed under GPL. Why? As everybody says, I couldn't find any which fulfills all my requirements. In fact I used liferea and was pretty happy with it, but it eats lot of memory when you have many feeds and the program is running for much time, but the main problem was that it's a desktop program and I couldn't read the feeds from the work. So I started writing my own RSS aggregator and reader. MyNewspaper is written in Python with a bit of javascript and uses sqlite as permanent storage for the articles. From v1.2 up sqlobject is used as an abstraction layer for database access, so it would be very easy to support other database engines. It is installed as a CGI, so in order to use and manage it you need a web browser and a web server. Feeds are updated by a command run by cron or from the WebUI. Changes ======= v1.2: "faster (25-35%), cleaner (100%), smaller(69%) and even more robust(100%)" * a major rewrite and clean up of the whole code * uses sqlobject as database abstraction layer * uses Cheetah Template as html template * generated html is valid now * bugs fixing IMPORTANT NOTE to upgrade from v1.0: * download and install sqlobject and Cheetah Template * copy all the needed files to the directory overwriting old ones * you need to upgrade db: $ cd /path_to/mynewspaper $ ./migrate_db.py Home page and download ====================== Read more and download it from: http://inigo.katxi.org/devel/mynewspaper or http://www.terra.es/personal7/inigoserna/mynewspaper Of course, all comments, suggestions etc. are welcome. And yes, I know code is really awful now, but I wanted to make a public release to get some feedback while improving the code. 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: This is a digitally signed message part Url : http://mail.python.org/pipermail/python-announce-list/attachments/20050724/d1ecfbd6/attachment.pgp From ptmcg at austin.rr.com Mon Jul 25 02:27:07 2005 From: ptmcg at austin.rr.com (Paul McGuire) Date: 24 Jul 2005 17:27:07 -0700 Subject: pyparsing 1.3.2 released Message-ID: <1122251227.039255.305410@g43g2000cwa.googlegroups.com> "The best laid plans o' mice an' men / Gang aft a-gley" So said Robert Burns (who really should do something about that speech impediment!). And so said I about 6 weeks ago, when I thought that I would leave pyparsing alone for awhile, after the 1.3.1 release. Well, here we are, and I'm announcing the 1.3.2 release, with some changes that I'd like to get released quickly. Here is the excerpt from the change log: Version 1.3.2 - July 24, 2005 ----------------------------- - Added Each class as an enhanced version of And. 'Each' requires that all given expressions be present, but may occur in any order. Special handling is provided to group ZeroOrMore and OneOrMore elements that occur out-of-order in the input string. You can also construct 'Each' objects by joining expressions with the '&' operator. When using the Each class, results names are strongly recommended for accessing the matched tokens. (Suggested by Pradam Amini - thanks, Pradam!) - Stricter interpretation of 'max' qualifier on Word elements. If the 'max' attribute is specified, matching will fail if an input field contains more than 'max' consecutive body characters. For example, previously, Word(nums,max=3) would match the first three characters of '0123456', returning '012' and continuing parsing at '3'. Now, when constructed using the max attribute, Word will raise an exception with this string. - Cleaner handling of nested dictionaries returned by Dict. No longer necessary to dereference sub-dictionaries as element [0] of their parents. === NOTE: THIS CHANGE MAY BREAK SOME EXISTING CODE, BUT ONLY IF PARSING NESTED DICTIONARIES USING THE LITTLE-USED DICT CLASS === (Prompted by discussion thread on the Python Tutor list, with contributions from Danny Yoo, Kent Johnson, and original post by Liam Clarke - thanks all!) Download pyparsing at http://pyparsing.sourceforge.net. -- Paul ======================================== Pyparsing is a pure-Python class library for quickly developing recursive-descent parsers. Parser grammars are assembled directly in the calling Python code, using classes such as Literal, Word, OneOrMore, Optional, etc., combined with operators '+', '|', and '^' for And, MatchFirst, and Or. No separate code-generation or external files are required. Pyparsing can be used in many cases in place of regular expressions, with shorter learning curve and greater readability and maintainability. Pyparsing comes with a number of parsing examples, including: - "Hello, World!" - chemical formulas - configuration file parser - web page URL extractor - 5-function arithmetic expression parser - subset of CORBA IDL - chess portable game notation - simple SQL parser - Mozilla calendar file parser - EBNF parser/compiler From nemesis at nowhere.invalid Mon Jul 25 10:41:00 2005 From: nemesis at nowhere.invalid (Nemesis) Date: Mon, 25 Jul 2005 08:41:00 GMT Subject: [ANN] XPN 0.5.0 released Message-ID: <20050725083624.1974.99908.XPN@orion.homeinvalid> XPN (X Python Newsreader) is a multi-platform newsreader with Unicode support. It is written with Python+GTK. It has features like scoring/actions, X-Face and Face decoding, muting of quoted text, newsrc import/export, find article and search in the body, spoiler char/rot13, random taglines and configurable attribution lines. You can find it on: http://xpn.altervista.org/index-en.html or http://sf.net/projects/xpn Changes in this release: * added some checks on the validity of out-going articles, as required by the GNKSA2.0 * added Reply-To, Followup-To and Newsgroups headers in the Article Pane, as required by the GNKSA2.0 * added !setcolor action, it lets you modify the foreground and backgrounnd colors of the article. * added inverted rules, they are successfull when the match is not satisfied. * now is possible to disable the threaded view. * now sorting column in the Threads Pane is stored * the header parser has been rewritten * added double-click support when you subscribe/unsubscribe groups (thanks to Lethalman). * fixed a bug in the autowrap feature that created double lines in some circumstances. * now the "View Raw Article" is correctly stored. XPN is translated in Italian and French, if you'd like to translate it in your language and you are familiar with gettext and po-files editing please contact me (xpn at altervista.org). -- I may have my faults, but being wrong isn't one of them. |\ | |HomePage : http://nem01.altervista.org | \|emesis |XPN (my nr): http://xpn.altervista.org From fabioz at esss.com.br Tue Jul 26 15:56:58 2005 From: fabioz at esss.com.br (Fabio Zadrozny) Date: Tue, 26 Jul 2005 10:56:58 -0300 Subject: ANN: PyDev 0.9.7 released In-Reply-To: <42C175A5.5000206@esss.com.br> References: <42A720BD.5050701@esss.com.br> <42C175A5.5000206@esss.com.br> Message-ID: <42E6412A.4020905@esss.com.br> Hi All, PyDev - Python IDE (Python Development Enviroment for Eclipse) version 0.9.7 has just been released. Check the homepage (http://pydev.sourceforge.net/) for more details. Release Highlights: This build fixes some nasty bugs from 0.9.6... it is highly recommended you install it. (right now, everything but the debugger should work fine with 3.1). Important notes Note 1: Because of some issues with Eclipse, you have to uninstall all previous PyDev installations before installing the new release. Note 2: This release only works with Eclipse 3.1 (and from now on, Eclipse 3.0.x is no longer supported). Note 3: Java 5.0 is required from now on. Regards, 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 smulloni at smullyan.org Tue Jul 26 23:13:55 2005 From: smulloni at smullyan.org (Jacob Smullyan) Date: Tue, 26 Jul 2005 16:13:55 -0500 Subject: [ANN] PyDO-2.0b1 Released Message-ID: I'm pleased to announce the release of PyDO-2.0b1, the second beta release of the 2.0 series. What's New ---------- * more tests and corresponding bug fixes. What it is ---------- PyDO is Drew Csillag's ORM (Object-Relational Mapper) database access library for Python that facilitates writing a Python database access layer. PyDO attempts to be simple, flexible, extensible, and unconstraining. PyDO 2 is a rewrite of the 1.x series distributed with SkunkWeb. It has several enhancements: * PyDO can now be used in multi-threaded or twisted-style asynchronous sitations, with or without a customizable connection pool. * PyDO objects are now dict subclasses, but also support attribute access to fields. * Projections -- subsets of the field list of a super-class -- are now supported by the PyDO.project() method. * Table attributes are now declared in a more concise way. * PyDO2 supports runtime table introspection. * Overall, the API has been tightened and the code restructured. PyDO 2 requires Python 2.4 or later. It currently supports PostgreSQL, MySQL, Sqlite, MSSQL, and Oracle, and support for other databases is planned. PyDO is dual GPL/BSD licensed. The source tarball is available at SkunkWeb's berlios site: https://developer.berlios.de/projects/skunkweb/ or, more directly: http://download.berlios.de/skunkweb/PyDO-2.0b1.tar.gz Questions pertaining to PyDO can be addressed to the SkunkWeb mailing list at sourceforge: http://lists.sourceforge.net/lists/listinfo/skunkweb-list Cheers, js -- Jacob Smullyan From cyberweb at rocketmail.com Wed Jul 27 23:55:05 2005 From: cyberweb at rocketmail.com (cyberweb@rocketmail.com) Date: Wed, 27 Jul 2005 14:55:05 -0700 (PDT) Subject: ANN: Python training, 2005 Aug 29-31, San Francisco Message-ID: <20050727215505.B013DDD062@myMac.local> What: Python Programming I: Introduction to Python When: August 29-31, 2005 Where: San Francisco, CA, USA Need to get up-to-speed with Python as quickly as possible? Come join us in beautiful Northern California the week before Labor Day. We are proud to announce another rigorous Python training event taught by software engineer and "Core Python Programming" author, Wesley Chun. This is an intense introduction to Python programming geared towards those who have some proficiency in another high-level language. Topics include: * Python's Objects and Memory Model * Data Types, Operators, and Methods * Errors and Exception Handling * Files and Input/Output * Functions and Functional Programming * Modules and Packages * Classes, Methods, and Class Instances * Callable and Executable Objects This course will take place daily August 29-31, 2005 (Monday through Wednesday, 9am - 5pm) in San Bruno, CA, right near the San Francisco International Airport at the: Staybridge Suites San Francisco Airport 1350 Huntington Ave San Bruno, CA 94066 650-588-0770 This venue provides free shuttles to/from the airport and has easy access to public transit (BART, CalTrain, SamTrans) to help you get all over the Bay Area. Afterwards, feel free to enjoy the holiday weekend in the greatest city by the Bay... bring your families!! For more information and registration, just go to http://cyberwebconsulting.com and click on the "Python Training" link. If you have any questions, feel free to contact us at cyberweb-at-rocketmail.com. From michael at stroeder.com Thu Jul 28 15:24:56 2005 From: michael at stroeder.com (=?ISO-8859-1?Q?Michael_Str=F6der?=) Date: Thu, 28 Jul 2005 15:24:56 +0200 Subject: ANN: python-ldap-2.0.9 Message-ID: <42E8DCA8.7020205@stroeder.com> Find a new release of python-ldap: http://python-ldap.sourceforge.net/ python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema). ---------------------------------------------------------------- Released 2.0.9 2005-07-28 Changes since 2.0.8: Modules/ * Removed __doc__ strings from ldapcontrol.c to "fix" build problems with Python versions 2.2 and earlier. From swisher at enthought.com Thu Jul 28 20:54:20 2005 From: swisher at enthought.com (Janet M. Swisher) Date: Thu, 28 Jul 2005 13:54:20 -0500 Subject: ANN: SciPy 2005 Conf: Abstracts and early registration due 7/29/05 Message-ID: <42E929DC.2080507@enthought.com> Friday, July 29, 2005 is the deadline for abstract submission for the 2005 Scientific Computing in Python Conference, scheduled for September 22 and 23, at Caltech. More information on the conference, including abstract guidelines, can be found at The 29th is also the deadline for early registration for the conference. The early registration fee is US$100; regular registration is US$150. The conference fee includes breakfast and lunch both days, and dinner on the first day. -- Janet Swisher --- Senior Technical Writer Enthought, Inc. http://www.enthought.com From pyweek1 at mechanicalcat.net Fri Jul 29 05:04:24 2005 From: pyweek1 at mechanicalcat.net (pyweek1@mechanicalcat.net) Date: Fri, 29 Jul 2005 13:04:24 +1000 Subject: Ann: Registration for the Python Game Programming Challenge is now open! Message-ID: <200507291304.25241.pyweek1@mechanicalcat.net> Registration is now open for the first Python Game Programming Challenge (also known as PyWeek). The challenge runs from Sunday August 28th to Sunday September 4th. That means there's only (checks website) 29 days to go before the challenge starts! Full details about the challenge, and registration, at the website: http://www.mechanicalcat.net/tech/PyWeek/ You may enter either individually or as a team. If you're keen and would like to join a team, but can't organise your friends, then sign up anyway and offer your services to other entrants. The challenge will use skills in Python programming, graphics, sound or music. For those who came in late, the PyWeek challenge: 1. Invites entrants to create a game (coded in Python) in one week from scratch either as an individual or in a team, 2. Aims to be challenging and fun, 3. Entries must be developed during the competition, and must incorporate some theme decided at the start of the competition, 4. Will hopefully increase the public body of python game tools, code and expertise, 5. Will let a lot of people actually finish a game, and 6. May inspire new projects (with ready made teams!) -- Visit the PyWeek website: http://www.mechanicalcat.net/tech/PyWeek/ From dmiller at nwsdb.com Fri Jul 29 06:20:14 2005 From: dmiller at nwsdb.com (Daniel Miller) Date: Fri, 29 Jul 2005 00:20:14 -0400 Subject: AOPython 1.0 Message-ID: <42E9AE7E.4010600@nwsdb.com> I've written a small AOP module for Python called aopython: Aspect Oriented Python. Read about it (as I write more in the future): http://www.openpolitics.com/pieces/ Download the source: http://www.openpolitics.com/pieces/archives/aopython-v1.0.zip

AOPython 1.0 - Aspect Oriented Python (21-Jul-05)

-- ~ Daniel Miller millerdev at gmail.com From sebastien at ivy.fr Fri Jul 29 15:55:11 2005 From: sebastien at ivy.fr (=?ISO-8859-1?Q?S=E9bastien_Pierre?=) Date: Fri, 29 Jul 2005 15:55:11 +0200 Subject: ANN: Tahchee v.0.9.0 (intial release) Message-ID: <8407B756-D8C5-40F9-9017-AA3F37A36EFA@ivy.fr> Hi all, This is the first public release of Tahchee - a static website build system that uses the Cheetah template system. Tahchee is a tool for developers and webdesigner that allows to easily build a static website using the Cheetah template system. It was created to fill in the gap between bare templates and macro- processing systems and dynamic template-based websites. Tahchee acts both as a build system (? la "make") as well as an extension to the Cheetah template system that makes it really easy to build small to medium-sized websites. Tachee is ideal for writing open-source project or small-company websites. Check the homepage at (http:/www.ivy.fr/tahchee), where you can learn more and download the latest version. Tahchee is released under the revised BSD license. Enjoy, -- S?bastien From walter at livinglogic.de Fri Jul 29 18:49:30 2005 From: walter at livinglogic.de (=?ISO-8859-1?Q?Walter_D=F6rwald?=) Date: Fri, 29 Jul 2005 18:49:30 +0200 Subject: ANN: XIST 2.11 released Message-ID: <42EA5E1A.6080906@livinglogic.de> XIST 2.11 has been released! What is it? =========== XIST is an extensible HTML/XML generator written in Python. XIST is also a DOM parser (built on top of SAX2) with a very simple and Pythonesque tree API. Every XML element type corresponds to a Python class, and these Python classes provide a conversion method to transform the XML tree (e.g. into HTML). XIST can be considered "object oriented XSL". What's new in version 2.11? =========================== * A script xml2xsc.py has been added, that can be used to parse an XML file and generate a rudimentary XIST namespace from it. * A DocType for XHTML 1.1 has been added (suggested by Elvelind Grandin). * Line number information is now added when parsing HTML. * The sorted method now supports the same arguments (cmp, key and reverse) as list.sort and sorted in Python 2.4. * The walk doesn't yield the node directly, but yields a Cursor object now, with has several ways of referencing the node. * New methods walknode, walkpath and walkindex have been added. * Presenters use an iterator API instead of a stream API now. Dumping an XML tree presentation to the terminal can now start immediately instead of having to wait for the complete string to be formatted. * Fixed a bug with element/attribute names that contained a . character. (This broke ll.xist.ns.fo.) * Fixed a bug with xmlns attributes in nested elements. When an element ended the parser restored the wrong prefix mapping. * The python-quotes demo has been updated to use the current version of AMK's XML file. * Removed iterator stuff from ll.xist.xfind, as this is now part of the ll package/module. * The function ToNode has been renamed to tonode. * ll.xist.Context now longer subclasses list. * ll.xist.ns.doc.explain will now try to output the objects in the order in which they appear in the Python source. * The node methods find and findfirst have been removed. * ll.xist.ns.cond now uses a sandbox dictionary in a converter context for evaluating expression. For changes in older versions see: http://www.livinglogic.de/Python/xist/History.html Where can I get it? =================== XIST can be downloaded from http://ftp.livinglogic.de/xist/ or ftp://ftp.livinglogic.de/pub/livinglogic/xist/ Web pages are at http://www.livinglogic.de/Python/xist/ ViewCVS access is available at http://www.livinglogic.de/viewcvs/ For information about the mailing lists go to http://www.livinglogic.de/Python/xist/Mailinglists.html Bye, Walter D?rwald From python-url at phaseit.net Fri Jul 29 19:37:49 2005 From: python-url at phaseit.net (Simon Brunning) Date: Fri, 29 Jul 2005 17:37:49 +0000 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jul 29) Message-ID: QOTW: "Guido has marked the trail; don't ignore the signs unless you really know where you're going." - Raymond Hettinger 'Proverbs 28:14 JPS "Happy is the man that feareth alway; but he that hardeneth his heart shall fall into evil." Obviously an exhortation to not ignore raised exceptions with "except: pass".' - Robert Kern Jason Orendorff's path module is a popular alternative to the build in os.path and shutil modules. Michael Hoffman and Reinhold Birkenfeld are working on a PEP suggesting that it be included in the standard library: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/1f5bcb67c4c73f15 http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/df1b647a0f103640 Java has nearly as many web frameworks as Python, but you can run any of them on any of the Java web application servers because they are all built on the Java Servlet specification. PEP 333, the Python Web Server Gateway Interface, aims to bring something similar to the world of Python: http://www.python.org/peps/pep-0333.html A short but sweet day-of-the-month suffix generator from John Machin: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/904fa627890c85dd Thanos Tsouanas wants access to an object's namespace dictionary: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/d5cc509d138e1701 David Isaac wants to avoid map(), but he wants a zip() function that runs to the length of the longest sequence. It's suggested that zip() should be able to do this, but Raymond Hettinger channels Guido and thinks that this would be a bad idea: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/265675b50fee8ec1 Tiny.be release four open source enterprise applications: http://lwn.net/Articles/145209/ Who needs "Ten Essential Development Practices"? We've got The Zen of Python: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/c52d3c17f1ea9ec5 ======================================================================== 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/topics/pythonurl/ (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 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 jgardner at jonathangardner.net Fri Jul 29 22:25:49 2005 From: jgardner at jonathangardner.net (jgardner@jonathangardner.net) Date: 29 Jul 2005 13:25:49 -0700 Subject: Beginning Python Class -- Federal Way, WA, USA Message-ID: <1122668749.026806.218700@g47g2000cwa.googlegroups.com> I am developing a Beginning Python course taught in the Federal Way, WA, USA area. (This includes surrounding areas such as Auburn, Tacoma, and Seattle.) The course is managed under the Mayo Learning Institute. It will be taught every Friday evening from September 9th, 2005 to November 19th, 2005, 7-9PM at the Intellipass building. (See http://intellipass.com/directions.asp for directions and location.) We will cover all the basics of the Python programming language and teach skills fundamental to programming. The material is aimed at the absolute beginner or those with only limited experience programming in another language. The registration fee is only $20 to cover material costs and room rental. The registration form is available at http://www.jonathangardner.net/python-class/registration.pdf . Please complete and return the form early if you are interested because there is only limited space. Questions? Email me at jgardner at jonathangardner.net. From csad7 at t-online.de Sun Jul 31 18:02:36 2005 From: csad7 at t-online.de (Christof) Date: Sun, 31 Jul 2005 18:02:36 +0200 Subject: ANN: cssutils 0.8a2 (alpha release) Message-ID: <42ECF61C.808@t-online.de> what is it ---------- A Python package to parse and build CSS Cascading Style Sheets. Partly implements the DOM Level 2 Stylesheets and DOM Level 2 CSS interfaces. The implementation uses some Python standard features like standard lists for classes like css.CSSRuleList and is hopefully a bit easier to use. changes since the last release ------------------------------ **MAJOR API CHANGE** reflecting DOM Level 2 Stylesheets and DOM Level 2 CSS see http://cthedot.de/cssutils/ for a complete list of changes, examples, etc. license ------- cssutils is published under the LGPL. download -------- download cssutils 0.8a2 alpha - 050731 from http://cthedot.de/cssutils/ This is an alpha release so use at your own risk! Some parts will not work as expected... Any bug report is welcome. cssutils needs * Python 2.3 (tested with Python 2.4.1 on Windows XP only) * maybe PyXML (tested with PyXML 0.8.4 installed) any comment will be appreciated, thanks christof hoeke

cssutils 0.8a2 - cssutils - CSS Cascading Style Sheets library for Python (31-Jul-05)