From gav451 at gmail.com Sun Jun 1 14:15:44 2008 From: gav451 at gmail.com (Gerard Vermeulen) Date: Sun, 1 Jun 2008 14:15:44 +0200 Subject: ANN: PyQwt-5.1.0 released Message-ID: <20080601141544.6ab70042@jupiter.rozan.fr> What is PyQwt ( http://pyqwt.sourceforge.net ) ? - it is a set of Python bindings for the Qwt C++ class library which extends the Qt framework with widgets for scientific and engineering applications. It provides a 2-dimensional plotting widget and various widgets to display and control bounded or unbounded floating point values. - it requires and extends PyQt, a set of Python bindings for Qt. - it supports the use of PyQt, Qt, Qwt, and optionally NumPy or SciPy in a GUI Python application or in an interactive Python session. - it runs on POSIX, Mac OS X and Windows platforms (practically any platform supported by Qt and Python). - it plots fast: fairly good hardware allows a rate of 100,000 points/second. (PyQwt with Qt-3 is faster than with Qt-4). - it is licensed under the GPL with an exception to allow dynamic linking with non-free releases of Qt and PyQt. The most important new features of PyQwt-5.1.0 are: - support for Qwt-5.1.0. - support for PyQt-4.4.2 and SIP-4.7.6. - support for Qt-4.4. - the CartesianDemo.py, MaskedDataDemo.py, PickerDemo.py examples. The most important bug fixes in PyQwt-5.1.0 are: - fixed QwtPicker::stateMachine() to allow for subclassing of QwtPicker in Python. PyQwt-5.1.0 supports: 1. Python-2.5, or -2.4. 2. PyQt-3.17. 3. PyQt-4.4, PyQt-4.3, or PyQt-4.2. 3 SIP-4.7, or SIP-4.6. 4. Qt-3.3, or Qt-3.2. 5. Qt-4.4, Qt-4.3, or Qt-4.2. 6. Qwt-5.1, or Qwt-5.0. 7. Recent versions of NumPy, numarray, and/or Numeric. Enjoy -- Gerard Vermeulen From mmanns at gmx.net Sun Jun 1 20:17:36 2008 From: mmanns at gmx.net (Martin Manns) Date: Sun, 1 Jun 2008 20:17:36 +0200 Subject: pyspread 0.0.7 Message-ID: pyspread 0.0.7 has been released. -- New features: + CSV import dialog with preview grid Bug fixes: + setup.py now installs correctly into a sub-folder (tested for Linux and WinXP). -- About: pyspread is a spreadsheet that accepts a pure python expression in each cell. -- Highlights: + No non-python syntax add-ons + Access to python modules from cells + 3D grid + Numpy object array for representation of string entry into grid cell + Numpy object array for representation of eval function array + Cell access via slicing of numpy function array + X, Y, and Z yield current cell location for relative reference Requires: Python >=2.4, Numpy 1.0.4, and wxPython 2.8.7.1. License: GPL Project page: http://pyspread.sourceforge.net Best Regards Martin From mmueller at python-academy.de Sun Jun 1 21:42:20 2008 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Sun, 01 Jun 2008 21:42:20 +0200 Subject: [ANN] Python Summer Courses 2008 in Germany Message-ID: <4842FB9C.1030304@python-academy.de> I am pleased to announce Python courses in Germany this summer. The courses will be in Leipzig, Germany from July 21 to 25, 2008. (http://www.python-academy.com/courses/python_summer_course.html) (1) "Python for Programmers" introduces Python to programmers without or with little knowledge of Python. This course will be given on July 21 and 22, 2008. For course details see: http://www.python-academy.com/courses/python_course_programmers.html (2) "Python for Scientists and Engineers" will be held from July 23 -- 25, 2008. A detailed course outline can be found here: http://www.python-academy.com/courses/python_course_scientists.html Both courses can be booked individually or jointly. Please register here: http://www.python-academy.com/courses/dates.html You can take advantage of being in Leipzig to attend the first EuroSciPy conference on July 26 and 27, 2008. For more details see: http://www.scipy.org/EuroSciPy2008 Kind regards, Mike M?ller (Course Instructor) From bthate at gmail.com Mon Jun 2 14:22:56 2008 From: bthate at gmail.com (Bart Thate) Date: Mon, 2 Jun 2008 05:22:56 -0700 (PDT) Subject: GOZERBOT 0.8.1.0 released Message-ID: 0.8.1.0 is here and can be downloaded from http://gozerbot.org new features: * ssl connections are now supported * third party software included into gozerbot: o feedparser (used by RSS) .. makes atom feeds possible o simplejson (used by COLLECTIVE) o BeautifulSoup (used to parse webpages) * renewed RSS plugin * renewed collective plugin * renewed webserver plugin .. new webserver API * tcp.py notification plugin as well as a totcp.py client program the following plugins were removed from the main distribition: * autovoice * away * convert * country * event * grab * jcoll * probe if you are using one of these plugins use install-plug to install them from the plugin server. any problems with the bot can be reported on #dunkbots on IRCnet or email bth... at gmail.com debian package and freebsd port will follow have fun ;] about gozerbot: Requirements * a shell * python 2.4 or higher * if you want to remotely install plugins: the gnupg module * if you want mysql support: the py-MySQLdb module * if you want jabber support: the xmpppy module Why gozerbot? * provide both IRC and Jabber support * user management by userhost .. bot will not respond if it doesn't know you * fleet .. use more than one bot in a program (list of bots) * use the bot through dcc chat * fetch rss feeds * remember items * relaying between bots * program your own plugins * run the builtin webserver * query other bots webserver via irc * serve as a udp <-> irc or jabber notification bot * mysql and sqlite support From george.sakkis at gmail.com Mon Jun 2 12:13:20 2008 From: george.sakkis at gmail.com (George Sakkis) Date: Mon, 2 Jun 2008 03:13:20 -0700 (PDT) Subject: ANN: equivalence 0.1 Message-ID: Equivalence is a class that can be used to maintain a partition of objects into equivalence sets, making sure that the equivalence properties (reflexivity, symmetry, transitivity) are preserved. Two objects x and y are considered equivalent either implicitly (through a key function) or explicitly by calling merge(x,y). Get it from pypi: http://pypi.python.org/pypi/equivalence/ Example ======= Say that you are given a bunch of URLs you want to download and eventually process somehow. These urls may contain duplicates, either exact or leading to a page with the same content (e.g. redirects, plagiarized pages, etc.). What you'd like is identify duplicates in advance so that you can process only unique pages. More formally, you want to partition the given URLs into equivalence sets and pick a single representative from each set. Getting rid of identical URLs is trivial. A more general case of URLs that can be easily identified as duplicates can be based on some simple regular expression based heuristics, so that for instance 'http://python.org/doc/' and 'www.python.org/doc/index.html' are deemed equivalent. For this case you may have a normalize(url) function that reduces a URL into its "stem" (e.g. 'python.org/doc') and use this as a key for deciding equivalence. This is fine but it still leaves quite a few URLs that cannot be recognized as duplicates with simple heuristics. For these harder cases you may have one or more "oracles" (an external database, a page comparison program, or ultimately a human) that decides whether pages x and y are equivalent. You can integrate such oracles by explicitly declaring objects as equivalent using Equivalence.merge(x,y). Both implicit (key-based) and explicit information are combined to maintain the equivalence sets. For instance: >>> from equivalence import Equivalence >>> dups = Equivalence(normalize) # for an appropriate normalize(url) >>> dups.merge('http://python.org/doc/', 'http://pythondocs.com/') >>> dups.are_equivalent('www.pythondocs.com/index.htm', 'http://python.org/doc/index.html') >>> True You can find more about the API in the included docs and the unittest file. Regards, George From mdipierro at cs.depaul.edu Tue Jun 3 07:06:25 2008 From: mdipierro at cs.depaul.edu (Massimo Di Pierro) Date: Tue, 3 Jun 2008 00:06:25 -0500 Subject: KPAX CMS - The human CMS from another planet Message-ID: <5B1D532D-06D6-43D1-A747-3CD6C955DCB7@cs.depaul.edu> Hello everybody, I just released the KPAX CMS 1.0 beta (based on web2py). Create web pages, wikis with locking and versioning, blogs, chats, surveys, video/audio streams. No programming required. Runs off a USB drive too. The name is temporary. Here is a screencast/tutorial http://www.vimeo.com/1098656 Download from http://mdp.cti.depaul.edu/appliances Massimo Some features: Lots of a Ajax for user friendly interaction. Granular Access Control mechanism based on group membership. Users can create and join groups. Group owner can require approval of memberships applications. Users can post news and turn them into RSS feeds. Users can create folders and insert pages in folders. Users can create surveys and assignments (including anonymous). Users can create and join chat lines. Chats synchronously and asynchronously, like a discussion board. Folder pages can be public web pages, public or private wikis, can accept comments, and can contain documents. Pages have versions and can be compared with previous versions. Wiki pages have locking so no conflicts. Documents in pages can be media files. If they are large they are streamed. Media files are played by the built-in flash player. Movies can be played full-screen. Assignment are automatically graded and generate reports and statistics. WYSIWYG editor (similar to but easer than Word) System errors result in tickets issued to the visitors. All errors/ tickets are logged. Web based administrative interface. Web based database administrative interface. Secure. Secure cookies Server-side sessions. Server-side form validation. No SQL Injection flaws. Scalable using threads and/or processes (multiple installation behind load-balancer). Uploaded documents/media can be stored in filesystem or database. Server runs on Windows, Mac, and Linux. Client/Ajax code compatible with IE6+, Firefix 2+, Safari 3+. Works with Sqlite (built-in), MySql, PostgreSql, and Oracle. Transaction safe. SQL generated via meta-programming. Works with any CGI, FastCGI and WSGI server including CherryPy?s (built-in), Apache, and Lighttpd. Written in Python. The code is concise and readable. All web forms are automatically generated. Automatic migrations for easy upgrade. -------------- next part -------------- An HTML attachment was scrubbed... URL: From python-url at phaseit.net Tue Jun 3 16:27:25 2008 From: python-url at phaseit.net (Gabriel Genellina) Date: Tue, 3 Jun 2008 14:27:25 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 3) Message-ID: QOTW: "PS: in some ways it's interesting and relevant that there has been no discussion on psf-members of Google's AppEngine, which many people I've talked to think is the most important thing that's ever happened to Python ever." - David Ascher Alternatives for a multi dimensional dictionary: http://groups.google.com/group/comp.lang.python/browse_thread/thread/91056401e4dbdadc/ Threads and memory usage: http://groups.google.com/group/comp.lang.python/browse_thread/thread/44c20f2595fe298b/ Should Python provide "real" data hiding? http://groups.google.com/group/comp.lang.python/browse_thread/thread/188467d724b48b32/ In response to a requirement for a data structure with fast inserts, no duplicates, and sorted items, several alternatives emerge: http://groups.google.com/group/comp.lang.python/browse_thread/thread/ab429c0221994e2d/ How to read utf-8 encoded input from sys.stdin: http://groups.google.com/group/comp.lang.python/browse_thread/thread/44bb63456be8c331/ Looking for something similar to "classic" ASP web development in Python - and why it may not be a good idea: http://groups.google.com/group/comp.lang.python/browse_thread/thread/9bd633032e5709a8/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html 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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From mark.dufour at gmail.com Tue Jun 3 21:02:42 2008 From: mark.dufour at gmail.com (Mark Dufour) Date: Tue, 3 Jun 2008 21:02:42 +0200 Subject: Shed Skin (restricted) Python-to-C++ Compiler 0.0.28 Message-ID: <8180ef690806031202n48824379h8277c4d3b97864a0@mail.gmail.com> Hi all, I have just released Shed Skin 0.0.28, with the following changes. Thanks to those mentioned for helping out! - basic 'socket' support (Michael Elkins) - support for os.{popen3, popen4} under UNIX (Jaroslaw Tworek) - support for time.strptime under Windows (David Marek) - options for changing output dir, disabling annotation (Dave Tweed) - support for 'cmp' and 'reverse' arguments of 'sorted' and 'list.sort' - fixes for cross-module default arguments - important fixes for type inference and inheritance - restore compatibility with Python 2.3 - many minor bugfixes I would really like to receive more bug reports. Please try out the new version, and let me know about any problems. With the socket support, 15 common modules are now largely supported. For a 0.1 release, I'd really like to have support for one more module: datetime. Thanks to the GHOP, there is a type model already (lib/datetime.py), so we only still need a C++ implementation.. Thanks, Mark Dufour. -- "One of my most productive days was throwing away 1000 lines of code" - Ken Thompson From remy.blank at pobox.com Tue Jun 3 23:49:01 2008 From: remy.blank at pobox.com (Remy Blank) Date: Tue, 03 Jun 2008 23:49:01 +0200 Subject: ANN: Sydebar 1.0 - A browser sidebar generator for Python documentation Message-ID: <754af$4845bc52$53db7241$17217@news.hispeed.ch> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable I am pleased to announce the first release of Sydebar, a browser sidebar = generator for Python documentation. For the impatient, sample outputs=20 for all Python versions ever released can be found here: http://c-space.org/download/Sydebar/samples/ The program generates a single, self-contained XHTML file for a specific = Python documentation URL, which can be local or remote. The generated=20 file is loaded into the sidebar of some popular browsers (tested on=20 Firefox and Opera, Mozilla should work as well), and presents a tabbed=20 interface with one page for each of the following documentation sections:= * Tutorial * Language reference * Library reference * Python/C API * Extending and embedding * Global module index Each page shows a collapsible tree of chapters, with links opening the=20 corresponding section in the main browser pane. The global module index=20 features an incremental search functionality with fast keyboard navigatio= n. Moreover, a search page allows performing searches on various subsets of = python.org (specific parts of the website, PEPs, newsgroups, PyPI and=20 the issue tracker). The documentation and PyPI entry can be found here: http://c-space.org/software/Sydebar.html http://pypi.python.org/pypi/Sydebar I would like to mention that Sydebar was inspired by python-sidebar from = Daniel Lundin at Edgewall Software, and even though I didn't borrow any=20 code from there, the layout does bear quite some resemblance. Feedback is very welcome. Thanks for reading! -- Remy -------------- next part -------------- Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkhFvFEACgkQCeNfIyhvXjISEACgmUXSorHaZ7JjNC2AqTuJtWod BAgAn3g/97+9cI9m5n2QBpvcmtxQnGB0 =IQ6Q -----END PGP SIGNATURE----- From steve at holdenweb.com Wed Jun 4 14:57:08 2008 From: steve at holdenweb.com (Steve Holden) Date: Wed, 04 Jun 2008 08:57:08 -0400 Subject: Training Class in July Message-ID: <48469124.6050304@holdenweb.com> Holden Web is holding the second of its public "Introduction to Python" classes on July 8-10 in Springfield, VA (just outside Washington, DC). The class is described briefly at http://holdenweb.com/py/introclass/ and the current schedule is at http://holdenweb.com/py/training/ Bookings are now being accepted through our web site. Please contact info at holdenweb.com for multi-student discount details. Comments from the students on our March class: "Great class. Very informative" JSc "This tied Python together and now I can go learn on my own until I hit the next plateau" JSa "Excellent course, lots of good information" VB "It was a good course and the price was just right" AW -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ From giles.thomas at resolversystems.com Wed Jun 4 20:01:44 2008 From: giles.thomas at resolversystems.com (Giles Thomas) Date: Wed, 4 Jun 2008 11:01:44 -0700 (PDT) Subject: ANN: Resolver One 1.1 released Message-ID: We are proud to announce the release of Resolver One, version 1.1 - the largest IronPython application in the world, we think, at 38,000 lines of production code backed up by 130,000 lines of unit and functional tests. Resolver One is a Rapid Application Development tool for analysing and presenting business data using a familiar spreadsheet interface, combined with a powerful IronPython-based scripting capability that allows you to insert your own code directly into the recalculation loop. There's a one-minute screencast about it here: For version 1.1 , we?ve made quite a lot of changes, hopefully making the program more responsive and pleasant to use - as well as adding cool new features. Some of the highlights: * Significant improvements to performance and memory usage. * Cutting and pasting is now more "spreadsheet-like". * User-defined formatter functions on a per-cell basis. * Ability to "unpack" Python iterables into ranges of cells. * Auto-indent in the code editor. * Better coverage of standard spreadsheet functions. * Comments in cells. * For the financial edition, we've added Thomson Dataworks Enterprise connectivity and a number of great enhancements to Bloomberg access. We?ve put together a three-minute screencast outlining all these changes: It's free for non-commercial use (and quite cheap for commercial use :-), so if you would like to take a look, you can download it from our website (free registration required): Best regards, Giles -- Giles Thomas MD & CTO, Resolver Systems Ltd. giles.thomas at resolversystems.com +44 (0) 20 7253 6372 Try out Resolver One! (Free registration required) 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK From barry at python.org Thu Jun 5 19:40:34 2008 From: barry at python.org (Barry Warsaw) Date: Thu, 5 Jun 2008 13:40:34 -0400 Subject: setuptools_bzr 1.2 Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm happy to announce the setuptools_bzr 1.2 plugin for Python's setuptools. This allows setuptools to find your Python package files kept under the Bazaar revision control system. setuptools_bzr 1.2 should be compatible with Bazaar 1.5. This version fixes bug #237652 which prevented it from working correctly with loomified branches. It also adds an environment variable to force use of the command line bzr(1) even if bzrlib can be found. setuptools_bzr 1.2 is available in egg and source tarball format on the Python Package Index (a.k.a. Cheeseshop): http://pypi.python.org/pypi/setuptools_bzr/1.2 To use the plugin, just modify your setup() function in setup.py like so: setup(... setup_requires = [ 'setuptools_bzr', ], ...) The project home page is on Launchpad: https://launchpad.net/setuptoolsbzr Enjoy, - -Barry -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iQCVAwUBSEglFHEjvBPtnXfVAQKjKQP+KG8zfnIVvMXsqUEnpbgmZt1Cd6v1RJOv TXXB3Zef5XZerniEFIVZOcA00xQ3PHdpxJLghh3MWUv8wRSIyIgtlRNx+wbKXBWv fxCvVScWAnW+Zycg4hIM1kUWsYzB4JyGzU9PXRT5oZh5SM1EDYMSQPMrcErukRIg 0rIXw2Ht6KA= =kAS7 -----END PGP SIGNATURE----- From catherine.devlin at gmail.com Thu Jun 5 23:14:02 2008 From: catherine.devlin at gmail.com (Catherine Devlin) Date: Thu, 5 Jun 2008 17:14:02 -0400 Subject: PyOhio Call for Proposals deadline extended to June 15 Message-ID: <6523e39a0806051414n3df35b1ek6b38e01b11017046@mail.gmail.com> At the request of several potential speakers, the PyOhio organizers have extended the Call for Proposals deadline to June 15. http://wiki.python.org/moin/PyOhio/CallForProposals PyOhio , the first annual Python programming mini-conference for Ohio and surrounding areas will take place Saturday, July 26, in Columbus, Ohio. The conference is free of change and will include scheduled presentations, Lighting Talks and unconference-style Open Spaces. You can read more about the conference at http://pyohio.org PyOhio invites all interested people to present scheduled talks. All presentations are expected to last 40 minutes with a 10 minute question-and-answer period. PyOhiowill accept abstracts covering any area of Python programming. A classroom area with computers will also be available for possible hands-on sessions. All presentations proposals should submit abstracts no longer than 500 words in length. Abstracts must include the title, summary of the presentation, the expertise level targeted, and a brief description of the area of Python programming it relates to. All proposals should be emailed to for review. The submission deadline *has been extended* to June 15, 2008. Accepted proposals will be notified by July 1. If you have trouble submitting a proposal, or have specific questions about proposals please email Mat Kovach or call at 216-798-3397. -- - Catherine http://catherinedevlin.blogspot.com/ *** PyOhio 2008 * Columbus * July 26, 2008 * pyohio.org *** -------------- next part -------------- An HTML attachment was scrubbed... URL: From cthedot at gmail.com Fri Jun 6 22:20:19 2008 From: cthedot at gmail.com (Christof Hoeke) Date: Fri, 06 Jun 2008 22:20:19 +0200 Subject: ANN: cssutils 0.9.5b3 Message-ID: what is it ---------- A Python package to parse and build CSS Cascading Style Sheets. (Not a renderer though!) main changes ------------ 0.9.5b3 - **API CHANGE**: ``parse()`` is *DEPRECATED*, use ``parseFile()`` instead. I know this should not happen in a release already in beta but better now than later and currently both ways are still possible. - **FEATURE'**: CSSStyleDeclatation objects may be used like dictionaries now. The value during setting a property may be a single value string or a tuple of ``(value, priority)`` - **FEATURE**: While reading an imported styleSheet all relevant encoding parameters (HTTP headers, BOM/@charset, etc) are used now as defined in http://www.w3.org/TR/CSS21/syndata.html#charset Additionally a given parameter ``encoding`` for ``parseString``, ``parseFile`` and ``parseUrl`` functions/methods **overrides** any detected encoding of read sheet like HTTP information or @charset rules. Useful if e.g. HTTP information is not set properly. The given ``encoding`` is used for **all** imported sheets of the parsed one too! This is a cssutils only addition to the rules defined at http://www.w3.org/TR/CSS21/syndata.html#charset. - **FEATURE**: A custom URL fetcher may be used during parsing via ``CSSParser.setFetcher(fetcher)`` (or as an init parameter). The so customized parser is reusable (as all parsers are). The fetcher is called when an ``@import`` rule is found and the referenced stylesheet is about to be retrieved. - **FEATURE**: Added option ``-s --string`` to cssparse script which expects a CSS string to be parsed. - **FEATURE/BUGFIX**: Parsing of CSSStyleDeclarations is improved. Invalid ``/color: red;color: green`` is now correctly parsed as ``color: green`` now. At the same time the until now parsed but invalid ``$color: red`` (an IE hack) is not parse anymore but correctly dismissed! Unknown rules in CSSStyleDeclaration are parsed now. So e.g ``@x; color: red;`` which is syntactically valid is kept completely. - **LICENSE**: cssutils is licensed under the **LGPL v3** now (before LGPL v2.1). This should not be a problem I guess but please be aware. So the former mix of LGPL 2.1 and 3 is resolved to a single LGPL 3 license for both cssutils and the included encutils. - a few other changes, bugfixes and improvements Note: CSSValue, CSSValueList, and CSSPrimitiveValue and the relevant methods/properties Property.cssValue and CSSStyleDeclaration.getPropertyCSSValue are more or less DEPRECATED and will probably be replaced with interfaces defined in CSSOM. For now use the properties and methods that handle values as simple strings, e.g. ``Property.value``. As the aforementioned classes are not hardly that useful anyway this should not be a big problem but please beware if you use or have used them. If you think this a bad idea please let me know! license ------- cssutils is published under the LGPL version 3 or later, see http://cthedot.de/cssutils/ If you have other licensing needs please let me know. download -------- For download options see http://cthedot.de/cssutils/ cssutils needs Python 2.4 or higher (tested with Python 2.5.2 on Vista only) Bug reports (via Google code), comments, etc are very much appreciated! Thanks. Christof From tomerfiliba at gmail.com Sat Jun 7 18:16:35 2008 From: tomerfiliba at gmail.com (sebulba) Date: Sat, 7 Jun 2008 09:16:35 -0700 (PDT) Subject: ANN: RPyC 3.00 Beta Message-ID: <3283ca4b-02ca-4b6e-b060-6854d3925fe5@r66g2000hsg.googlegroups.com> I'm glad to announce that RPyC has finally hit the 3.00 Beta release, after more than two years of careful planning :) Official site: http://rpyc.wikispaces.com This release is aimed for beta-testers. Regular users should wait for the final release in the coming weeks. If you would like to read more about what's new in RPyC 3.00 or participate as a beta tester, see this for more info: http://groups.google.com/group/rpyc/browse_frm/thread/ddbc02d059019b04 thanks, -tomer From sschwarzer at sschwarzer.net Sat Jun 7 21:52:18 2008 From: sschwarzer at sschwarzer.net (Stefan Schwarzer) Date: Sat, 07 Jun 2008 21:52:18 +0200 Subject: [ANN] Leipzig Python User Group Meeting, June 10, 2008, 08:00 pm Message-ID: <484AE6F2.7080303@sschwarzer.net> === Leipzig Python User Group === We will meet on Tuesday, June 10 at 8:00 pm at the training center of Python Academy in Leipzig, Germany ( http://www.python-academy.com/center/find.html ). Markus Zapke-Gr?ndemann will give a talk about a program to convert CSV files to XML files. Food and soft drinks are provided. Please send a short confirmation mail to info at python-academy.de , so we can prepare appropriately. Everybody who uses Python, plans to do so or is interested in learning more about the language is welcome. While the meeting language will be mainly German, we will provide English translation if needed. Current information about the meetings are at http://www.python-academy.com/user-group . Stefan == Leipzig Python User Group === Wir treffen uns am Dienstag, 10.06.2008 um 20:00 Uhr im Schulungszentrum der Python Academy in Leipzig ( http://www.python-academy.de/Schulungszentrum/anfahrt.html ). Markus Zapke-Gr?ndemann wird in einem Vortrag ein Programm zum Umwandeln von CSV-Dateien in XML-Dateien vorstellen. F?r das leibliche Wohl wird gesorgt. Eine Anmeldung unter info at python-academy.de w?re nett, damit wir genug Essen besorgen k?nnen. Willkommen ist jeder, der Interesse an Python hat, die Sprache bereits nutzt oder nutzen m?chte. Aktuelle Informationen zu den Treffen sind unter http://www.python-academy.de/User-Group zu finden. Viele Gr??e Stefan From alberanid at libero.it Sun Jun 8 13:32:01 2008 From: alberanid at libero.it (Davide Alberani) Date: Sun, 08 Jun 2008 13:32:01 +0200 Subject: IMDbPY 3.6 released Message-ID: <11351782.080Ykg0bQ2@snoopy.mio> IMDbPY 3.6 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 movies, people, characters and companies. With this release: full support for companies, many bugs fixed and some minor new features introduced. 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. From greg at cosc.canterbury.ac.nz Sun Jun 8 13:44:38 2008 From: greg at cosc.canterbury.ac.nz (greg) Date: Sun, 08 Jun 2008 23:44:38 +1200 Subject: ANN: Pyrex 0.9.8.3 Message-ID: <6b1vctF39hhtmU1@mid.individual.net> Pyrex 0.9.8.3 is now available: http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/ Compiling multiple .pyx files in one go works properly now, and can be substantially faster if you have a lot of modules that cimport from each other. I had to rearrange various things to make this work, so I hope I haven't broken anything. The compatibility rules for nogil function pointers have been fixed, so you can assign a nogil function to a function pointer that isn't declared nogil (but not the other way around). Plus a few other bug fixes listed in CHANGES. What is Pyrex? -------------- Pyrex is a language for writing Python extension modules. It lets you freely mix operations on Python and C data, with all Python reference counting and error checking handled automatically. From james.pye at gmail.com Mon Jun 9 03:02:52 2008 From: james.pye at gmail.com (james.pye at gmail.com) Date: Sun, 8 Jun 2008 18:02:52 -0700 (PDT) Subject: pg_proboscis 1.0 Release Message-ID: <5f512522-be05-493f-b008-b7ef08ed387d@u36g2000prf.googlegroups.com> pg_proboscis 1.0 has been released. pg_proboscis is a Python programmer's client for PostgreSQL(driver/interface). See [far] below for code examples. Project Site: http://python.projects.postgresql.org/?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0 It distinguishes itself from other drivers by the following: - BSD/MIT licensed (from some drivers ;) - Pure-Python (Optional C-extension for some speed-ups =) - Binary type transmission (no need to escape bytea, for instance) - Protocol level prepared statements (parameter types are dictated by the server) - Protocol level cursors (You can even use cursors created on the server via GT) - Alternate database APIs (GreenTrunk, for those that aren't fond of DB-API 2.0) - Composite type support - Structured Arrays (including arrays of composite types for some versions of PG) - COPY interfaces that work with arbitrary iterators (See examples further down) - with_statement support for managing transactions, savepoints, and setting contexts - executemany()/query.load() takes advantage of PQ 3.0's extended protocol - So many unittests. Really. And more to come. - Obsessive dedication to creating *great* software. The GreenTrunk API is defined using the ``postgresql.protocol.greentrunk.api`` module. Getting help() on this module or using the included ``pg_greentrunk`` console script yields reference material for using GreenTrunk connections. However, pg_proboscis is not exclusively GreenTrunk, it includes a DB-API 2.0 compliant module as well. [('pyformat' paramstyle) postgresql.interface.proboscis.dbapi2] pg_proboscis is not a monolithic project. It isolates components to encourage targeted packaging and re-usability without unwanted side-code. These packages are at 1.0 as well: pg_foundation Basics. Exception hierarchy, optparse options, SQL string splitter, and much more. (provides ``postgresql.exceptions``) pg_typical Binary type I/O routines. Arrays, composite types, geo types, primitives. Uses pg_foundation's ``postgresql.types`` for some types. pg_pqueue PQ protocol basics. What pg_proboscis uses to do PQ 3.0. pg_greentrunk The GreenTrunk connection APIs are specified in a module herein. Downloading =========== http://python.projects.postgresql.org/files/?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0 You would need one of each, so it is suggested to just use easy_install: $ easy_install pg_proboscis Documentation ============= The places you will likely want to visit: http://python.projects.postgresql.org/doc/pg_proboscis-1.0.html?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0 (How to make a connection, and the pb_python command) http://python.projects.postgresql.org/doc/pg_greentrunk-1.0.html?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0 (Connection APIs) Exception Hierarchy Reside Here[postgresql.exceptions]: http://python.projects.postgresql.org/doc/pg_foundation-1.0.html?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0 (optparse options, pgpass parser, all sorts of things postgres) If you just want DB-API 2.0, the module path is ``postgresql.interface.proboscis.dbapi2``. GreenTrunk Examples =================== The use of the '~'-operation is exhibited quite freely here. When invoked, query objects return a cursor object, so in order to provide more convenient access to simple data, the '~' can be used to quickly get the first column of the first row of a single-column result set. ``gtx`` is the connection object. These examples come from a ``pb_python`` run. ``pb_python`` is a console script that establishes a connection, binds it to the ``__builtins__`` module as ``gtx``, and then runs the "python command"(provides a Python command with a database connection; ie, interactive console if no script is given). Protocol Level Prepared Statements by Default --------------------------------------------- :: # Create a prepared statement. >>> q = gtx.query('select * from pg_type where typname = $1') >>> q >>> dir(q) ['__call__', '__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__invert__', '__iter__', '__lshift__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_input_io', '_output_attmap', '_output_io', '_rformats', 'close', 'closed', 'connection', 'defaults', 'finish', 'first', 'input', 'load', 'output', 'portal', 'prepare', 'prime', 'reprepare', 'statement_id', 'string', 'title'] # Bind a cursor. (typname = 'text') >>> r = q('text') >>> r >>> r.query >>> dir(r) ['__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__iter__', '__module__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_contract', '_expand', '_mktuple', '_output_attmap', '_output_io', '_rformats', '_state', '_xp_fetchmore', '_xp_move', 'close', 'closed', 'connection', 'fetchcount', 'move', 'next', 'output', 'portal_id', 'query', 'read', 'scroll', 'seek', 'whence_map'] # Grab a row. >>> row1 = r.next() >>> row1 (u'text', 11, 10, -1, False, 'b', True, ',', 0, 0, 1009, u'textin', u'textout', u'textrecv', u'textsend', u'-', u'-', u'-', 'i', 'x', False, 0, -1, 0, None, None) >>> row1.keys() ['typmodin', 'typnamespace', 'typbyval', 'typsend', 'typdelim', 'typnotnull', 'typndims', 'typinput', 'typtypmod', 'typarray', 'typdefault', 'typdefaultbin', 'typtype', 'typisdefined', 'typlen', 'typelem', 'typrelid', 'typreceive', 'typbasetype', 'typalign', 'typname', 'typstorage', 'typanalyze', 'typmodout', 'typowner', 'typoutput'] >>> row1['typlen'] -1 Primitive Types --------------- :: >>> q=gtx.query('select $1::bytea, $2::int, $3::bigint, $4::text') >>> r=q('\x00\x01', 123, 2**34, u'?oobar').next() >>> r ('\x00\x01', 123, 17179869184L, u'\u0192oobar') Arrays ------ :: >>> ~gtx.query("select ARRAY[1::int, 2, 3, 256]") postgresql.types.array([1, 2, 3, 256]) >>> a=~gtx.query("select ARRAY[1::int, 2, 3, 256]") >>> a[0] 1 >>> a[-1] 256 >>> for x in a: ... print x ... 1 2 3 256 >>> Composite Types --------------- :: >>> gtx.execute('create type test as (i int, t text)') >>> cto = ~gtx.query("select (123, 'foo')::test") >>> cto (123, u'foo') >>> cto['t'] u'foo' >>> cto[-1] u'foo' >>> for x in cto: ... print x ... 123 foo COPY TO STDOUT -------------- :: >>> copy=gtx.query('copy (select i from generate_series(1,10) g(i)) to stdout')() >>> copy >>> copy.next() '1\n' >>> copy.next() '2\n' >>> copy.read(10) ['3\n', '4\n', '5\n', '6\n', '7\n', '8\n', '9\n', '10\n'] COPY FROM STDIN --------------- :: >>> gtx.execute('create temp table t (i int, t text)') >>> copy_t = gtx.query('copy t from stdin') >>> copy_t(['%d\t%s\n'%(x,str(x) + 'text') for x in xrange(1, 100)]) >>> ~gtx.query('select count(*) FROM t') 99 >>> for i, t in gtx.query('select * from t where random() < 0.1'): ... print i, t ... 8 8text 9 9text 16 16text 17 17text 27 27text 48 48text 50 50text 62 62text 73 73text 76 76text Incremental COPY FROM STDIN (Not recommended; interface subject to change) -------------------------------------------------------------------------- :: >>> gtx.execute('create temp table t (i int, t text)') >>> copy_t = gtx.query('copy t from stdin') >>> ict = copy_t() >>> ict >>> dir(ict) ['__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__iter__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_contract', '_discover_type', '_expand', '_expect_types', '_lastcopy', '_result_types', 'close', 'closed', 'command', 'complete', 'connection', 'count', 'next', 'query', 'read', 'type', 'write', 'xact'] >>> ict.write('3\tjust text\n') >>> ict.close() >>> ~gtx.query("select * from t where t.t = 'just text'") (3, u'just text') >>> ict = copy_t() >>> ict(['3\ttext and %d\n' %(x,) for x in xrange(10)]) >>> ict.close() >>> ~gtx.query("select count(*) from t where t.t ~ 'text and '") 10 Transactions ------------ :: # Error Recovery >>> with gtx.xact: ... gtx.execute('selekt 1') ... Traceback (most recent call last): File "", line 2, in File "build/bdist.freebsd-7.0-RELEASE-i386/egg/postgresql/interface/ proboscis/tracenull.py", line 1845, in execute self._complete() File "build/bdist.freebsd-7.0-RELEASE-i386/egg/postgresql/interface/ proboscis/tracenull.py", line 2378, in _complete self._pop() File "build/bdist.freebsd-7.0-RELEASE-i386/egg/postgresql/interface/ proboscis/tracenull.py", line 2408, in _pop raise xact_error SyntaxError: syntax error at or near "selekt" CODE: 42601 POSITION: 1 LOCATION: File 'scan.l', line 807, in base_yyerror >>> gtx.xact.failed >>> gtx.state 'I' # State difference >>> with gtx.xact: ... try: ... gtx.execute('selekt 1') ... except: ... print 'state: ', gtx.state ... print 'failed: ', str(gtx.xact.failed) ... state: E failed: True >>> gtx.state 'I' # Transaction manager details >>> import sys >>> gtx.tracer = sys.stderr.write >>> with gtx.xact: ... with gtx.xact: ... gtx.execute('select 1') ... ? 'Q'(18): 'START TRANSACTION\x00' ? 'C'(18): 'START TRANSACTION\x00' ? 'Z'(1): 'T' ? 'Q'(20): 'SAVEPOINT "xact(1)"\x00' ? 'C'(10): 'SAVEPOINT\x00' ? 'Z'(1): 'T' ? 'Q'(9): 'select 1\x00' ? 'T'(29): '\x00\x01?column? \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x04\xff\xff\xff\xff \x00\x00' ? 'D'(7): '\x00\x01\x00\x00\x00\x011' ? 'C'(7): 'SELECT\x00' ? 'Z'(1): 'T' ? 'Q'(18): 'RELEASE "xact(1)"\x00' ? 'C'(8): 'RELEASE\x00' ? 'Z'(1): 'T' ? 'Q'(7): 'COMMIT\x00' ? 'C'(7): 'COMMIT\x00' ? 'Z'(1): 'I' >>> del gtx.tracer From armin.ronacher at active-4.com Mon Jun 9 19:25:34 2008 From: armin.ronacher at active-4.com (Armin Ronacher) Date: Mon, 9 Jun 2008 10:25:34 -0700 (PDT) Subject: ANN: Jinja2 RC1 released Message-ID: <77c96672-614d-4085-814a-f7146910bf37@s50g2000hsb.googlegroups.com> The first release candidate of the Jinja2 templating engine was released today. It's the successor of Jinja1 and breaks backwards compatibility on the API level for good. To not break existing applications Jinja2 has a separate package called "jinja2". Changes to Jinja1: * dynamic inheritance * simplified API * easier debugging * better handling of undefined values * improved macro system * a lot faster * optional and more secure sandbox * improved for-loops which allow filtering now * Django-inspired extension system * optional line-based statements similar to Cheetah or Mako * optional automatic escaping Links: * Change Summary: http://lucumr.pocoo.org/cogitations/2008/06/09/jinja2-rc1/ * Documentation: http://jinja.pocoo.org/2/documentation/ * Website: http://jinja.pocoo.org/2/ * Cheeseshop: http://cheeseshop.python.org/pypi/Jinja2/2.0rc1 From albrecht.andi at googlemail.com Tue Jun 10 09:00:18 2008 From: albrecht.andi at googlemail.com (Andi Albrecht) Date: Tue, 10 Jun 2008 09:00:18 +0200 Subject: CrunchyFrog 0.2.1 released Message-ID: <11497d880806100000t3f1d1f6ejb9c02583b1438116@mail.gmail.com> I'm happy to announce CrunchyFrog 0.2.1. This is a bug fix release. Download: http://crunchyfrog.googlecode.com/files/crunchyfrog-0.2.1.tar.gz CrunchyFrog is a database navigator and query tool for GNOME. Changes in 0.2.1 ================ Bug Fixes --------- * Support for recent files. * UI improvements and fixes. * Improved handling of backend plugins. New Features ------------ * SQL server backend (early release). * HttpLog backend (early release). Translations ------------ * Finish * French * German * Italian * Spanish Thanks to all launchpad contributors! Complete changelog: http://code.google.com/p/crunchyfrog/wiki/ChangeLog What is CrunchyFrog =================== CrunchyFrog is a database navigator and query tool for GNOME. Currently PostgreSQL, MySQL, Oracle, SQLite3 databases and LDAP servers are supported for browsing and querying. More databases and features can be added using the plugin system. CrunchyFrog is licensed under the GPLv3 and is entirely written in Python/PyGTK. Download: http://cf.andialbrecht.de/download.html Homepage: http://cf.andialbrecht.de/ Screenshots: http://cf.andialbrecht.de/screenshots.html Development: http://crunchyfrog.googlecode.com/ Discussions: http://groups.google.com/group/crunchyfrog Issues/Bugs: http://code.google.com/p/crunchyfrog/issues/list Regards, Andi From h.goebel at goebel-consult.de Tue Jun 10 14:28:50 2008 From: h.goebel at goebel-consult.de (Hartmut Goebel) Date: Tue, 10 Jun 2008 14:28:50 +0200 Subject: ANN: pdfposter 0.4.2 Message-ID: <484e7384$0$6608$9b4e6d93@newsspool2.arcor-online.net> I'm pleased to announce pdfposter 0.4.2, a tool to scale and tile PDF images/pages to print on multiple pages. http://pdfposter.origo.ethz.ch/download/ This version fixes a view minor bugs - some media-/poster-sizes (eg. Letter) have not beeb recogniced - some PDF files crashed the tool. Download --------------- :Quick Installation: easy_install -U pdfposter :Tarballs: http://pdfposter.origo.ethz.ch/download/ What is pdfposter? -------------------- Scale and tile PDF images/pages to print on multiple pages. ``Pdfposter`` can be used to create a large poster by building it from multple pages and/or printing it on large media. It expects as input a PDF file, normally printing on a single page. The output is again a PDF file, maybe containing multiple pages together building the poster. The input page will be scaled to obtain the desired size. This is much like ``poster`` does for Postscript files, but working with PDF. Since sometimes poster does not like your files converted from PDF. :-) Indeed ``pdfposter`` was inspired by ``poster``. For more information please refere to the manpage or visit the `project homepage `_. :Author: Hartmut Goebel :Copyright: GNU Public Licence v3 (GPLv3) :Homepage: http://pdfposter.origo.ethz.ch/ From juliana.ung at sensegraphics.com Tue Jun 10 19:24:04 2008 From: juliana.ung at sensegraphics.com (Juliana Ung) Date: Tue, 10 Jun 2008 13:24:04 -0400 Subject: Python scripting on open source haptics platform, H3DAPI 2.0 Message-ID: Hi, We integrated X3D and Python scripting capabilities to our C++ written haptics platform, the H3DAPI 2.0. The beta release of H3DAPI 2.0 is on June 10, 2008, and I am attaching the news here for your information. Serious games for rehabilitation have been created using X3D and Python alone, so we thought it might be great to see more graphics-haptics applications development, whether for serious or entertainment purposes. Have a great week! /juliana Open source haptics software released at EuroHaptics 2008 - It is now easier to add the sense of touch to virtual environments with X3D, Python or C++ SenseGraphics, the haptics software provider, announces the beta release of its latest version of haptics platform, H3DAPI 2.0. The open source haptics development platform is officially released on 10 June 2008, in conjunction with EuroHaptics 2008 in Madrid, Spain. Since its introduction to the public in 2005, the H3DAPI has been used by the graphics and haptics community to create or add the simulation of touch to their applications. Built on the industry standards OpenGL and X3D, H3DAPI enables rapid haptics application development using X3D and Python alone. More major projects have been developed by extending H3DAPI capabilities with C++. The improved H3DAPI 2.0 beta now uses SenseGraphics' own haptics API, which grants users more freedom and control in haptics rendering. Users could now choose from more haptics renderers, including SensAble's OpenHaptics, Chai3D, and H3D point and sphere-based renderers. Its modular design meant that users of the open source H3DAPI could easily extend the platform, whether it is adding their own rendering algorithms, force effects, or haptic surfaces. The latest version of H3DAPI also comes with more device support, including the range of haptic devices by SensAble, ForceDimension, Novint and MOOG FCS. H3DAPI 2.0 is also bundled with Cmake now to enable easy installation. H3DAPI runs on Windows, Linux and Mac OS. SenseGraphics hopes that the new improvements to the haptics platform will aid the haptics community even more. "This is an exciting time for haptics technology. There are more haptics related activities now and we hope that H3DAPI will do its part in facilitating this growth", says Markus Israelsson, the H3DAPI product manager at SenseGraphics. SenseGraphics is in Madrid at the EuroHaptics conference this week, offering hands-on demonstrations for attendees to try the latest features and medical applications of H3DAPI. H3DAPI 2.0 beta can be downloaded at the open source haptics community, www.H3D.org, from 10 June 2008. The software is released under the GNU General Public License, with an option for commercial license. More information at www.SenseGraphics.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From millman at berkeley.edu Tue Jun 10 23:11:30 2008 From: millman at berkeley.edu (Jarrod Millman) Date: Tue, 10 Jun 2008 14:11:30 -0700 Subject: ANN: SciPy 2008 Conference Message-ID: Greetings, The SciPy 2008 Conference website is now open: http://conference.scipy.org This year's conference will be at Caltech from August 19-24: Tutorials: August 19-20 (Tuesday and Wednesday) Conference: August 21-22 (Thursday and Friday) Sprints: August 23-24 (Saturday and Sunday) Exciting things are happening in the Python community, and the SciPy 2008 Conference is an excellent opportunity to exchange ideas, learn techniques, contribute code and affect the direction of scientific computing (or just to learn what all the fuss is about). We'll be announcing the Keynote Speaker and providing a detailed schedule in the coming weeks. This year we are asking presenters to submit short papers to be included in the conference proceedings: http://conference.scipy.org/call_for_papers Cheers, -- Jarrod Millman Computational Infrastructure for Research Labs 10 Giannini Hall, UC Berkeley phone: 510.643.4014 http://cirl.berkeley.edu/ From mcfletch at vrplumber.com Wed Jun 11 02:08:33 2008 From: mcfletch at vrplumber.com (Mike C. Fletcher) Date: Tue, 10 Jun 2008 20:08:33 -0400 Subject: Regular Toronto Python User's Group (PyGTA) Meeting next Tuesday Message-ID: <484F1781.5080401@vrplumber.com> We'll be doing our regular Toronto Python User's Group meeting next Tuesday (the 17th) at Linux Caffe starting at 7pm and going until whenever-ish. This month I'll remember the third Tuesday of the month, I promise :) . Two possible topics: * How to build a celestial jukebox using Asterisk and StarPy * The Pyglet ctypes-based game/gui development library I'm currently leaning toward the first topic. Basically whichever project I work on on Friday is likely to be the winner. If you're interested in one over the other, either email me or post to pygta-general. Location details and the like available on the web-site: http://www.pygta.org/ Have fun all, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com From greg at cosc.canterbury.ac.nz Wed Jun 11 09:54:04 2008 From: greg at cosc.canterbury.ac.nz (greg) Date: Wed, 11 Jun 2008 19:54:04 +1200 Subject: ANN: Pyrex 0.9.8.4 Message-ID: <6b9f0kF3b5nb1U1@mid.individual.net> Pyrex 0.9.8.4 is now available: http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/ This version fixes a bug introduced by the last change to unsigned integer indexing. What is Pyrex? -------------- Pyrex is a language for writing Python extension modules. It lets you freely mix operations on Python and C data, with all Python reference counting and error checking handled automatically. From python-url at phaseit.net Wed Jun 11 17:03:33 2008 From: python-url at phaseit.net (Gabriel Genellina) Date: Wed, 11 Jun 2008 15:03:33 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 11) Message-ID: QOTW: "You could use exec. Probably if you find yourself doing this a lot, you're better off using a dictionary." - Erik Max Francis Python books for programmers: http://groups.google.com/group/comp.lang.python/browse_thread/thread/83d2bc376f6a5c69/ Determining in which class a method was actually defined: http://groups.google.com/group/comp.lang.python/browse_thread/thread/b79b4564f6ec7e8e/ ClassName.attribute vs self.__class__.attribute: http://groups.google.com/group/comp.lang.python/browse_thread/thread/bf6b05758c82e8a2/ How to make 5*something work as well as something*5: http://groups.google.com/group/comp.lang.python/browse_thread/thread/f0f81b4167f1c2f5/ How to kill a running thread: http://groups.google.com/group/comp.lang.python/browse_thread/thread/82636f1bdd1d2d83/ time.clock() vs time.time(), and a Windows bug: http://groups.google.com/group/comp.lang.python/browse_thread/thread/d3cfc5c82365203c/ The difference between os.path.walk and os.walk explained: http://groups.google.com/group/comp.lang.python/browse_thread/thread/a68a90bd6d3fc760/ An rather old thread but still very active - Why doesn't Python have a data-hiding mechanism? http://groups.google.com/group/comp.lang.python/browse_thread/thread/188467d724b48b32/ Configuring distutils to compile C extensions using VC2005: http://groups.google.com/group/comp.lang.python/browse_thread/thread/b58082980fbda814/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html 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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From anthony.tuininga at gmail.com Thu Jun 12 06:20:03 2008 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Wed, 11 Jun 2008 22:20:03 -0600 Subject: cx_Oracle 4.4 Message-ID: <703ae56b0806112120p8044aa6p8551cdb2e5f75781@mail.gmail.com> What is cx_Oracle? cx_Oracle is a Python extension module that allows access to Oracle and conforms to the Python database API 2.0 specifications with a few exceptions. Where do I get it? http://cx-oracle.sourceforge.net What's new? 1) Fix setup.py to handle the Oracle instant client and Oracle XE on both Linux and Windows as pointed out by many. Thanks also to the many people who also provided patches. 2) Set the default array size to 50 instead of 1 as the DB API suggests because the performance difference is so drastic and many people have recommended that the default be changed. 3) Added Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS around each blocking call for LOBs as requested by Jason Conroy who also provided an initial patch and performed a number of tests that demonstrate the new code is much more responsive. 4) Add support for acquiring cursor.description after a parse. 5) Defer type assignment when performing executemany() until the last possible moment if the value being bound in is null as suggested by Dragos Dociu. 6) When dropping a connection from the pool, ignore any errors that occur during the rollback; unfortunately, Oracle decides to commit data even when dropping a connection from the pool instead of rolling it back so the attempt still has to be made. 7) Added support for setting CLIENT_DRIVER in V$SESSION_CONNECT_INFO in Oracle 11g and higher. 8) Use cx_Oracle.InterfaceError rather than the builtin RuntimeError when unable to create the Oracle environment object as requested by Luke Mewburn since the error is specific to Oracle and someone attempting to catch any exception cannot simply use cx_Oracle.Error. 9) Translated some error codes to OperationalError as requested by Matthew Harriger; translated if/elseif/else logic to switch statement to make it more readable and to allow for additional translation if desired. 10) Transformed documentation to new format using restructured text. Thanks to Waldemar Osuch for contributing the initial draft of the new documentation. 11) Allow the password to be overwritten by a new value as requested by Alex VanderWoude; this value is retained as a convenience to the user and not used by anything in the module; if changed externally it may be convenient to keep this copy up to date. 12) Cygwin is on Windows so should be treated in the same way as noted by Matthew Cahn. 13) Add support for using setuptools if so desired as requested by Shreya Bhatt. 14) Specify that the version of Oracle 10 that is now primarily used is 10.2, not 10.1. Anthony Tuininga From f.pollastri at inrim.it Thu Jun 12 14:00:16 2008 From: f.pollastri at inrim.it (Fabrizio Pollastri) Date: Thu, 12 Jun 2008 14:00:16 +0200 Subject: AVC 0.6.0 released Message-ID: <48510FD0.9060107@inrim.it> Announcing AVC 0.6.0 ---------------------------- Webpage: http://avc.inrim.it/ What is AVC? ----------------- AVC is a multiplatform, fully automatic, live connection among graphical interface widgets and application variables for the python language. AVC supports in a uniform way the most popular widget toolkits: GTK+, Qt3, Qt4, Tk, wxWidgets. New features ----------------- * Multiple matching namespaces * Dynamic connections * Full separation between application logic and GUI Features ----------- * Fully transparent widget-variable connections * Automatic connection by matching widgets and variables names * No design pattern, no application redesign, no widget toolkit dependent code. * Multiple widget toolkits support: GTK+, Qt3, Qt4, Tk, wxWidgets. * Full compatibility and support for Glade, Qt Designer, Visual Tcl and wxGlade interface design tools. * Widgets support: button, check button, combo box, entry, label, radio button, slider, spin button, status bar, text view/edit, toggle button. * Variable types support: boolean, integer, float, string, list, tuple. * Multiple widgets to one variable connection * Dual update timing of variable value views: immediate or periodic. * Testing printout logging activity with selectable verbosity * Python package written in pure python * Free software (GNU GPL license) ---- From paul at boddie.org.uk Thu Jun 12 20:13:31 2008 From: paul at boddie.org.uk (Paul Boddie) Date: Thu, 12 Jun 2008 20:13:31 +0200 Subject: EuroPython 2008: Timetable Published Message-ID: <200806122013.31896.paul@boddie.org.uk> The conference timetable for EuroPython 2008 has now been published, describing the talk and activity schedule for the Monday, Tuesday and Wednesday of the conference week (Monday 7th July until Saturday 12th July, with sprints taking place from Thursday until Saturday). The authors of the accepted talk proposals should now have received notifications from those organisers responsible for talks and scheduling. Exciting and Engaging Topics ---------------------------- This year?s schedule includes a significant Jython presence, with talks, tutorials and a panel covering the technology, applications and the road ahead for the project. Once again, Web and Internet technologies are well represented, with distributed computing being an emerging topic this time around. Not to be outdone, representatives of the PyPy project will be on hand to describe the current state of their work. Visit the following page for full details of the timetable: http://registration.europython.eu/timetable.html Conference Registration ----------------------- Registration for the conference is still open. Visit the online booking form to reserve your place: http://registration.europython.eu/ Take a look at the main site for full details of the conference, the location, accommodation, participant activities and more: http://www.europython.org/ See you next month in Vilnius, Lithuania! From info at egenix.com Thu Jun 12 22:05:03 2008 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Thu, 12 Jun 2008 22:05:03 +0200 Subject: ANN: eGenix pyOpenSSL Distribution 0.7.0-0.9.8h-1 Message-ID: <4851816F.9060308@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com pyOpenSSL Distribution Version 0.7.0-0.9.8h-1 An easy to install and use repackaged distribution of the pyOpenSSL Python interface for OpenSSL - available on Windows and Unix platforms This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-pyOpenSSL-Distribution-0.7.0-0.9.8h-1-GA.html ________________________________________________________________________ INTRODUCTION The eGenix.com pyOpenSSL Distribution includes everything you need to get started with SSL in Python. It comes with an easy to use installer that includes the most recent OpenSSL library versions in pre-compiled form. pyOpenSSL is an open-source Python add-on (http://pyopenssl.sf.net/). OpenSSL is an open-source implementation of the SSL protocol (http://www.openssl.org/). * About Python: Python is an object-oriented Open Source programming language which runs on all modern platforms (http://www.python.org/). By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for todays IT challenges. * About eGenix: eGenix is a consulting and software product company focused on providing professional quality services and products to Python users and developers (http://www.egenix.com/). ________________________________________________________________________ NEWS This is the first release of the eGenix.com pyOpenSSL Distribution. It includes pyOpenSSL 0.7.0 and the OpenSSL 0.9.8h libraries on all supported platforms. ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the package can be found at: http://www.egenix.com/products/python/pyOpenSSL/ ________________________________________________________________________ UPGRADING Before installing this version of pyOpenSSL, please make sure that you uninstall any previously installed pyOpenSSL version. Otherwise, you could end up not using the included OpenSSL libs. _______________________________________________________________________ SUPPORT Commercial support for these packages is available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Jun 12 2008) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2008-07-07: EuroPython 2008, Vilnius, Lithuania 24 days to go :::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 From travis at enthought.com Fri Jun 13 14:34:59 2008 From: travis at enthought.com (Travis Vaught) Date: Fri, 13 Jun 2008 07:34:59 -0500 Subject: EuroSciPy Early Registration Reminder Message-ID: <6DD58ADE-4AE2-4D71-95E5-E0519DD50EB2@enthought.com> Greetings, This is a friendly reminder that the Early Registration deadline for the EuroSciPy Conference is June 15th. If you're interested in attending, but have not yet registered, please visit: http://www.scipy.org/EuroSciPy2008 The talks schedule is also now available there. Also, the keynote speaker this year will be Travis Oliphant, the primary author of the recent NumPy rewrite. For those doing scientific computing using Python, this is a conference you'll not want to miss. See you there. Travis From mfriedeman at gmail.com Sat Jun 14 03:16:40 2008 From: mfriedeman at gmail.com (Martien Friedeman) Date: Sat, 14 Jun 2008 13:16:40 +1200 Subject: CodeInvestigator 0.11.0 release Message-ID: <2DD8A217-82C8-4A68-BCA6-CB3BC7C628DD@gmail.com> CodeInvestigator version 0.11.0 was released on June 14. Changes: - CodeInvestigator can now be used with FireFox 3.0. - I've removed the alert box when a run finishes. - Thread support: - You can view 'Entry points': Entry points into a program. - The mainline of every Python program has an entry point. Each import has an entry point. - Every function where the call can't be clicked has an entry point: Every thread has an entry point. Every callback has an entry point. - The tabs above a function have been removed. You now access a call by clicking the call in the code, or if the call is made outside of the code, clicking its entry point. Bug fix: - Searches were not canceling properly. A note on its use: - If you see the 'CodeInvestigator has been stopped' alert box and you did not navigate away from it: Try using the 'NoScript' FireFox Add-on. I believe it makes the 'onunload' event more reliable. CodeInvestigator is a tracing tool for Python programs. Running a program through CodeInvestigator creates a recording. Program flow, function calls, variable values and conditions are all stored for every line the program executes. The recording is then viewed with an interface consisting of the code. The code can be clicked: A clicked variable displays its value, a clicked loop displays its iterations. You read code, and have at your disposal all the run time details of that code. A computerized desk check tool and another way to learn about your program. http://sourceforge.net/project/showfiles.php?group_id=183942 From dmitrey.kroshko at scipy.org Sun Jun 15 22:24:42 2008 From: dmitrey.kroshko at scipy.org (dmitrey) Date: Sun, 15 Jun 2008 13:24:42 -0700 (PDT) Subject: ANN: OpenOpt 0.18 (numerical optimization framework) Message-ID: <0cb83fcd-842a-489d-b79a-8c959f3657b7@f63g2000hsf.googlegroups.com> Greetings, We're pleased to announce: OpenOpt 0.18 (release), free (license: BSD) optimization framework (written in Python language) with connections to lots of solvers (some are C- or Fortran-written) is available for download. Changes since previous release 0.17 (March 15, 2008): * connection to glpk MILP solver (requires cvxopt v >= 1.0) * connection to NLP solver IPOPT (requires python-ipopt wrapper installation, that is currently available for Linux only, see openopt NLP webpage for more details) * major changes for NLP/NSP solver ralg * splitting non-linear constraints can benefit for some solvers * unified text output for NLP solvers * handling of maximization problems (via p.goal = 'max' or 'maximum') * some bugfixes, lots of code cleanup Newsline: http://openopt.blogspot.com/ Homepage: http://scipy.org/scipy/scikits/wiki/OpenOpt Regards, OpenOpt developers. From jimmy at retzlaff.com Sun Jun 15 20:42:51 2008 From: jimmy at retzlaff.com (Jimmy Retzlaff) Date: Sun, 15 Jun 2008 11:42:51 -0700 Subject: py2exe 0.6.8 released Message-ID: py2exe 0.6.8 released ===================== py2exe is a Python distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Console and Windows (GUI) applications, Windows NT services, exe and dll COM servers are supported. Changes in 0.6.8: * Support for relative imports. * Fix MemoryLoadLibrary to handle loading function addresses by ordinal numbers. Patch and test by Matthias Miller. * Using the options compressed=1, bundle_files=3, and zipfile=None at the same time now works; patch from Alexey Borzenkov. * Allow renaming of single-executable files; patch from Alexey Borzenkov. * Embedding icon resources into the image now works correctly even for ico files containing multiple images. * pyd files from different packages with the same filename no longer conflict. Patch from Grant Edwards. * There are new samples for the 'typelibs' support, including the new option of pre-generating a typelib and specifying the file as an input to py2exe. * The test suite is now included in the source distribution. Changes in 0.6.6: * Better support for Python 2.5. * Experimental support for 64-bit builds of Python on win64. * Better ISAPI support. * New samples for ISAPI and COM servers. * Support for new "command-line styles" when building Windows services. Changes in 0.6.5: * Fixed modulefinder / mf related bugs introduced in 0.6.4. This will be most evident when working with things like win32com.shell and xml.xpath. * Files no longer keep read-only attributes when they are copied as this was causing problems with the copying of some MS DLLs. Changes in 0.6.4: * New skip-archive option which copies the Python bytecode files directly into the dist directory and subdirectories - no archive is used. * An experimental new custom-boot-script option which allows a boot script to be specified (e.g., --custom-boot-script=cbs.py) which can do things like installing a customized stdout blackhole. See py2exe's boot_common.py for examples of what can be done. The custom boot script is executed during startup of the executable immediately after boot_common.py is executed. * Thomas Heller's performance improvements for finding needed modules. * Mark Hammond's fix for thread-state errors when a py2exe created executable tries to use a py2exe created COM DLL. Changes in 0.6.3: * First release assembled by py2exe's new maintainer, Jimmy Retzlaff. Code changes in this release are from Thomas Heller and Gordon Scott. * The dll-excludes option is now available on the command line. It was only possible to specify that in the options argument to the setup function before. The dll-excludes option can now be used to filter out dlls like msvcr71.dll or even w9xpopen.exe. * Fix from Gordon Scott: py2exe crashed copying extension modules in packages. Changes in 0.6.2: * Several important bugfixes: - bundled extensions in packages did not work correctly, this made the wxPython single-file sample fail with newer wxPython versions. - occasionally dlls/pyds were loaded twice, with very strange effects. - the source distribution was not complete. - it is now possible to build a debug version of py2exe. Changes in 0.6.1: * py2exe can now bundle binary extensions and dlls into the library-archive or the executable itself. This allows to finally build real single-file executables. The bundled dlls and pyds are loaded at runtime by some special code that emulates the Windows LoadLibrary function - they are never unpacked to the file system. This part of the code is distributed under the MPL 1.1, so this license is now pulled in by py2exe. * By default py2exe now includes the codecs module and the encodings package. * Several other fixes. Homepage: Download from the usual location: Enjoy, Jimmy From mmueller at python-academy.de Mon Jun 16 00:05:02 2008 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Mon, 16 Jun 2008 00:05:02 +0200 Subject: EuroSciPy - Early Bird Deadline Extended Message-ID: <4855920E.5030306@python-academy.de> Greetings, I would like to announce that the early bird deadline for the first-annual EuroSciPy conference is extended to June 20, 2008. So you have a few more days to take advantage of the reduced rate. Conference Date and Venue ------------------------- The EuroSciPy Conference will be held July 26-27, 2008 in Leipzig, Germany. http://scipy.org/EuroSciPy2008 Registration ------------ The direct link to the registration site is here: http://www.python-academy.com/euroscipy/index.html The registration fee is 100.00? for early registrants and will increase to 150.00? for late registration (after June 20). Program ------- The schedule of talks is available at: http://scipy.org/EuroSciPy2008#schedule Pre-Conference Courses ---------------------- If you like to extend your trip to Leipzig, you can attend pre-conference courses: 1.) 2-day course "Introductory to Python for Programmers" followed by a 2.) 3-day course "Python for Scientists and Engineers" http://scipy.org/EuroSciPy2008#courses About EuroSciPy --------------- EuroSciPy is designed to complement the popular SciPy Conferences which have been held for the last 7 years at Caltech (the 2008 SciPy Conference in the U.S. will be held the week of August 19-24). Similarly, the EuroSciPy Conference provides a unique opportunity to learn and affect what is happening in the realm of scientific computing with Python. Attendees will have the opportunity to review the available tools and how they apply to specific problems. By providing a forum for developers to share their Python expertise with the wider commercial, academic, and research communities, this conference fosters collaboration and facilitates the sharing of software components, techniques and a vision for high level language use in scientific computing. Typical presentations include general python use in the sciences, as well as NumPy and SciPy usage for general problem solving. Beyond the excellent talks, there are inter- session discussions that prove stimulating and helpful. Registration will include breakfast, snacks and lunch for Saturday and Sunday. Please pass this announcement along to any other relevant contacts. Many Thanks, Mike M?ller From info at egenix.com Mon Jun 16 12:13:04 2008 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Mon, 16 Jun 2008 12:13:04 +0200 Subject: ANN: eGenix mxODBC Connect Database Interface for Python 0.9.1 (beta) Message-ID: <48563CB0.5030306@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Connect Database Interface for Python Version 0.9.1 (beta) Our new client-server product for connecting Python applications to relational databases - on all major platforms This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-Connect-0.9.1-beta.html ________________________________________________________________________ INTRODUCTION The mxODBC Connect Database Interface for Python allows users to easily connect Python applications to all major databases on the market today in a highly portable and convenient way. This makes mxODBC Connect the ideal basis for writing cross-platform database programs and utilities in Python. mxODBC Connect extends our eGenix mx Python Extension series with a new client-server based product, that removes the need to install and configure ODBC drivers on the client side. This greatly simplifies setup and configuration of database driven client applications, while at the same time making the network communication between client and database server more efficient and more secure. * About Python: Python is an object-oriented Open Source programming language which runs on all modern platforms (http://www.python.org/). By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for todays IT challenges. * About eGenix: eGenix is a consulting and software product company focused on providing professional quality services and products to Python users and developers (http://www.egenix.com/). ________________________________________________________________________ HOW IT WORKS mxODBC Connect consists of two parts: a server installation which typically runs directly on the database server and a client Python package which is installed on the client machine that runs the Python application. The server part uses our high-performance database adapter mxODBC to connect to the database server. The client package communicates with the server part over a TCP/IP network, optionally using SSL encryption, advanced authentication and access controls - a feature that many database drivers fail to deliver. By separating the client application database interface from the server and using mxODBC Connect, you gain several benefits: * high portability and flexibility * centralized configuration and administration * added security * automatic fail-over * scalability * lower costs For more information, please have a look at the product page: http://www.egenix.com/products/python/mxODBCConnect/ ________________________________________________________________________ NEWS mxODBC Connect 0.9 is a public beta release of our new mxODBC Connect product. If you would like to participate in the beta, please see our beta program page: http://www.egenix.com/products/python/mxODBCConnect/beta.html *SPECIAL OFFER* In order to make participation in the beta program more interesting for our users, we will be giving out *free discount coupons* to all participants who report back bugs in the product. ________________________________________________________________________ DOWNLOADS The download archives as well as instructions for installation and configuration of the product can be found on the product page: http://www.egenix.com/products/python/mxODBCConnect/ _______________________________________________________________________ SUPPORT Commercial support for this product is available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Jun 16 2008) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2008-07-07: EuroPython 2008, Vilnius, Lithuania 20 days to go :::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 From python-url at phaseit.net Mon Jun 16 18:15:44 2008 From: python-url at phaseit.net (Gabriel Genellina) Date: Mon, 16 Jun 2008 16:15:44 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 16) Message-ID: QOTW: "The problem [with C++] is, I never feel like I'm programing the *problem*, I always feel like I'm programming the *language*." - Roy Smith Alternatives to the Decimal type: http://groups.google.com/group/comp.lang.python/browse_thread/thread/9cd6dae725268afb/ How to invert a dictionary: http://groups.google.com/group/comp.lang.python/browse_thread/thread/a8222b9dd036e4ef/ Why wxPython is not a standard module (and why some consider it "unpythonic"): http://groups.google.com/group/comp.lang.python/browse_thread/thread/fde7680a07b79cb0/ Why map(None, ...) behaves in the specific way it does: http://groups.google.com/group/comp.lang.python/browse_thread/thread/fe79adf209747a52/ Raw strings, backslashes, filenames, GUI input... A big confusion finally resolved: http://groups.google.com/group/comp.lang.python/browse_thread/thread/43940eb4de069f63/ A simple and suposedly "safe" eval() that isn't safe at all - malicious users can execute arbitrary code: http://groups.google.com/group/comp.lang.python/browse_thread/thread/40d765b5eedfb57/ How networks work - mostly off topic, but clearly and simply explained: http://groups.google.com/group/comp.lang.python/browse_thread/thread/e84dff684899c3f2/ Confusing the Google Data API, the services it access, and their licenses: http://groups.google.com/group/comp.lang.python/browse_thread/thread/b632eee9dc98b26c/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html 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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From anto.cuni at gmail.com Mon Jun 16 21:38:25 2008 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 16 Jun 2008 12:38:25 -0700 (PDT) Subject: Vilnius/Post EuroPython PyPy Sprint 10-12th of July Message-ID: ======================================================== Vilnius/Post EuroPython PyPy Sprint 10-12th of July ======================================================== The PyPy team is sprinting at EuroPython again and we invite you to participate in our 3 day long sprint at the conference hotel - Reval Hotel Lietuva. If you plan to attend the sprint we recommend you to listen to the PyPy technical talks (`EuroPython schedule`_) during the conference since it will give you a good overview of the status of development. On the morning of the first sprint day (10th) we will also have a tutorial session for those new to PyPy development. As 3 days is relatively short for a PyPy sprint we suggest to travel back home on the 13th if possible (but it is ok to attend less than 3 days too). ------------------------------ Goals and topics of the sprint ------------------------------ There are many possible and interesting sprint topics to work on - here we list some possible task areas: * try out Python programs and fix them or fix PyPy or fix performance bottlenecks * some JIT improvement work * port the stackless transform to ootypesystem * other interesting stuff that you would like to work on ...;-) ------------ Registration ------------ If you'd like to come, please subscribe to the `pypy-sprint mailing list`_ and drop a note about your interests and post any questions. More organisational information will be sent to that list. Please register by adding yourself on the following list (via svn): http://codespeak.net/svn/pypy/extradoc/sprintinfo/post-ep2008/people.txt or on the pypy-sprint mailing list if you do not yet have check-in rights: http://codespeak.net/mailman/listinfo/pypy-sprint --------------------------------------- Preparation (if you feel it is needed): --------------------------------------- * read the `getting-started`_ pages on http://codespeak.net/pypy * for inspiration, overview and technical status you are welcome to read `the technical reports available and other relevant documentation`_ * please direct any technical and/or development oriented questions to pypy-dev at codespeak.net and any sprint organizing/logistical questions to pypy-sprint at codespeak.net * if you need information about the conference, potential hotels, directions etc we recommend to look at http://www.europython.org. We are looking forward to meet you at the Vilnius Post EuroPython PyPy sprint! The PyPy team .. See also .. .. _getting-started: http://codespeak.net/pypy/dist/pypy/doc/getting-started.html .. _`pypy-sprint mailing list`: http://codespeak.net/mailman/listinfo/pypy-sprint .. _`the technical reports available and other relevant documentation`: http://codespeak.net/pypy/dist/pypy/doc/index.html .. _`EuroPython schedule`: http://europython.org/timetable From mark.john.rees at gmail.com Tue Jun 17 14:52:53 2008 From: mark.john.rees at gmail.com (Mark Rees) Date: Tue, 17 Jun 2008 22:52:53 +1000 Subject: OSDC 2008 CFP closes Monday 30 June Message-ID: Hi fellow Pythoneers, There is less than two weeks to get your paper proposal in for the opportunity to speak and attend Australia's Open Source Developers' Conference! The deadline for proposals is 30th June 2008. The Open Source Developers' Conference is an Australian conference designed for developers, by developers. Papers on Open Source languages, technologies, projects, tools and well as topics of interest to Open Source developers are being solicited for submission to OSDC 2008. So if you are an Open Source maintainer, developer or user, the organising committee would encourage you to submit a talk proposal on the open source tools, solutions, languages or technologies you are working with. The conference will be held at SMC Conference venue in the Sydney CBD, New South Wales, from the 2nd to the 5th of December, 2008. We have had some great proposals submitted already, including keynotes from Chris DiBona, Anthony Baxter, Andrew Tridgell and Pia Waugh. This is your chance to give the open source Python project you are passionate about more exposure. Being a speaker at OSDC 2008, has it's privileges. As well as having your paper published in the conference proceedings, you will get a free admission to the 3 days of the main conference and the conference dinner. If you have any questions, or have never submitted a paper proposal before, please read our FAQ page at http://www.osdc.com.au/2008/faq/ If you don't find an answer there, please contact program osdc.com.au To submit a proposal, follow the instructions at http://www.osdc.com.au/2008/papers/cfp.html Regards Mark Rees Marketing Coordinator OSDC 2008 Committee -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdavid at itaapy.com Tue Jun 17 14:41:44 2008 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Tue, 17 Jun 2008 14:41:44 +0200 Subject: itools 0.20.6 released Message-ID: <4857B108.9070303@itaapy.com> itools is a Python library, it groups a number of packages into a single meta-package for easier development and deployment: itools.abnf itools.http itools.tmx itools.catalog itools.i18n itools.uri itools.csv itools.ical itools.vfs itools.datatypes itools.odf itools.web itools.gettext itools.pdf itools.workflow itools.git itools.rest itools.xliff itools.handlers itools.rss itools.xml itools.html itools.stl The only feature enhancement in this release is the addition of two new options to the "isetup-quality.py" script. The "--show-lines" option to help tracking down the offensive code. And the "--graph" option, which produces some graphs showing quality information over time. There have been some bugs fixed and other minor changes. The packages concerned include "handlers", "csv", "stl", "vfs" and "xml". The required version of the Glib has been dropt from 2.14 to 2.12. Resources --------- Download http://download.ikaaro.org/itools/itools-0.20.6.tar.gz http://download.ikaaro.org/itools/itools-0.20.6.win32-py2.5.exe http://download.ikaaro.org/itools/itools-0.20.6.win32-py2.4.exe Home http://www.ikaaro.org/itools Mailing list http://www.ikaaro.org/community/ http://archives.ikaaro.org/index.cgi?list=itools Bug Tracker http://bugs.ikaaro.org/ -- J. David Ib??ez Itaapy Tel +33 (0)1 42 23 67 45 9 rue Darwin, 75018 Paris Fax +33 (0)1 53 28 27 88 From cbc at unc.edu Tue Jun 17 21:49:57 2008 From: cbc at unc.edu (Chris Calloway) Date: Tue, 17 Jun 2008 15:49:57 -0400 Subject: BootCampArama Early Bird Registration Reminder Message-ID: <48581565.8040308@unc.edu> Just a reminder, we're at the two week warning on early bird registration for PyCamp: http://trizpug.org/boot-camp/2008/ Registration is now open for: PyCamp: Python Boot Camp, August 4 - 8 Plone Boot Camp: Customizing Plone, July 28 - August 1 Advanced Plone Boot Camp: Plone 3 Techniques, August 4 - 7 All of these take place on the campus of the University of North Carolina at Chapel Hill in state of the art high tech classrooms, with free mass transit, low-cost accommodations with free wireless, and convenient dining options. Plone Boot Camp is taught by Joel Burton, twice chair of the Plone Foundation. Joel has logged more the 200 days at the head of Plone classrooms on four continents. See plonebootcamps.com for dozens of testimonials from Joel's students. PyCamp is taught by Chris Calloway, facilitator for TriZPUG and application analyst for the Southeast Coastal Ocean Observing System. Chris has developed PyCamp for over 1500 hours on behalf of Python user groups. Early bird registration runs through June 30. So register today! PyCamp is TriZPUG's Python Boot Camp, which takes a programmer familiar with basic programming concepts to the status of Python developer with one week of training. If you have previous scripting or programming experience and want to step into Python programming as quickly and painlessly as possible, this boot camp is for you. PyCamp is also the perfect follow-on to Plone Boot Camp: Customizing Plone the previous week. At Plone Boot Camp: Customizing Plone you will learn the essentials you need to build your Plone site and deploy it. This course is the most popular in the Plone world--for a good reason: it teaches you practical skills in a friendly, hands-on format. This bootcamp is aimed at: * people with HTML or web design experience * people with some or no Python experience * people with some or no Zope/Plone experience It covers using Plone, customizing, and deploying Plone sites. At Advanced Plone Boot Camp: Plone 3 Techniques you will learn to build a site using the best practices of Plone 3 as well as advance your skills in scripting and developing for Plone. The course covers the new technologies in Plone 3.0 and 3.1 intended for site integrators and developers: our new portlet infrastructure, viewlets, versioning, and a friendly introduction to Zope 3 component architecture. Now, updated for Plone 3.1! The course is intended for people who have experience with the basics of Plone site development and HTML/CSS. It will cover what you need to know to take advantage of these new technologies in Plone 3. For more information contact: info at trizpug.org -- Sincerely, Chris Calloway http://www.secoora.org office: 332 Chapman Hall phone: (919) 599-3530 mail: Campus Box #3300, UNC-CH, Chapel Hill, NC 27599 From vb at viblo.se Tue Jun 17 23:52:35 2008 From: vb at viblo.se (vb at viblo.se) Date: Tue, 17 Jun 2008 23:52:35 +0200 Subject: ANN: pymunk 0.8 released Message-ID: <20080617235235.zyxszevakgc4swsw@webbmail.loopia.se> Hi everyone, Im glad to announce that pymunk 0.8 have been released, a library wrapping the 2d physics engine Chipmunk. You can find it here: http://code.google.com/p/pymunk/ What is pymunk? =============== pymunk is a wrapper around the 2d rigid body physics library Chipmunk, http://wiki.slembcke.net/main/published/Chipmunk It puts a pythonic layer above chipmunk to make it easy to use for python programmers. The main goal with pymunk is to make 2d physics easy to include in your game/project. It is (or striving to be): * Easy to use It should be easy to use, no complicated stuff should be needed to add physics to your game/program. * "Pythonic" It should not be visible that a c-library (chipmunk) is in the bottom, it should feel like a python library (no strange naming, OO, no memory handling and more) * Simple to build & install You shouldnt need to have a zillion of libraries installed to make it install, or do a lot of command line trixs. * Multiplatform Should work on both windows, nix and OSX. * Non-intrusive It should not put restrictions on how you structure your progam and not force you to use a special game loop, it should be possible to use with other libraries like pygame and pyglet. Its licensed under MIT just as Chipmunk, so everyone should be able to use it. What is new? ============ This is the first release I actively promote, and the latest additions made up to this release is a better build script, automatic vector conversion and a number of small improvements here and there. /Victor - main pymunk developer (vb at viblo.se) From ryan at rfk.id.au Wed Jun 18 07:28:12 2008 From: ryan at rfk.id.au (Ryan Kelly) Date: Wed, 18 Jun 2008 15:28:12 +1000 Subject: ANN: PyEnchant 1.4.2 Message-ID: <1213766892.7036.14.camel@mango> Hi All, ? I'm pleased to announce the release of PyEnchant version 1.4.2, with the following changes: * upgrade underlying enchant library to v1.4.2 * windows version can now be installed at a path containing unicode characters Cheers, Ryan About: ------- Enchant (http://www.abisource.com/enchant/) is the spellchecking package behind the AbiWord word processor. It's completely cross-platform because it wraps various native spellchecking engines to provide a uniform interface. PyEnchant brings this simple, powerful and flexible spellchecking engine to Python: http://pyenchant.sourceforge.net/ It also provides extended functionality including classes for tokenizing text and iterating over the spelling errors in it, as well as a ready-to-use text interface dialog for wxPython and GTK. Current Version: 1.4.2 Licence: LGPL with exemptions, as per Enchant itself -- Ryan Kelly http://www.rfk.id.au | This message is digitally signed. Please visit ryan at rfk.id.au | http://www.rfk.id.au/ramblings/gpg/ for details -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: From pierre-yves.david at logilab.fr Wed Jun 18 12:16:35 2008 From: pierre-yves.david at logilab.fr (Pierre-Yves David) Date: Wed, 18 Jun 2008 12:16:35 +0200 Subject: apycot 0.12.1 released Message-ID: <20080618101635.GA9143@logilab.fr> I am pleased to announce the 0.12.1 release of apycot. What is apycot ? ---------------- This package is designed to run tests on a code repository on a daily basis. It comes with a set of predefined tests, essentially for python packages, and a set of predefined reports to display execution results. However, it has been designed to be highly extensible, so you could write your own tests or report using the Python language (i.e. this framework is NOT limited to test Python code !). What's new ? ------------ Here is the main improvements since the 0.10.0 Robustness ~~~~~~~~~~ - critical checker failure does not lead to missing tests in the final report. - status of failed checks are more accurate and more precise trace is included in the report. - new limits on CPU usage, execution duration and memory usage can be set to control resources used by tests. Tests interrupted for these limits are reported in the final report. Easy and flexible configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - new "includes" option in the MAIN section allows to split the configuration in multiple files. Supporting glob pattern it's now very simple to add and remove parts of a configuration - new "includes-tests" statement replaces the old "tests=" clause. Supports the glob pattern too, in order to easily select which tests to run. - Test can now define which preprocessors they depends on when used as dependency using the "preprocessors" option. _check_test is deprecated. - New checkers options are availables; check changelog for details. Miscellaneous ~~~~~~~~~~~~~ * The old XML structure was replaced by lxml's ElementTree. It's now simpler to write reporters * The apycot script outputs have been improved, adding timestamp option, highlighting Test output and suppressing number or unexpected line. * various bugfixs * apycot now requires python >= 2.4 Home page --------- http://www.logilab.org/projects/apycot Download -------- ftp://ftp.logilab.org/pub/apycot Mailing list ------------ mailto://qa-projects at logilab.org More information about Logilab is available at http://www.logilab.fr/ For more Free Software check out http://www.logilab.org From info at egenix.com Wed Jun 18 18:27:25 2008 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Wed, 18 Jun 2008 18:27:25 +0200 Subject: ANN: eGenix mx Base Distribution 3.1.0 Message-ID: <4859376D.4040003@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mx Base Distribution Version 3.1.0 Open Source Python extensions providing important and useful services for Python programmers. This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.1.0-GA.html ________________________________________________________________________ ABOUT The eGenix.com mx Base Distribution for Python is a collection of professional quality software tools which enhance Python's usability in many important areas such as fast text searching, date/time processing and high speed data types. The tools have a proven record of being portable across many Unix and Windows platforms. You can write applications which use the tools on Windows and then run them on Unix platforms without change due to the consistent platform independent interfaces. Contents of the distribution: * mxDateTime - Date/Time Library for Python * mxTextTools - Fast Text Parsing and Processing Tools for Python * mxProxy - Object Access Control for Python * mxBeeBase - On-disk B+Tree Based Database Kit for Python * mxURL - Flexible URL Data-Type for Python * mxUID - Fast Universal Identifiers for Python * mxStack - Fast and Memory-Efficient Stack Type for Python * mxQueue - Fast and Memory-Efficient Queue Type for Python * mxTools - Fast Everyday Helpers for Python All available packages have proven their stability and usefulness in many mission critical applications and various commercial settings all around the world. * About Python: Python is an object-oriented Open Source programming language which runs on all modern platforms (http://www.python.org/). By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for todays IT challenges. * About eGenix: eGenix is a consulting and software product company focused on providing professional quality services and products to Python users and developers (http://www.egenix.com/). ________________________________________________________________________ NEWS The 3.1.0 release of the eGenix mx Base Distribution has a number of enhancements over the previous version 3.0.0. Apart from a few minor bug fixes, it provides a few new features: Some highlights: * mxTools now has a new mx.Tools.dlopen() function which allow loading shared libraries explicitly and from a specific path. This allows working around problems with not being able to dynamically set LD_LIBRARY_PATH on Unix platforms. * mxTools can be configured to expose a new API called mx.Tools.setproctitle() which allows setting the process title on Unix platforms. * mxBeeBase comes with a new on-disk dictionary version called BeeFixedLengthStringDict, which allows using keys with embedded \0 characters. * mxSetup, our Python distutils extension, can now build prebuilt archives that no longer require the "... build --skip ..." command to skip the build process. The uninstall command now also works for prebuilt archives and the bdist_prebuilt command has been enhanced to be able to build pure Python distributions as well. * mxSetup now also works together with setuptools to e.g. build and install the packages as eggs. Run setup.py with --use-setuptools to enable this support. For a more detailed description of changes, please see the respective package documentation on our web-site. As always, we are providing pre-compiled versions of the package for the most popular Python platforms. For all others, you can compile the package from source using "python setup.py install". ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the packages can be found on the eGenix mx Base Distribution page: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ LICENSE The eGenix mx Base package is distributed under the eGenix.com Public License 1.1.0 which is a CNRI Python License style Open Source license. You can use the package in both commercial and non-commercial settings without fee or charge. The package comes with full source code ________________________________________________________________________ SUPPORT Commercial support for these packages is available from eGenix.com. Please see http://www.egenix.com/services/support/ for details about our support offerings. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Jun 18 2008) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2008-07-07: EuroPython 2008, Vilnius, Lithuania 18 days to go :::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 From pasalic at cs.rice.edu Wed Jun 18 22:49:54 2008 From: pasalic at cs.rice.edu (Emir Pasalic) Date: Wed, 18 Jun 2008 16:49:54 -0400 Subject: First Call for Papers: DSL WC Message-ID: IFIP Working Conference on Domain Specific Languages (DSL WC) July 15-17, 2009, Oxford CALL FOR PAPERS Domain-specific languages are emerging as a fundamental component of software engineering practice. DSLs are often introduced when new domains such as web-scripting or markup come into existence, but it is also common to see DSLs being introduced and adopted for traditional domains such as parsing and data description. Developing software using DSLs has many benefits. DSLs are often designed based on existing notations that are already in use by experts in a given domain. As such, successful DSLs often reduce or eliminate the effort needed to transform the concept or innovation produced by the domain expert into an executable artifact or even a deliverable software product. DSL implementations can capture and mechanize a significant portion of the repetitive and mechanical tasks that a domain expert traditionally needed to perform in order to produce an executable. DSLs can in many cases capture and make widely available special expertise that only top specialists in a given domain might have. By capturing expert knowledge and reducing repetitive tasks, DSLs often also lead to software that is significantly more portable, more reliable and more understandable than it would otherwise be. DSLs can be viewed as having a dual role to general-purpose languages: whereas general purpose languages try to do everything as well as possible, DSLs are designed to find a domain where they can solve some class of problems -- no matter how small -- in the best possible way. Widely known examples of DSLs include Matlab, Verilog, SQL, LINQ, JavaScript, PERL, HTML, Open GL, Tcl/Tk, Macromedia Director, Mathematica/Maple, AutoLisp/AutoCAD, XSLT, RPM, Make, lex/yacc, LaTeX, PostScript, Excel, among many others. But while these tools have been widely successful, they still fall short of realizing the full idea behind them. The goal of this conference is to explore the extent to which incorporating modern principles of language design and software engineering can benefit existing and future domain-specific languages. The ultimate goal of using DSLs is to improve programmer productivity and software quality. Often, this is achieved by reducing the cost of initial software development as well as maintenance costs. These improvements - programs being easier to write and maintain - materialize as a result of domain-specific guarantees, analyses, testing techniques, verification techniques, and optimizations. * Paper Criteria Papers are sought addressing the research problems, fundamental principles, and practical techniques of DSLs, including but not limited to: - Foundations, including semantics, formal methods, type theory, and complexity theory - Language design, ranging from concrete syntax to semantic and typing issues - Software engineering, including domain analysis, software design, and round-trip engineering - Software processes, including metrics for software and language evaluation - Implementation techniques, including parsing, compiling, and program generation - Program analysis and automated transformation - Reverse engineering, re-engineering, design discovery, automated refactoring - Hardware/software codesign - Programming environments, including visual languages, debuggers, and testing infrastructure - Teaching DSLs and the use of DSLs in teaching - Case studies, including engineering, bioinformatics, hardware specification languages, parallel computing languages, real-time and embedded systems, and networked and distributed domains Papers will be judged on the depth of their insight and the extent to which they translate specific experience into general lessons for domain-specific language designers and implementers, and software engineers. Papers can range from the practical to the theoretical; where appropriate, they should refer to actual languages, tools, and techniques, provide pointers to full definitions and implementations, and include empirical data on results. * Important Dates - December 14th, 2008: Abstract submission due. Firm, will not have any extensions - December 21st, 2008: Paper submission deadline. Firm, will not have any extensions - February 23rd, 2009: Author notification of decisions - March 22nd, 2009: Camera ready manuscripts due * Program Committee - Jon Bentley, Avayalabs - Martin Erwig, Oregon State University - Jeff Gray, University of Alabama at Birmingham - Robert Grimm, New York University - Jim Grundy, Intel Strategic CAD Labs - Tom Henzinger, EPFL - Sam Kamin, UIUC - Dick Kieburtz, Portland State University - Ralf L?mmel, University of Koblenz - Julia Lawall, University of Copenhagen - Benjamin Pierce, University of Pennsylvania - Vivek Sarkar, Rice University - Jeremy Siek, University of Colorado at Boulder - Jos? Nuno Oliveira, University of Minho - Doaitse Swierstra, Utrecht University - Walid Taha (Chair), Rice University - Eelco Visser, Delft University - William Waite, University of Colorado at Boulder - Stephanie Weirich, University of Pennsylvania * Organizers - General Chair: Jeremy Gibbons, Oxford University - Publicity Chair: Emir Pasalic, LogicBlox From emir.pasalic at logicblox.com Wed Jun 18 22:54:52 2008 From: emir.pasalic at logicblox.com (Emir Pasalic) Date: Wed, 18 Jun 2008 16:54:52 -0400 Subject: Middle Earth Programming Languages Seminar (MEPLS) Message-ID: <973710B7-FF8F-40BC-A5F9-5954C7E47B53@logicblox.com> This is a one-time announcement regarding the creation of a local special interest group serving the Texas/Oklahoma/New Mexico area. The goals of this group are: - Bring together researchers, students, and practitioners - Provide a local forum for sharing research and teaching ideas - Cover topics such as programming languages, theorem proving, formal methods, etc To join this group, please sign up at the mailing list link available at: http://resource-aware.org/twiki/bin/view/ProgrammingLanguages/MEPLS All future announcements relating to MEPLS will be made on this mailing list. After signing up, please take a look at the (brief) currently outline for the format of the next meeting. If you have any comments about the plans, please email taha @ rice.edu. -------------- next part -------------- An HTML attachment was scrubbed... URL: From barry at python.org Thu Jun 19 04:46:06 2008 From: barry at python.org (Barry Warsaw) Date: Wed, 18 Jun 2008 22:46:06 -0400 Subject: RELEASED Python 2.6b1 and 3.0b1 Message-ID: <1972109D-735D-4485-82F4-9BC8F2984967@python.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On behalf of the Python development team and the Python community, I am happy to announce the first beta releases of Python 2.6 and Python 3.0. Please note that these are beta releases, and as such are not suitable for production environments. We continue to strive for a high degree of quality, and these releases are intended to freeze the feature set for Python 2.6 and 3.0. From now until the planned final releases in September 2008, we will be fixing known problems and stabilizing these new Python versions. You can help by downloading and testing them, providing feedback and hopefully helping to fix bugs. You can also use these releases to determine how changes in 2.6 and 3.0 might impact you. If you find things broken or incorrect, please submit bug reports at http://bugs.python.org For more information and downloadable distributions, see the Python 2.6 website: http://www.python.org/download/releases/2.6/ and the Python 3.0 web site: http://www.python.org/download/releases/3.0/ See PEP 361 for release schedule details: http://www.python.org/dev/peps/pep-0361/ Enjoy, - -Barry Barry Warsaw barry at python.org Python 2.6/3.0 Release Manager (on behalf of the entire python-dev team) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iQCVAwUBSFnIbnEjvBPtnXfVAQKCMgP+L9Vpk9vQgYw01KShtF9HyvCKE0guSy86 0Q/IRbkXGahXg910D4nVLY9NORaOSq/VP8Kx+fOU8egUDHvVF9MuKkY75ZHYoixR mieeV7BIpYHYKYhva48FVoF4p0+sUeNvfeOAP0nnV5Pi2icGqCpzizfSHZloXJjc Y8M4F5vVrOM= =Oo15 -----END PGP SIGNATURE----- From dgasevic at acm.org Thu Jun 19 17:00:26 2008 From: dgasevic at acm.org (Dragan Gasevic) Date: Thu, 19 Jun 2008 09:00:26 -0600 Subject: CfP: 1st International Conference on Software Language Engineering (SLE 2008) Message-ID: ___________________________________________________________________ 2nd Call for Papers - SLE 2008 1st International Conference on Software Language Engineering http://planet-sl.org/sle2008/ Toulouse, France, September 29-30, 2008 ___________________________________________________________________ Co-located with 11th IEEE/ACM International Conference on Model-Driven Engineering Languages and Systems (MODELS 2008) Conference proceedings will be published in Springer's LNCS series. The 1st International Conference on Software Language Engineering (SLE) is devoted to topics related to artificial languages in software engineering. SLE is an international research forum that aims to bring together researchers and practitioners from both industry and academia to expand the frontiers of software language engineering. Historically, SLE emerged from two established workshop series: LDTA, Language Descriptions, Tools, and Applications, which has been a satellite event at ETAPS for the last 8 years, and ATEM which has been co-located with MODELS and WCRE for the last 5 years. These, as well as several other conferences and workshops, have investigated various aspects of language design, implementation, and evolution but from different perspectives. SLE's foremost mission is to encourage and organize communication between communities that have traditionally looked at software languages from different, more specialized, and yet complementary perspectives. SLE emphasizes the fundamental notion of languages as opposed to any realization in specific "technical spaces". Scope ----- The term "software language" comprises all sorts of artificial languages used in software development including general purpose programming languages, domain-specific languages, modeling and metamodeling languages, data models, and ontologies. We use this term in its broadest sense. Thus, for example, modeling languages include UML and UML-based languages, synchronous languages used in safety critical applications, business process modeling languages, and web application modeling languages, to name a few. Perhaps less obviously, the term "software language" also comprises APIs and collections of design patterns that are indeed implicitly defined languages. Software language engineering is the application of a systematic, disciplined, quantifiable approach to the development, use, and maintenance of these languages. Thus, the SLE conference is concerned with all phases of the lifecycle of software languages; these include the design, implementation, documentation, testing, deployment, evolution, recovery, and retirement of languages. Of special interest are tools, techniques, methods and formalisms that support these activities. In particular, tools are often based on or even automatically generated from a formal description of the language. Hence, of special interest is the treatment of language descriptions as software artifacts, akin to programs - while paying attention to the special status of language descriptions, subject to tailored engineering principles and methods for modularization, refactoring, refinement, composition, versioning, co-evolution, and analysis. Topics of interest ------------------ We solicit high-quality contributions in the area of SLE ranging from theoretical and conceptual contributions to tools, techniques and frameworks that support the aforementioned lifecycle activities. Some examples of tools, techniques, applications, and problems are listed below in order to clarify the types of contributions sought by SLE. * Formalisms used in designing and specifying languages and tools that analyze such language descriptions: For example, of interest are formalisms such as grammars, schemas, ontologies, and metamodels; innovative tools that detect inconsistencies in a metamodel or analyze grammars in building a parser; and formal logics and proof assistants that verify properties of language specifications. * Language implementation techniques: This includes advances in traditional compiler generator tools such as parser/scanner generators, attribute grammar systems, term-rewriting systems, functional-programming-based combinator libraries, among many others; also of interest are metamodel-based and ontology tools such as constraint, rule, view, transformation, and query formalisms and engines. * Program and model transformation tools: Examples include tools that support program refinement and refactoring, model-based development, aspect and model weaving, model extraction, metamodeling, model transformations, round-trip engineering, and runtime system transformation. * Composition, integration, and mapping tools for managing different aspects of software languages or different manifestations of a given language: For example, SLE is interested in tools for mapping between the concrete and abstract syntax of a language, for managing textual and graphical concrete syntax for the same or closely related languages; also, mapping descriptions and tools for XML/object/relational mappings. * Language evolution: Included are extensible languages and type systems and their supporting tools, as well as language conversion tools. APIs, when considered as languages, are subject to evolution; thus tools and techniques that assist developers in using a new version of an API or a competing implementation in a program are also of interest. * Approaches to the elicitation, specification, and verification of requirements for software languages: Examples include the use of requirements engineering techniques in the development of domain-specific languages and the application of logic-based formalisms for verifying language requirements. * Language development frameworks, methodologies, techniques, best practices, and tools for the broader language lifecycle covering phases such as analysis, testing, and documentation. For example, frameworks for advanced type or error checking systems, constraint mechanisms, tools for metrics measurement and language usage analysis, documentation generators, visualization backends, knowledge and process management approaches, as well as IDE support for many of these activities are of interest. * Design challenges in SLE: Example challenges include finding a balance between specificity and generality in designing domain-specific languages, between strong static typing and weaker yet more flexible type systems, or between deep and shallow embedding approaches, as, for example, in the context of adding type-safe XML and database programming support to general-purpose programming languages. * Applications of languages including innovative domain-specific languages or "little" languages: Examples include policy languages for security or service oriented architectures, web-engineering with schema-based generators or ontology-based annotations. Of specific interest are the engineering aspects of domain-specific language support in all of these cases. Do note that this list is not exclusive and many examples of tools, techniques, approaches have not been listed. The program committee chairs encourage potential contributors to contact them with questions about the scope and topics of interest of SLE. Paper Submission ---------------- We solicit the following types of papers: * Research papers. These should report a substantial research contribution to SLE and/or successful application of SLE techniques. Full paper submissions must not exceed 20 pages. * Short papers. These may describe interesting or thought-provoking concepts that are not yet fully developed or evaluated, make an initial contribution to challenging research issues in SLE, or discuss and analyze controversial issues in the field. These papers must not exceed 10 pages. * Tool demonstration papers. Because of SLE's ample interest in tools, we seek papers that present software tools related to the field of SLE. These papers will accompany a tool demonstration to be given at the conference. These papers must not exceed 10 pages. The selection criteria include the originality of the tool, its innovative aspects, the relevance of the tool to SLE, and the maturity of the tool. Submissions may also include an appendix (that will not be published) containing additional screen-shots and discussion of the proposed demonstration. * Panel proposals. Panels that discuss controversial and challenging issues in the area of SLE, perhaps based on looking at SLE related problems from the different perspectives of different communities are also sought. The panels should have at least three panelists and a moderator, and the proposal must not exceed three pages. One panel is planned for the end of each of the two days of the conference program. The panel moderators will be invited to contribute a summary of the panel discussion compiling different positions presented on the panel to the final proceedings. Submitted articles must not have been previously published or currently be submitted for publication elsewhere. All submitted papers will be closely reviewed by at least three members of the program committee. All accepted papers will be made available at the conference in the pre-proceedings and published in the post-proceedings of the conference, which will appear in Springer's Lecture Notes in Computer Science series. Authors will have the opportunity to revise their accepted paper for the pre and post-proceedings. All papers must be formatted by following Springer's LNCS style and will be submitted using EasyChair: http://www.easychair.org/conferences/?conf=sle2008. Further details regarding submission can be found on the SLE web page: http://planet-sl.org/sle2008/. Special Issue ------------- Negotiations are underway to compile a special issue in an appropriate journal based on extended versions of selected SLE 2008 papers. Important Dates --------------- * Paper submission: July 14, 2008 * Author notification: August 25, 2008 * Paper submission for pre-proceedings: September 8, 2008 * Conference: September 29 - 30, 2008 * Camera-ready paper submission for post-proceedings: November 1, 2008 * LNCS post-proceedings mailed to authors (approx.): February 1, 2009 Keynote Speakers ---------------- * Mark van den Brand, TU Eindhoven, The Netherlands * Anneke Kleppe, Capgemini, The Netherlands Organization ------------ Steering Committee * Mark van den Brand, TU Eindhoven, The Netherlands * James Cordy, Queen's University, Canada * Jean-Marie Favre, University of Grenoble, France * Dragan Gasevic, Athabasca University, Canada * Gorel Hedin, Lund University, Sweden * Ralf Laemmel, Universitat Koblenz-Landau, Germany * Eric Van Wyk, University of Minnesota, USA * Andreas Winter, Johannes Gutenberg-Universitat Mainz, Germany General Chair * Ralf Laemmel, Universitat Koblenz-Landau, Germany Program Committee Co-Chairs * Dragan Gasevic, Athabasca University, Canada * Eric Van Wyk, University of Minnesota, USA Organization Committee * Jean-Marie Favre, University of Grenoble, France * Jean-Sebastien Sottet, Web Chair, University of Grenoble, France * Andreas Winter, Johannes Gutenberg-Universitat Mainz, Germany * Steffen Zschaler, Publicity Chair, TU Dresden, Germany Program Committee * Uwe A?mann, Technische Universitaet Dresden, Germany * Colin Atkinson, Universit?t Mannheim, Germany * Jean Bezivin, Uinversit? de Nantes, France * Judith Bishop, University of Pretoria, South Africa * Marco Brambilla, Politecnico di Milano, Italy * Martin Bravenboer, Unversity of Oregon, USA * Charles Consel, Uinversity of Paris VI, France * Torbj?rn Ekman, Oxford University, England * Gregor Engels, Universit?t Paderborn, Germany * Robert Fuhrer, IBM, USA * Dragan Gasevic, co-chair, Athabasca University, Canada * Martin Gogolla, University of Bremen, Germany * Jeff Gray, University of Alabama at Birmingham, USA * Klaus Havelund, NASA Jet Propulsion Labs, USA * Reiko Heckel, Uinversity of Leicester, England * Nigel Horspool, Univeristy of Victoria, Canada * Joe Kiniry, University College Dublin, Ireland * Paul Klint, CWI, The Netherlands * Mitch Kokar, Northeaster Univeristy, USA * Thomas Kuehne, Victoria University of Wellington, New Zealand * Julia Lawall, DIKU, Denmark * Oege de Moor, Oxford University, England * Pirre-Etienne Moreau, INRIA & LORIA, France * Pierre-Alain Muller, University of Haute-Alsace, France * Richard Paige, University of York, England * Jeff Pan, University of Aberdeen, Scotland * Jo?o Saraiva, Universidad do Minho, Portugal * Micael Schwartzbach, University of Aarhus, Denmark * Anthony Sloane, Macquarie University, Australia * Steffen Staab, University of Koblenz-Landau, Germany * Laurence Tratt, Bournemouth University, England * Walid Taha, Rice University, USA * Eli Tilevich, Virginia Tech, USA * Juha-Pekka Tolvanen, MetaCase, Finland * Eric Van Wyk, co-chair, University of Minnesota, USA * Jurgen Vinju, CWI, The Netherlands * Mike Whalen, Rockwell Collins, USA * Steffen Zschaler, Technische Universitaet Dresden, Germany From fabiofz at gmail.com Thu Jun 19 18:11:06 2008 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Thu, 19 Jun 2008 13:11:06 -0300 Subject: Pydev 1.3.18 Released Message-ID: Hi All, Pydev and Pydev Extensions 1.3.18 have been released Details on Pydev Extensions: http://www.fabioz.com/pydev Details on Pydev: http://pydev.sf.net Details on its development: http://pydev.blogspot.com Release Highlights in Pydev Extensions: ----------------------------------------------------------------- * Auto-import: Groups imports when possible. * Auto-import: Doesn't bring imports for completions already in the document even if a parse is not successful. * Organize Imports (ctrl+shift+O): Suggests imports to the undefined tokens in the editor. * Import quick-fix: Icons correspondent to the element being imported. Release Highlights in Pydev: ---------------------------------------------- * Executing external programs: Using Runtime.exec(String[] cmdargs) instead of a string with the generated command (fixes problems regarding having spaces in the installation). * Organize Imports (ctrl+shift+O): Imports can be grouped. * Cygwin: sys.executable in cygwin was not returning '.exe' in the end of the executable as it should. * Additional paths for PYTHONPATH (Patch from Eric Wittmann): extension point allows plugins to contribute paths to the PYTHONPATH. * Code-completion: typing '.' won't apply the selected completion, but will still request a new one with the current contents. * Pydev Package Explorer: Problem while trying to show active editor on the pydev package explorer. What is PyDev? --------------------------- PyDev is a plugin that enables users to use Eclipse for Python and Jython development -- making Eclipse a first class Python IDE -- It comes with many goodies such as code completion, syntax highlighting, syntax analysis, refactor, debug and many others. Cheers, -- Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software http://www.esss.com.br Pydev Extensions http://www.fabioz.com/pydev Pydev - Python Development Enviroment for Eclipse http://pydev.sf.net http://pydev.blogspot.com From mmueller at python-academy.de Thu Jun 19 23:09:35 2008 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Thu, 19 Jun 2008 23:09:35 +0200 Subject: EuroSciPy - Early Registration ends June 20th Message-ID: <485ACB0F.8050001@python-academy.de> Greetings, This is a friendly reminder that the Early Registration deadline for the EuroSciPy Conference is June 20th. Conference Date and Venue ------------------------- The EuroSciPy Conference will be held July 26-27, 2008 in Leipzig, Germany. http://scipy.org/EuroSciPy2008 Registration ------------ The direct link to the registration site is here: http://www.python-academy.com/euroscipy/index.html The registration fee is 100.00? for early registrants and will increase to 150.00? for late registration (after June 20). Program ------- The schedule of talks is available at: http://scipy.org/EuroSciPy2008#schedule Keynote ------- The keynote speaker this year will be Travis Oliphant, the primary author of the recent NumPy rewrite. Pre-Conference Courses ---------------------- If you like to extend your trip to Leipzig, you can attend pre-conference courses: 1.) 2-day course "Introductory to Python for Programmers" followed by a 2.) 3-day course "Python for Scientists and Engineers" http://scipy.org/EuroSciPy2008#courses About EuroSciPy --------------- EuroSciPy is designed to complement the popular SciPy Conferences which have been held for the last 7 years at Caltech (the 2008 SciPy Conference in the U.S. will be held the week of August 19-24). Similarly, the EuroSciPy Conference provides a unique opportunity to learn and affect what is happening in the realm of scientific computing with Python. Attendees will have the opportunity to review the available tools and how they apply to specific problems. By providing a forum for developers to share their Python expertise with the wider commercial, academic, and research communities, this conference fosters collaboration and facilitates the sharing of software components, techniques and a vision for high level language use in scientific computing. Typical presentations include general python use in the sciences, as well as NumPy and SciPy usage for general problem solving. Beyond the excellent talks, there are inter- session discussions that prove stimulating and helpful. Registration will include breakfast, snacks and lunch for Saturday and Sunday. For those doing scientific computing using Python, this is a conference you'll not want to miss. Please pass this announcement along to any other relevant contacts. Many Thanks, Mike M?ller From skip at pobox.com Fri Jun 20 04:23:04 2008 From: skip at pobox.com (skip at pobox.com) Date: Thu, 19 Jun 2008 21:23:04 -0500 Subject: lockfile 0.3 Message-ID: <18523.5256.535666.154556@montanaro-dyndns-org.local> Lockfile 0.3 is now available from PyPI: http://pypi.python.org/pypi/lockfile This version fixed a problem in the 2.4 adapter file and expands the documentation slightly. Functionally it is unchanged from 0.2. What is lockfile? The lockfile module exports a FileLock class that provides a simple API for locking files. Unlike the Windows msvcrt.locking function, the Unix fcntl.flock and fcntl.lockf functions and the deprecated posixfile module, the API is identical across both Unix (including Linux and Mac) and Windows platforms. The lock mechanism relies on the atomic nature of the link (on Unix) and mkdir (On Windows) system calls. -- Skip Montanaro - skip at pobox.com - http://www.webfast.com/~skip/ "Be different, express yourself like everyone else." From stefan_ml at behnel.de Fri Jun 20 10:20:10 2008 From: stefan_ml at behnel.de (Stefan Behnel) Date: Fri, 20 Jun 2008 10:20:10 +0200 Subject: lxml 2.1 beta3 released Message-ID: <485b6839$0$7534$9b4e6d93@newsspool1.arcor-online.net> Hi all, I'm proud to release lxml 2.1beta3 to PyPI. This is the first lxml release that builds and works on Python 2.3, 2.4, 2.5, 2.6 (beta) and 3.0 (beta). http://codespeak.net/lxml/dev/ http://pypi.python.org/pypi/lxml/2.1beta3 Install with easy_install lxml==2.1beta3 What is lxml? """ In short: lxml is the most feature-rich and easy-to-use library for working with XML and HTML in the Python language. lxml is a Pythonic binding for the libxml2 and libxslt libraries. It is unique in that it combines the speed and feature completeness of these libraries with the simplicity of a native Python API. """ Unusual for a beta release, the third beta contains more new features than bug fixes, which is largely (but not only) due to adaptations with respect to Python 3. The changelog follows below. I expect this to be the last beta release before 2.1 final. Feedback is very much appreciated, especially on the "experimental" features like the namespace cleanup function and on Python 2.6/3.0 support. Your feedback will help in making the final release the best lxml ever. Have fun, Stefan 2.1beta3 (2008-06-19) Features added * Major overhaul of tools/xpathgrep.py script. * Pickling ElementTree objects in lxml.objectify. * Support for parsing from file-like objects that return unicode strings. * New function etree.cleanup_namespaces(el) that removes unused namespace declarations from a (sub)tree (experimental). * XSLT results support the buffer protocol in Python 3. * Polymorphic functions in lxml.html that accept either a tree or a parsable string will return either a UTF-8 encoded byte string, a unicode string or a tree, based on the type of the input. Previously, the result was always a byte string or a tree. * Support for Python 2.6 and 3.0 beta. * File name handling now uses a heuristic to convert between byte strings (usually filenames) and unicode strings (usually URLs). * Parsing from a plain file object frees the GIL under Python 2.x. * Running iterparse() on a plain file (or filename) frees the GIL on reading under Python 2.x. * Conversion functions html_to_xhtml() and xhtml_to_html() in lxml.html (experimental). * Most features in lxml.html work for XHTML namespaced tag names (experimental). Bugs fixed * ElementTree.parse() didn't handle target parser result. * Crash in Element class lookup classes when the __init__() method of the super class is not called from Python subclasses. * A number of problems related to unicode/byte string conversion of filenames and error messages were fixed. * Building on MacOS-X now passes the "flat_namespace" option to the C compiler, which reportedly prevents build quirks and crashes on this platform. * Windows build was broken. * Rare crash when serialising to a file object with certain encodings. Other changes * Non-ASCII characters in attribute values are no longer escaped on serialisation. * Passing non-ASCII byte strings or invalid unicode strings as .tag, namespaces, etc. will result in a ValueError instead of an AssertionError (just like the tag well-formedness check). * Up to several times faster attribute access (i.e. tree traversal) in lxml.objectify. From LEnglish5 at cox.net Fri Jun 20 23:00:24 2008 From: LEnglish5 at cox.net (Lawson English) Date: Fri, 20 Jun 2008 14:00:24 -0700 Subject: [ANN] Virtual Worlds Open Grid Protocol testing library in Python (pyogp) Message-ID: A new open source project has been started by Linden Lab, makers of the Second Life? virtual worlds, and the Second Life Architecture Working Group (AWG) to test LL's proposed virtual worlds Open Grid Protocol (OGP) that will allow any virtual world to support multi-world login, between-world teleport and other transportation mechanisms, as well as asset/property and currency sharing between worlds. https://wiki.secondlife.com/w/index.php?title=AWG_Test_Harness The code is released to all comers in Python under an Apache v2 agreement, although contributions require the signing of Linden Lab's developer contribution agreement (giving LL equal copyrights to the original contributer--a boilerplate LL corporate requirement that likely is redundant given the nature of Apache v2). svn: http://svn.secondlife.com/trac/linden/browser/projects/2008/pyogp. Second Life contribution agreement: http://secondlifegrid.net.s3.amazonaws.com/docs/SLVcontribution_agmt.pdf irc: irc://irc.freenode.net/#pyogp AWG homepage: https://wiki.secondlife.com/wiki/AWG AWG discussion group homepage: https://wiki.secondlife.com/wiki/Category:AW_Groupies AWG-related pages, irc channels and forums: https://wiki.secondlife.com/wiki/Category:AW_Groupies#External_Resources The near-term AWG goal is to create a set of open standard protocols that: 1) Enable third parties to run servers that connect to the Second Life Grid platform 2) Scale the Second Life Grid architecture to support the industry-projected situation in the next 10 years, where virtual worlds will comprise at least 60 million regions, 2 billion users and in-world concurrency of 50-100 million residents. https://wiki.secondlife.com/wiki/SLGOGP_Draft_1 https://wiki.secondlife.com/wiki/SLGOGP_Teleport_Strawman The long-term goal is to design a set of protocols and standards that will enable almost any virtual world of any kind to "plug into" this system to varying degrees, from support for a "universal avatar" to full support for all Second Life features and/or the ability to inform universal 3D viewers what features are supported (or not) in any given virtual world. More info on pyogp and the AWG can be obtained on the website or via irc. Lawson English AKA Saijana Kuhn, AWGroupies admin From casevh at gmail.com Mon Jun 23 02:43:15 2008 From: casevh at gmail.com (casevh) Date: Sun, 22 Jun 2008 17:43:15 -0700 (PDT) Subject: ANN: gmpy v1.03 is released Message-ID: <8613e7fb-a9e9-4470-be60-4bd95298226f@c19g2000prf.googlegroups.com> Hi everyone, I'm happy to announce that GMPY v1.03 has been released. It is available at: http://code.google.com/p/gmpy/ What is GMPY? ================== GMPY is a C-coded Python extension module that wraps the GMP library to provide to Python code fast multiprecision arithmetic (integer, rational, and float), random number generation, advanced number-theoretical functions, and more. What is new? ================== * Two significant bugs on 64-bit platforms have been fixed. * Improved support for building on Mac OSX. * Instructions for building on Windows are now included. * Binary installers are provided for Windows, including Python 2.6. * In addition, abinary installer using a version of GMP specifically optimized for Core2 processors is provided for Python 2.6. Enjoy, Case Van Horsen From python at cx.hu Mon Jun 23 07:00:24 2008 From: python at cx.hu (Ferenczi Viktor) Date: Mon, 23 Jun 2008 07:00:24 +0200 Subject: anntools 0.5.1 - Tools for function annotation Message-ID: <200806230700.25581.python@cx.hu> I'm pleased to announce the first alpha version of anntools, a utility package for Python 3.0's new function annotation feature. It supports validation, type checking and conversion. It provides cooperation schemes to achieve future compatibility with another annotation based tools. The anntools package is also usable with Python 2.4 and 2.5, since all functionality is also supported through keyword arguments passed to decorators. Download, examples and documentation: http://code.google.com/p/anntools/ NOTE: It is currently alpha quality software, please do not use it for production use yet. You can add bug reports to the issue tracker. From georg at python.org Mon Jun 23 14:30:20 2008 From: georg at python.org (Georg Brandl) Date: Mon, 23 Jun 2008 14:30:20 +0200 Subject: Sphinx 0.4 released Message-ID: <485F975C.2010207@python.org> I'm pleased to announce the next minor version of Sphinx, the Python documentation generation tool. What is it? =========== Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText source files). Its website is at . Important changes ================= (full list at http://sphinx.pocoo.org/changes.html) * The new config value `default_role` can be used to select the default role for all documents. * Sphinx now interprets field lists with fields like ``:param foo:`` in description units. * The new `staticmethod` directive can be used to mark methods as static methods. * The new TextBuilder creates plain-text output. * Autodoc Extension: - The autodoc extension now offers a much more flexible way to manipulate docstrings before including them into the output, via the new `autodoc-process-docstring` event. - The `autodoc` extension accepts signatures for functions, methods and classes now that override the signature got via introspection from Python code. - The `autodoc` extension now offers a ``show-inheritance`` option for autoclass that inserts a list of bases after the signature. - The autodoc directives now support the ``noindex`` flag option. * HTML output: - The "previous" and "next" links have a more logical structure, so that by following "next" links you can traverse the entire TOC tree. - The new event `html-page-context` can be used to include custom values into the context used when rendering an HTML template. - The new config value `html_favicon` can be used to set a favicon for the HTML output. Thanks to Sebastian Wiesner. - The new config value `html_split_index` can be used to create separate index pages for each letter, to be used when the complete index is too large for one page. - The module index now isn't collapsed if the number of submodules is larger than the number of toplevel modules. * The image directive now supports specifying the extension as ``.*``, which makes the builder select the one that matches best. Thanks to Sebastian Wiesner. * The new config value `exclude_trees` can be used to exclude whole subtrees from the search for source files. * Python 3-style signatures, giving a return annotation via ``->``, are now supported. Enjoy! Georg From trentm at activestate.com Tue Jun 24 19:33:13 2008 From: trentm at activestate.com (Trent Mick) Date: Tue, 24 Jun 2008 10:33:13 -0700 Subject: ANN: Komodo IDE 4.4 & Komodo Edit 4.4 released Message-ID: <48612FD9.9010809@activestate.com> Komodo IDE 4.4.0 and Komodo Edit 4.4.0 have been released. Installers for Windows, Mac OS X and Linux are available here: http://www.activestate.com/products/komodo_ide/ http://www.activestate.com/products/komodo_edit/ Or, if you have Komodo 4.3 installed, auto-update should provide the update for you automatically sometime today. What's New in Komodo 4.4.0 ========================== * [Komodo IDE] A new "Sections List" filterable menu list has been added to the status bar. This supports all of Komodo's core "codeintel" languages plus it provides a file outline for C/C++, Java, CSS, XML/HTML files and more. * [Komodo IDE] A number of improvements to Source Code Control -- in particular a multi-file commit dialog and a "Change List" tab (next to the Toolbox) that tracks what files you are editing/adding/deleting from SCC while in Komodo to help you commit those files in logic change sets. * Column mode editing. Often requested, finally here. * Plus many many bug fixes and user interface improvements. Get the full details here: http://docs.activestate.com/komodo/4.4/releases/ide.html About Komodo ============ Komodo IDE is a commercial multi-platform integrated development environment for dynamic languages (Python, Ruby, Perl, PHP, JavaScript) and web tech (HTML, CSS, XML, XSLT): full-featured debuggers; code browsing; Subversion, CVS and Perforce integration, regular expression toolkit (Rx); interactive shells; and everything in Komodo Edit. Komodo Edit is the free and *open-source* little brother of Komodo IDE. It is a multi-platform, multi-language editor that kicks ass. Features include: - an excellent editor (based on Scintilla) - autocomplete and calltips for many languages - Vi and Emacs keybindings - background syntax checking - syntax coloring for dozens of languages (including template languages like Django's template language) - schema-based XML autocomplete - full project support - remote files - extensibility via Python or JavaScript macros, or via Firefox-style extensions - multi-language file support (get HTML, CSS and JavaScript autocomplete all in one HTML file!). Let us know what you think here: community: http://community.activestate.com/products/Komodo email: http://listserv.activestate.com/mailman/listinfo/komodo-discuss bugs: http://bugs.activestate.com/enter_bug.cgi?product=Komodo Enjoy, Trent -- Trent Mick trentm at activestate.com From python-url at phaseit.net Tue Jun 24 19:47:13 2008 From: python-url at phaseit.net (Gabriel Genellina) Date: Tue, 24 Jun 2008 17:47:13 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 24) Message-ID: QOTW: "I find that eloquent Python speakers often tend to write a for loop when mere good ones will try to stick a list comprehension in!" - Arnaud Delobelle http://groups.google.com/group/comp.lang.python/msg/dfc72ea32f1f9c91 The first beta release of Python 3.0 is out (jointly with 2.6b1): http://groups.google.com/group/comp.lang.python/browse_thread/thread/baed11a52a011db3/ A case where generating Python source code may be the right answer: http://groups.google.com/group/comp.lang.python/browse_thread/thread/646169e4558bf5cd/ Jump to a specific line number in a text file: http://groups.google.com/group/comp.lang.python/browse_thread/thread/256642d6e9d7abe4/ Problem: how to break out of multiple threads when some are waiting for I/O: http://groups.google.com/group/comp.lang.python/browse_thread/thread/59fa6ebbeefc62cc/ Several ways (very different!) to split complex comma-separated expressions: http://groups.google.com/group/comp.lang.python/browse_thread/thread/deba5d550991a3bd/ Martin v. L=F6wis explains why it's difficult to compute the size of an object accurately: http://groups.google.com/group/comp.lang.python/browse_thread/thread/28a66f81876f286c/ A proposal for ordered dictionaries: http://groups.google.com/group/comp.lang.python/browse_thread/thread/311037a19055442c/ Launching a Ruby script and getting data back: http://groups.google.com/group/comp.lang.python/browse_thread/thread/5e6dbcabc4f7459f/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html 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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From robin at alldunn.com Wed Jun 25 21:20:20 2008 From: robin at alldunn.com (Robin Dunn) Date: Wed, 25 Jun 2008 12:20:20 -0700 Subject: ANN: wxPython 2.8.8.0 Message-ID: <48629A74.2030109@alldunn.com> Announcing ---------- The 2.8.8.0 release of wxPython is now available for download at http://wxpython.org/download.php. This release has had a number of further refinements and enhancements on the stable 2.8 source tree since the previous release. On Mac OS X 10.5 (Leopard) the Python 2.5 binaries of wxPython are able to be used with either Apple's system Python, or with the Python.org version. Source code is available, as well as binaries for Python 2.3, 2.4 and 2.5, for Windows and Mac, as well some packages for various Linux distributions. A summary of changes is listed below and also at http://wxpython.org/recentchanges.php. What is wxPython? ----------------- wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module that wraps the GUI components of the popular wxWidgets cross platform library, which is written in C++. wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit Microsoft Windows, most Linux or other Unix-like systems using GTK2, and Mac OS X 10.3+, in most cases the native widgets are used on each platform to provide a 100% native look and feel for the application. Changes in 2.8.8.0 ------------------ Added the PlateButton class from Cody Precord. Added wx.PyEvtHandler, which supports overriding the ProcessEvent method in derived classes. Instances of this class can be pushed onto the event handler chain of a window in order to hook into the event processing algorithm, and its ProcessEvent method will be called for every event sent to the window. With much help from Anthony Tuininga the code generated by the img2py tool is now cleaner, simpler and smaller. Instead of writing the data for the images as printable ascii with hex escapes it now uses base64 to encode the images into a string. In addition, instead of top-level functions for returning the image data and bitmaps, the embedded images now use a simple class with methods for returning the image as a bitmap, icon, or etc. By default in 2.8.x top-level aliases will be generated to make the code backward compatible with the old functional interface, but you can use -F to turn that off. In 2.9 and beyond the default will be to generate only the new class interface, but -f can be used to turn the old behavior back on. The PyEmbeddedImage class added for the new img2py support can also be used for image data that may be acquired from some other source at runtime, such as over the network or from a database. In this case pass False for isBase64 (unless the data actually is base64 encoded.) Any image type that wx.ImageFromStream can handle should be okay. See the wx.lib.embeddedimage module for details. Exposed the wx.GenericDatePickerCtrl to wxPython. On wxGTK and wxMac this is exactly the same as the normal date picker, but on wxMSW it allows you to avoid the native wx.DatePickerCtrl if so desired. Also fixed a bug that caused an assert if you tried to set the date to wx.DefaultDateTime even if wx.DP_ALLOWNONE was specified. Made a little hack in wx.lib.masked.TextCtrl that allows it to be wrapped around an already existing TextCtrl instead of always creating its own. This is useful for example with the wx.TextCtrl that is built-in to the customizable wx.combo.ComboCtrl, or with a textctrl that is part of an XRC layout. To use it you need to do a little trick like this:: existingTextCtrl = combo.GetTextCtrl() maskedCtrl = wx.lib.masked.TextCtrl.__new__(wx.lib.masked.TextCtrl) maskedCtrl.this = existingTextCtrl.this maskedCtrl.__init__(parent) Enhanced the Widget Inspection Tool with some new functionality. Added tools to the toolbar to expand and collapse the widget tree, which is very helpful for not getting lost in very large applications with many hundreds of widgets. Also added a toolbar tool for highlighting the currently selected widget or sizer in the live application. The tool will flash top-level windows and for all other items it will draw an outline around the item for a few seconds. Copied the sized_controls module to the wx.lib package as the first step of phasing out the wxaddons package. Added an implementation of wx.Window.SetDoubleBuffered on Windows. (GTK already has one, and Mac doesn't need one because everything is always double buffered by the system there.) Added a wrapper to wx.TopLevelWindow for MacGetTopLevelWindowRef to facilitate calling the Carbon APIs directly for things that are not supported in wx, similar to how we can use ctypes or PyWin32 with window.GetHandle() to do custom stuff on Windows. (On wxMac GetHandle returns the ControlRef, which is different than the WindowRef, hence the need for a 2nd method.) Here is an example to set the modified flag in the caption:: >>> import ctypes >>> carbon = ctypes.CDLL('/System/Library/Carbon.framework/Carbon') >>> carbon.SetWindowModified(frame.MacGetTopLevelWindowRef(), True) Added a new light-weight solution for embedding ActiveX controls in wxPython applications that uses ctypes and the comtypes package available from http://starship.python.net/crew/theller/comtypes/. Comtypes allows us to use and provide an interface with full dynamic dispatch abilities, much like PyWin32's COM interfaces but with much reduced external dependencies. See wx/lib/activex.py for more details. IMPORTANT: Be sure to get at least version 0.5 of comtypes, see the docstring in the wx.lib.activex module for details. The wx.lib.iewin, wx.lib.pdfwin, and wx.lib.flashwin modules were switched to use the new and improved activex module. The APIs provided by these modules should be mostly compatible with what was there before, except for how the COM events are handled. Instead of sending wx events it relies on you overriding methods with the same names as the COM events. You can either do it in a or derived class, or you can set an instance of some other class to be the event sink. See the ActiveX_IEHtmlWindow sample in the demo for an example. If you would rather continue to use the old version of these modules they are available in the wx.lib with "_old" added to the names. Added the wx.lib.resizewidget module. This module provides the ResizeWidget class, which reparents a given widget into a specialized panel that provides a resize handle for the widget. When the user drags the resize handle the widget is resized accordingly, and an event is sent to notify parents that they should recalculate their layout. -- Robin Dunn Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython! From james.pye at gmail.com Thu Jun 26 05:44:04 2008 From: james.pye at gmail.com (james.pye at gmail.com) Date: Wed, 25 Jun 2008 20:44:04 -0700 (PDT) Subject: pg/python release Message-ID: <48c0c580-ee1a-4aae-a2da-c94c5c5b741d@f63g2000hsf.googlegroups.com> pg/python release ================= Date ``Sun Jun 22 15:57:42 MST 2008`` Summary ``Bug Fixes`` Changes ------- pg_proboscis-1.0.2: - Fix cursor-identifier based ``cursor`` creation. - Fix DB-API 2.0 connect() showstopper. (sigh) - Detect errno.ECONNRESET and properly mark the connection as 'LOST' (By not doing so, a superfluous exception would get thrown on close()) pg_pqueue-1.0.1: - Correct the signed-ness of tuple descriptor attributes. - Fix Describe(Portal) message handling. About ===== http://python.projects.postgresql.org/?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0.2 pg/python is a project dedicated to improving the Python interfaces to PostgreSQL. pg/python is not a monolithic project. It isolates components to encourage targeted packaging and reusability without unwanted side- code. Projects -------- pg_proboscis The programmer's client providing both DB-API 2.0 and GreenTrunk interfaces. pg_teop The procedural language. ("PL/Py", In development) pg_foundation Basics. Exception hierarchy, optparse options, SQL string splitter, types, and much more. pg_typical Binary type I/O routines. Arrays, composite types, geo-types, primitives. Uses pg_foundation's ``postgresql.types`` to instantiate some types. pg_pqueue PQ protocol basics. What pg_proboscis uses to do PQ 3.0. pg_greentrunk The GreenTrunk APIs are specified in a module herein. pg_boss PostgreSQL cluster management. (In development) pg_tin Cluster management for developer testing. (In development) Driver Overview --------------- pg_proboscis is a Python programmer's client for PostgreSQL(driver/ interface). It distinguishes itself from other drivers by the following: - BSD/MIT licensed (from some drivers ;) - Pure-Python (Optional C-extension for reading wire messages) - Binary type transmission (no need to escape bytea, for instance) - Protocol level prepared statements (parameter types are dictated by the server) - Protocol level cursors (You can even open cursors created on the server via GT) Allows results to be streamed in. - Alternate database APIs (GreenTrunk, for those that aren't fond of DB-API 2.0) - Composite type support - Structured Arrays (including arrays of composite types for some versions of PG) - COPY interfaces that work with arbitrary iterators (See examples further down) - with_statement support for managing transactions, savepoints, and setting contexts - executemany()/query.load() takes advantage of PQ 3.0's extended protocol - So many unittests. Really. And more to come. - Obsessive dedication to creating *great* software. The GreenTrunk API is defined using the ``postgresql.protocol.greentrunk.api`` module. Getting help() on this module or using the included ``pg_greentrunk`` console script yields reference material for using GreenTrunk connections. However, pg_proboscis is not exclusively GreenTrunk, it includes a DB-API 2.0 compliant module as well. [('pyformat' paramstyle) postgresql.interface.proboscis.dbapi2] Downloading =========== It is suggested to just use easy_install:: $ python -m easy_install pg_proboscis $ python -m easy_install If that is not desireable, you'll have to download the files from: http://python.projects.postgresql.org/files/ Note: It is unlikely that pg_teop will be ever be installable via easy_install. Documentation ============= The places you will likely want to visit: http://python.projects.postgresql.org/doc/pg_proboscis-1.0.html?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0.2 (How to make a connection, and the pb_python command) http://python.projects.postgresql.org/doc/pg_greentrunk-1.0.html?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0.2 (Connection APIs) http://python.projects.postgresql.org/doc/pg_foundation-1.0.html?utm_source=release&utm_medium=email&utm_campaign=pg_proboscis-1.0.2 (optparse options, pgpass parser, all sorts of things postgres) GreenTrunk Examples =================== The use of the '~'-operation is exhibited quite freely here. When invoked, query objects return a cursor object, so in order to provide more convenient access to simple data, the '~' can be used to quickly get the first column of the first row of a single-column result set. ``gtx`` is the connection object. These examples come from a ``pb_python`` run. ``pb_python`` is a console script that establishes a connection, binds it to the ``__builtins__`` module as ``gtx``, and then runs the "python command"(provides a Python command with a database connection; ie, interactive console if no script is given). Protocol Level Prepared Statements by Default --------------------------------------------- :: # Create a prepared statement. >>> q = gtx.query('select * from pg_type where typname = $1') >>> q >>> dir(q) ['__call__', '__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__invert__', '__iter__', '__lshift__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_input_io', '_output_attmap', '_output_io', '_rformats', 'close', 'closed', 'connection', 'defaults', 'finish', 'first', 'input', 'load', 'output', 'portal', 'prepare', 'prime', 'reprepare', 'statement_id', 'string', 'title'] # Bind a cursor. (typname = 'text') >>> r = q('text') >>> r >>> r.query >>> dir(r) ['__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__iter__', '__module__', '__new__', '__next__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_contract', '_expand', '_mktuple', '_output_attmap', '_output_io', '_rformats', '_state', '_xp_fetchmore', '_xp_move', 'close', 'closed', 'connection', 'fetchcount', 'move', 'next', 'output', 'portal_id', 'query', 'read', 'scroll', 'seek', 'whence_map'] # Grab a row. >>> row1 = r.next() >>> row1 (u'text', 11, 10, -1, False, 'b', True, ',', 0, 0, 1009, u'textin', u'textout', u'textrecv', u'textsend', u'-', u'-', u'-', 'i', 'x', False, 0, -1, 0, None, None) >>> row1.keys() ['typmodin', 'typnamespace', 'typbyval', 'typsend', 'typdelim', 'typnotnull', 'typndims', 'typinput', 'typtypmod', 'typarray', 'typdefault', 'typdefaultbin', 'typtype', 'typisdefined', 'typlen', 'typelem', 'typrelid', 'typreceive', 'typbasetype', 'typalign', 'typname', 'typstorage', 'typanalyze', 'typmodout', 'typowner', 'typoutput'] >>> row1['typlen'] -1 Primitive Types --------------- :: >>> q=gtx.query('select $1::bytea, $2::int, $3::bigint, $4::text') >>> r=q('\x00\x01', 123, 2**34, u'?oobar').next() >>> r ('\x00\x01', 123, 17179869184L, u'\u0192oobar') Arrays ------ :: >>> ~gtx.query("select ARRAY[1::int, 2, 3, 256]") postgresql.types.array([1, 2, 3, 256]) >>> a=~gtx.query("select ARRAY[1::int, 2, 3, 256]") >>> a[0] 1 >>> a[-1] 256 >>> for x in a: ... print x ... 1 2 3 256 >>> Composite Types --------------- :: >>> gtx.execute('create type test as (i int, t text)') >>> cto = ~gtx.query("select (123, 'foo')::test") >>> cto (123, u'foo') >>> cto['t'] u'foo' >>> cto[-1] u'foo' >>> for x in cto: ... print x ... 123 foo COPY TO STDOUT -------------- :: >>> copy=gtx.query('copy (select i from generate_series(1,10) g(i)) to stdout')() >>> copy >>> copy.next() '1\n' >>> copy.next() '2\n' >>> copy.read(10) ['3\n', '4\n', '5\n', '6\n', '7\n', '8\n', '9\n', '10\n'] COPY FROM STDIN --------------- :: >>> gtx.execute('create temp table t (i int, t text)') >>> copy_t = gtx.query('copy t from stdin') >>> copy_t(['%d\t%s\n'%(x,str(x) + 'text') for x in xrange(1, 100)]) >>> ~gtx.query('select count(*) FROM t') 99 >>> for i, t in gtx.query('select * from t where random() < 0.1'): ... print i, t ... 8 8text 9 9text 16 16text 17 17text 27 27text 48 48text 50 50text 62 62text 73 73text 76 76text Incremental COPY FROM STDIN --------------------------- :: >>> gtx.execute('create temp table t (i int, t text)') >>> copy_t = gtx.query('copy t from stdin') >>> ict = copy_t() >>> ict >>> dir(ict) ['__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__iter__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', '_contract', '_discover_type', '_expand', '_expect_types', '_lastcopy', '_result_types', 'close', 'closed', 'command', 'complete', 'connection', 'count', 'next', 'query', 'read', 'type', 'write', 'xact'] >>> ict.write('3\tjust text\n') >>> ict.close() >>> ~gtx.query("select * from t where t.t = 'just text'") (3, u'just text') # Again, but use the faster __call__ interface that works on an iterator. >>> ict = copy_t() >>> ict(['3\ttext and %d\n' %(x,) for x in xrange(10)]) >>> ict.close() >>> ~gtx.query("select count(*) from t where t.t ~ 'text and '") 10 Transactions ------------ :: # Error Recovery >>> with gtx.xact: ... gtx.execute('selekt 1') ... Traceback (most recent call last): File "", line 2, in File "build/bdist.freebsd-7.0-RELEASE-i386/egg/postgresql/interface/ proboscis/tracenull.py", line 1845, in execute self._complete() File "build/bdist.freebsd-7.0-RELEASE-i386/egg/postgresql/interface/ proboscis/tracenull.py", line 2378, in _complete self._pop() File "build/bdist.freebsd-7.0-RELEASE-i386/egg/postgresql/interface/ proboscis/tracenull.py", line 2408, in _pop raise xact_error SyntaxError: syntax error at or near "selekt" CODE: 42601 POSITION: 1 LOCATION: File 'scan.l', line 807, in base_yyerror >>> gtx.xact.failed >>> gtx.state 'I' # State difference >>> with gtx.xact: ... try: ... gtx.execute('selekt 1') ... except: ... print 'state: ', gtx.state ... print 'failed: ', str(gtx.xact.failed) ... state: E failed: True >>> gtx.state 'I' # Transaction manager details >>> import sys >>> gtx.tracer = sys.stderr.write >>> with gtx.xact: ... with gtx.xact: ... gtx.execute('select 1') ... ? 'Q'(18): 'START TRANSACTION\x00' ? 'C'(18): 'START TRANSACTION\x00' ? 'Z'(1): 'T' ? 'Q'(20): 'SAVEPOINT "xact(1)"\x00' ? 'C'(10): 'SAVEPOINT\x00' ? 'Z'(1): 'T' ? 'Q'(9): 'select 1\x00' ? 'T'(29): '\x00\x01?column? \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x04\xff\xff\xff\xff \x00\x00' ? 'D'(7): '\x00\x01\x00\x00\x00\x011' ? 'C'(7): 'SELECT\x00' ? 'Z'(1): 'T' ? 'Q'(18): 'RELEASE "xact(1)"\x00' ? 'C'(8): 'RELEASE\x00' ? 'Z'(1): 'T' ? 'Q'(7): 'COMMIT\x00' ? 'C'(7): 'COMMIT\x00' ? 'Z'(1): 'I' >>> del gtx.tracer From grubert at users.sourceforge.net Thu Jun 26 09:10:09 2008 From: grubert at users.sourceforge.net (grubert at users.sourceforge.net) Date: Thu, 26 Jun 2008 09:10:09 +0200 (CEST) Subject: Docutils 0.5 released Message-ID: Short list of changes * Python2.1 support was dropped, as are Netscape0.4 compromises in the HTML writer. * Enhanced citation support and literal-block parametrization for LaTeX2e writer. * The PEP writer supports new python.org website structure and pep2pyramid.py. * New OO API for directives. Hebrew (and possibly other language) mappings. Configuration files are now assumed and required to be UTF-8-encoded. Some templates and enhanced emacs support. download: http://prdownloads.sourceforge.net/docutils/docutils-0.5.tar.gz?download Changelog: http://docutils.sourceforge.net/0.5/HISTORY.html -- From travis at enthought.com Sat Jun 28 01:04:23 2008 From: travis at enthought.com (Travis Vaught) Date: Fri, 27 Jun 2008 18:04:23 -0500 Subject: SciPy Conference Updates Message-ID: Greetings, The SciPy Conference is not too far away. I thought I'd summarize some recent news about the conference in case some of you missed it: - Accommodations (news!): We've negotiated a group rate with a nearby Marriott hotel, for those that would like to take advantage of it. The hotel has set up a web site for our event here: http://cwp.marriott.com/laxot/scipyworkshop/ - Student Sponsorship: As you may have seen, the Python Software Foundation has agreed to partner with Enthought to sponsor 10 students' travel, registration, and accommodation for the tutorials, conference and (most importantly) sprints. If you're in college or a graduate program, please check out the details here: http://conference.scipy.org/sponsoring - Abstracts Submission Deadline Extended: The review committee is extending the deadline to Monday, June 30th. Please see the Call for Papers for instructions on abstract submission here: http://conference.scipy.org/call_for_papers Please drop me an email if you have any questions or comments. Best, Travis From edreamleo at charter.net Sat Jun 28 16:41:14 2008 From: edreamleo at charter.net (Edward K Ream) Date: Sat, 28 Jun 2008 09:41:14 -0500 Subject: ANN: Leo 4.5 b1 released Message-ID: Leo 4.5 beta 1 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.5: -------------------------- - A major revision of Leo's node structures, compatible with so-called unified nodes. - A major revision of Leo's key-handling code. Most per-pane key bindings have been eliminated. - A major revision of Leo's outline drawing and focus handling code. Calls to c.beginUpdate and c.endUpdate simply request later redrawing in c.outerUpdate. - The beginning of usable vim-like bindings. More support is coming. - Many small improvements and bug fixes. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Forum: http://groups.google.com/group/leo-editor Download: http://sourceforge.net/project/showfiles.php?group_id=3458 Bzr: http://code.launchpad.net/leo-editor/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------------------------------------------------------------------- Edward K. Ream email: edreamleo at yahoo.com Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From fuzzyman at gmail.com Sat Jun 28 18:58:22 2008 From: fuzzyman at gmail.com (Fuzzyman) Date: Sat, 28 Jun 2008 09:58:22 -0700 (PDT) Subject: ANN: ConfigObj 4.5.3 Released Message-ID: <6b488123-a158-4ea4-abf7-30f82a42c0c8@l64g2000hse.googlegroups.com> A new version of ConfigObj is now available, version 4.5.3. This version is a minor bugfix release. It fixes a relatively obscure bug, where an exception could be raised when validating a config file with 'copy=True' and '__many__' sections. * Home Page: http://www.voidspace.org.uk/python/configobj.html * Download: http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=configobj-4.5.3.zip ConfigObj is a Python module for the simple reading and writing of config files. It has many features, whilst remaining easy to use. With the assistance of validate it can validate a config file against a specification, and convert members to the expected type. Eggs for Python 2.4 & 2.5 are available from Python Package Index. From tomerfiliba at gmail.com Sat Jun 28 18:45:42 2008 From: tomerfiliba at gmail.com (sebulba) Date: Sat, 28 Jun 2008 09:45:42 -0700 (PDT) Subject: ANN: RPyC 3.00 RC1 Message-ID: RPyC, the transparent RPC library for python, has reached 3.00 RC1. homepage: http://rpyc.wikispaces.com download: http://sourceforge.net/project/showfiles.php?group_id=155578 final released expected within 3-4 weeks. -tomer From aahz at pythoncraft.com Sat Jun 28 21:10:11 2008 From: aahz at pythoncraft.com (Aahz) Date: Sat, 28 Jun 2008 12:10:11 -0700 Subject: OSCON discount code Message-ID: <20080628191011.GA16694@panix.com> If you're going to OSCON and haven't yet registered, you may use the following code to receive a 15% discount: os08pgm OSCON will be in Portland, Oregon 7/21-25. For more info: http://conferences.oreilly.com/oscon -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ "as long as we like the same operating system, things are cool." --piranha From LEnglish5 at cox.net Sat Jun 28 22:59:20 2008 From: LEnglish5 at cox.net (Lawson English) Date: Sat, 28 Jun 2008 13:59:20 -0700 Subject: [ANN] Update on Python-based Second Life client library (pyogp) Message-ID: Pyogp is the Python-based library being developed by Linden Lab, makers of Second Life, and the programming community of the users of Second Life under the auspices of the SL Architecture Working Group, in order to test and implement open protocols designed to allow anyone to create their own virtual world servers and clients compatible enough with Second Life so that avatars can travel to and from SL and other virtual worlds, keeping identity and inventory intact. https://wiki.secondlife.com/wiki/Pyogp irc://irc.freenode.net/#pyogp Pyogp is starting to take shape. We've got several developers from Linden Lab contributing code as part of their job, as well as increasing participation from the SL community. We've standardized on using ZCA as the component architecture and are fleshing out the framework to handle the new inter-operability protocols as well as legacy protocols to allow pyogp clients to be used with the current Second Life and OpenSim servers as well as future virtual world architectures. Groups and Organizations involved in these and other related projects include: Linden Lab http://lindenlab.com/ --pyogp https://wiki.secondlife.com/wiki/Pyogp --Architecture Working Group https://wiki.secondlife.com/wiki/Architecture_Working_Group --AW Groupies https://wiki.secondlife.com/wiki/AW_Groupies#External_Resources IBM http://www.ibm.com/virtualworlds/ Cisco http://www.slcn.tv/programs/cisco-techchat OpenMetaverse http://openmv.org/wiki/Main_Page --libsecondlife http://www.libsecondlife.org/wiki/Main_Page OpenSimulator (OpenSim) http://opensimulator.org/wiki/Main_Page OpenViewer http://openviewer.org/ realXtend http://www.realxtend.org/ Lawson English (Saijanai Kuhn, Second Life) From frank at niessink.com Sun Jun 29 20:46:50 2008 From: frank at niessink.com (Frank Niessink) Date: Sun, 29 Jun 2008 20:46:50 +0200 Subject: [ANN] Release 0.70.1 of Task Coach Message-ID: <67dd1f930806291146r2c33c276vea54165b9c37e8a0@mail.gmail.com> Hi, I'm happy to announce release 0.70.1 of Task Coach. This release optionally brings back the tabbed user interface that was removed in the previous release and fixes a few bugs. Bugs fixed: * The search control in the toolbar did not maintain state correctly for different viewers. Task Coach viewers now each have their own toolbar with search control. * Marking tasks completed or changing their priority would change the selection. * On Max OS X, put preferences menu item in the TaskCoach menu instead of the Edit menu to conform with Mac OS X standards. * Focus issues: On Mac OS X, text couldn't be edited while the timer was running. On Windows, notifications from other programs overlapping with the main window would take away focus from dialogs. * Prevent crash under Windows XP when dropping e-mail from Thunderbird if the APPDATA environment variable is not defined. * ImportError: No module named thirdparty.ElementTree. This exception would happen when using a source distribution of Task Coach or a package (rpm, deb) for Linux *and* when the default version of Python on the system is Python 2.4. Task Coach tried to import a module from the wrong package. * On Linux, when using a dark theme, use appropriate background colors for the category viewer and the text color buttons in the preferences dialog. * Remember whether the main window was maximized and if so, maximize the main window when starting the next time. * Correctly sort tasks on startup when sort column is 'Overall categories'. * Correctly redraw toolbar when it is 'damaged' by other windows. * Correctly sort effort for subtasks in effort per day, per week, and per month effort viewers. * Better navigation with tab key in dialogs. * Keep newlines in descriptions when printing or exporting to HTML. Feature added: * Task Coach can now use either the old tabbed user interface (whose layout still cannot be saved, by the way) or the 'managed frame' interface introduced in release 0.70.0. This can be changed in the Preferences dialog. 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://www.taskcoach.org In addition to the source distribution, packaged distributions are available for Windows XP/Vista, Mac OS X, and Linux (Debian and RPM format). 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