From mmueller at python-academy.de Tue Jun 2 08:02:48 2009 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Tue, 02 Jun 2009 08:02:48 +0200 Subject: [ANN] EuroSciPy 2009 - Presentation Schedule Published Message-ID: <4A24C088.8020807@python-academy.de> EuroSciPy 2009 Presentation Schedule Published ============================================== The schedule of presentations for the EuroSciPy conference is online: http://www.euroscipy.org/presentations/schedule.html We have 16 talks from a variety of scientific fields. All about using Python for scientific work. EuroSciPy 2009 ============== We're pleased to announce the EuroSciPy 2009 Conference to be held in Leipzig, Germany on July 25-26, 2009. http://www.euroscipy.org This is the second conference after the successful conference last year. Again, EuroSciPy will be a venue for the European community of users of the Python programming language in science. Registration ------------ Registration is open. The registration fee is 100.00 ? for early registrants and will increase to 150.00 ? for late registration after June 15, 2009. Registration will include breakfast, snacks and lunch for Saturday and Sunday. Please register here: http://www.euroscipy.org/registration.html Important Dates --------------- March 21 Registration opens May 8 Abstract submission deadline May 15 Acceptance of presentations May 30 Announcement of conference program June 15 Early bird registration deadline July 15 Slides submission deadline July 20 - 24 Pre-Conference courses July 25/26 Conference August 15 Paper submission deadline Venue ----- mediencampus Poetenweg 28 04155 Leipzig Germany See http://www.euroscipy.org/venue.html for details. Help Welcome ------------ You like to help make the EuroSciPy 2009 a success? Here are some ways you can get involved: * attend the conference * submit an abstract for a presentation * give a lightning talk * make EuroSciPy known: - distribute the press release (http://www.euroscipy.org/media.html) to scientific magazines or other relevant media - write about it on your website - in your blog - talk to friends about it - post to local e-mail lists - post to related forums - spread flyers and posters in your institution - make entries in relevant event calendars - anything you can think of * inform potential sponsors about the event * become a sponsor If you're interested in volunteering to help organize things or have some other idea that can help the conference, please email us at mmueller at python-academy dot de. Sponsorship ----------- Do you like to sponsor the conference? There are several options available: http://www.euroscipy.org/sponsors/become_a_sponsor.html Pre-Conference Courses ---------------------- Would you like to learn Python or about some of the most used scientific libraries in Python? Then the "Python Summer Course" [1] might be for you. There are two parts to this course: * a two-day course "Introduction to Python" [2] for people with programming experience in other languages and * a three-day course "Python for Scientists and Engineers" [3] that introduces some of the most used Python tools for scientists and engineers such as NumPy, PyTables, and matplotlib Both courses can be booked individually [4]. Of course, you can attend the courses without registering for EuroSciPy. [1] http://www.python-academy.com/courses/python_summer_course.html [2] http://www.python-academy.com/courses/python_course_programmers.html [3] http://www.python-academy.com/courses/python_course_scientists.html [4] http://www.python-academy.com/courses/dates.html From mike at pythonlibrary.org Tue Jun 2 19:47:34 2009 From: mike at pythonlibrary.org (Mike Driscoll) Date: Tue, 2 Jun 2009 12:47:34 -0500 Subject: Pyowa Meeting this Thursday Message-ID: <8188af0b0906021047p77c71631q4c7f617b62c4f90c@mail.gmail.com> Hi, Pyowa will be meeting Thursday, June 4th in Ames. We will be meeting at the Ames Public Library from 7 to 8:45 p.m. The current plan for the meeting is to have a code review of sorts on some member submitted GIS-type code. Then we will have a short presentation on one of the modules from Python's standard library. Whatever time is left over will be used for socializing and planning the next meeting. If you have ideas or would like to present something, please let me know at the meeting or through email. In other news, you can see my experiments in recording some of our meetings here: http://pyowa.blip.tv/ Please note that if you don't have a fast internet connection, then you will be disappointed as it will take eons to buffer. Let me know if you plan to come to the meeting. Thanks! Mike Driscoll Pyowa Coordinator Website: www.pyowa.org Upcoming: http://upcoming.yahoo.com/event/2677147/ Twitter: http://twitter.com/pyowa Mailing List: http://pyowalist.pythonlibrary.org/listinfo.cgi/pyowa-pythonlibrary.org From faltet at pytables.org Tue Jun 2 19:37:11 2009 From: faltet at pytables.org (Francesc Alted) Date: Tue, 2 Jun 2009 19:37:11 +0200 Subject: ANN: Numexpr 1.3 released Message-ID: <200906021937.11693.faltet@pytables.org> ======================== Announcing Numexpr 1.3 ======================== Numexpr is a fast numerical expression evaluator for NumPy. With it, expressions that operate on arrays (like "3*a+4*b") are accelerated and use less memory than doing the same calculation in Python. On this release, and due to popular demand, support for single precision floating point types has been added. This allows for both improved performance and optimal usage of memory for the single precision computations. Of course, support for single precision in combination with Intel's VML is there too :) However, caveat emptor: the casting rules for floating point types slightly differs from those of NumPy. See the ``Casting rules`` section at: http://code.google.com/p/numexpr/wiki/Overview or the README.txt file for more info on this issue. In case you want to know more in detail what has changed in this version, see: http://code.google.com/p/numexpr/wiki/ReleaseNotes or have a look at RELEASE_NOTES.txt in the tarball. Where I can find Numexpr? ========================= The project is hosted at Google code in: http://code.google.com/p/numexpr/ And you can get the packages from PyPI as well: http://pypi.python.org/pypi How it works? ============= See: http://code.google.com/p/numexpr/wiki/Overview for a detailed description by the original author (David M. Cooke). Share your experience ===================== Let us know of any bugs, suggestions, gripes, kudos, etc. you may have. Enjoy! -- Francesc Alted From markuszapke at gmx.net Wed Jun 3 08:43:06 2009 From: markuszapke at gmx.net (=?UTF-8?B?TWFya3VzIFphcGtlLUdyw7xuZGVtYW5u?=) Date: Wed, 03 Jun 2009 08:43:06 +0200 Subject: [ANN] LFS - Lightning Fast Shop presentation at Python User Group Leipzig, 9.6.2009, 20:00 Uhr Message-ID: <4A261B7A.6030206@gmx.net> Leipzig Python User Group ------------------------- Next Meeting Tuesday, June 9, 2009 We will meet on June 9 at 8:00 pm at the training center of Python Academy in Leipzig, Germany [1]. There will be a very interesting presentation by Kai Diefenbach (iqplusplus Erfurt): Kai Diefenbach: LFS - Lightning Fast Shop ----------------------------------------- LFS [2] is an online shop based on Python [3], Django [4], and jQuery [5] released under a BSD licence. The presentation gives an overview of LFS: used technologies, development status, next releases, existing and planned features as well as a live demo. Questions are welcome during the entire talk. There is more time for questions and answers after the presentation. 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 encouraged to participate. While the meeting language and the presentation will be mainly German, English speakers are very welcome. We will provide English interpretation if needed. [1] http://python-academy.de/Schulungszentrum/anfahrt.html [2] http://www.getlfs.com/ [3] http://www.python.org/ [4] http://www.djangoproject.com/ [5] http://jquery.com/ From jdavid at itaapy.com Wed Jun 3 10:49:49 2009 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Wed, 03 Jun 2009 10:49:49 +0200 Subject: itools 0.60.2 released Message-ID: <4A26392D.2010107@itaapy.com> itools 0.60.2 (2009/06/03) ========================== itools is a Python library, it groups a number of packages into a single meta-package for easier development and deployment: itools.abnf itools.i18n itools.stl itools.core itools.ical itools.tmx itools.csv itools.odf itools.uri itools.datatypes itools.pdf itools.vfs itools.gettext itools.pkg itools.web itools.git itools.relaxng itools.workflow itools.handlers itools.rest itools.xapian itools.html itools.rss itools.xliff itools.http itools.srx itools.xml The mechanism to use a subprocess to run commands and save memory has been generalized and is now provided by itools.core; the functions to check are 'start_subprocess', 'read_subprocess', 'send_subprocess' and 'stop_subprocess'. Some bugs have been fixed, including #650 and #670. Resources --------- Download http://download.hforge.org/itools/0.60/itools-0.60.2.tar.gz Home http://www.hforge.org/itools/ Mailing list http://www.hforge.org/community/ http://archives.hforge.org/index.cgi?list=itools Bug Tracker http://bugs.hforge.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 ed at leafe.com Wed Jun 3 14:48:26 2009 From: ed at leafe.com (Ed Leafe) Date: Wed, 3 Jun 2009 08:48:26 -0400 Subject: Dabo 0.9.2 released Message-ID: <0586E029-60DF-4117-8333-C42FCF25D800@leafe.com> At long last, we are finally releasing Dabo 0.9.2. This fixes the errors that were found in 0.9.1; adds a brand-new Web Update implementation that should make keeping current much easier, as well as a whole bunch of improvements under the hood. You can grab the latest version at http://dabodev.com/download. -- Ed Leafe From giles.thomas at resolversystems.com Wed Jun 3 17:38:42 2009 From: giles.thomas at resolversystems.com (Giles Thomas) Date: Wed, 3 Jun 2009 08:38:42 -0700 (PDT) Subject: ANN: Resolver One 1.5 released (corrects previous message) Message-ID: <9c761966-fc27-4031-ba34-473011f25fe2@s21g2000vbb.googlegroups.com> We are proud to announce the release of Resolver One, version 1.5. Resolver One is a Windows-based spreadsheet that integrates Python deeply into its recalculation loop, making the models you build more reliable and more maintainable. For version 1.5, we've added a console; this new command-line window gives you a way to interact with your spreadsheet using Python statements. Here's a screencast showing why this is worth doing: We have a 31-day free trial version, so if you would like to take a look, you can download it from our website: If you want to use Resolver One in an Open Source project, we offer free licenses for that: Best regards, Giles -- Giles Thomas giles.thomas at resolversystems.com +44 (0) 20 7253 6372 Win up to $17,000 for a spreadsheet: 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 jeremy+complangpythonannounce at jeremysanders.net Wed Jun 3 21:51:45 2009 From: jeremy+complangpythonannounce at jeremysanders.net (Jeremy Sanders) Date: Wed, 03 Jun 2009 20:51:45 +0100 Subject: ANN: Veusz 1.4 Message-ID: Veusz 1.4 --------- Velvet Ember Under Sky Zenith ----------------------------- http://home.gna.org/veusz/ Veusz is Copyright (C) 2003-2009 Jeremy Sanders Licenced under the GPL (version 2 or greater). Veusz is a Qt4 based scientific plotting package. It is written in Python, using PyQt4 for display and user-interfaces, and numpy for handling the numeric data. Veusz is designed to produce publication-ready Postscript/PDF output. The user interface aims to be simple, consistent and powerful. Veusz provides a GUI, command line, embedding and scripting interface (based on Python) to its plotting facilities. It also allows for manipulation and editing of datasets. Changes in 1.4: * Dates can be plotted on axes * Bar graph component, support bars in groups and stacked bars with error bars * Improved import - text lines can be ignored in imported files - prefix and suffix can be added to dataset names - more robust import dialog * Markers can be "thinned" for large datasets * Further LaTeX support, including \frac for fractions and \\ for line breaks. * Keys show error bars on datasets with errors * Axes can scale plotted data by a factor More minor changes * Mathematical expressions can be entered in many places where numbers are entered (e.g. axis minima) * Many more latex symbols * Text labels can also be placed outside graphs directly on pages * Dataset expressions can be edited * Data can be copied out of data edit dialog. Rows can be inserted or deleted. * Mac format line terminators are allowed in import files * Preview window resizes properly in import dialog Features of package: * X-Y plots (with errorbars) * Line and function plots * Contour plots * Images (with colour mappings and colorbars) * Stepped plots (for histograms) * Bar graphs * Plotting dates * Fitting functions to data * Stacked plots and arrays of plots * Plot keys * Plot labels * Shapes and arrows on plots * LaTeX-like formatting for text * EPS/PDF/PNG/SVG export * Scripting interface * Dataset creation/manipulation * Embed Veusz within other programs * Text, CSV and FITS importing Requirements: Python (2.4 or greater required) http://www.python.org/ Qt >= 4.3 (free edition) http://www.trolltech.com/products/qt/ PyQt >= 4.3 (SIP is required to be installed first) http://www.riverbankcomputing.co.uk/pyqt/ http://www.riverbankcomputing.co.uk/sip/ numpy >= 1.0 http://numpy.scipy.org/ Optional: Microsoft Core Fonts (recommended for nice output) http://corefonts.sourceforge.net/ PyFITS >= 1.1 (optional for FITS import) http://www.stsci.edu/resources/software_hardware/pyfits For documentation on using Veusz, see the "Documents" directory. The manual is in pdf, html and text format (generated from docbook). Issues with the current version: * Due to Qt, hatched regions sometimes look rather poor when exported to PostScript or PDF. * Due to a bug in Qt, some long lines, or using log scales, can lead to very slow plot times under X11. This problem is seen with dashed/dotted lines. It is fixed by upgrading to Qt-4.5.1 (the Veusz binary version includes this Qt version). * Can be very slow to plot large datasets if antialiasing is enabled. Right click on graph and disable antialias to speed up output. This is mostly a problem with older Qt versions, however. If you enjoy using Veusz, I would love to hear from you. Please join the mailing lists at https://gna.org/mail/?group=veusz to discuss new features or if you'd like to contribute code. The latest code can always be found in the SVN repository. Jeremy Sanders From a.cavallo at mailsnare.com Wed Jun 3 23:44:42 2009 From: a.cavallo at mailsnare.com (A. Cavallo) Date: Wed, 3 Jun 2009 22:44:42 +0100 Subject: Python svn builds Message-ID: <200906032244.42288.a.cavallo@mailsnare.com> Python svn build (http://pyvm.sourceforge.net) is a project to create binary distributions for the python interpreter: the source used to build them is the latest svn revision. The builds are made using the OpenSUSE buildserver https://build.opensuse.org and the test results can be seen on the website http://pyvm.sourceforge.net. The final packages in rpm format are available for CentOS/Fedora/Mandriva and OpenSUSE. Regards, Antonio Cavallo From mdipierro at cs.depaul.edu Thu Jun 4 00:20:39 2009 From: mdipierro at cs.depaul.edu (Massimo Di Pierro) Date: Wed, 3 Jun 2009 17:20:39 -0500 Subject: web2py 1.63 is OUT Message-ID: <4B22B4D1-1534-47DF-9A97-1D570B2D3DF9@cs.depaul.edu> web2py 1.63 is OUT Check out the new features in this slides: http://www.scribd.com/doc/16085263/web2py-slides-version-163 Massimo P.S. with love and respect to all other python programmers out there! From pfein at pobox.com Thu Jun 4 00:45:23 2009 From: pfein at pobox.com (Pete) Date: Wed, 3 Jun 2009 18:45:23 -0400 Subject: Change of List Location Message-ID: <9C8346B5-D6F9-4EEF-9066-B3213FC4E446@pobox.com> Hi all- Per requests, I've moved the concurrency-sig list to concurrency-sig at python.org from it's present home at Google Groups. I'll be shutting down the google list in the next few days. Sorry for any inconvenience this may have caused. --Pete From h5py at alfven.org Thu Jun 4 05:57:28 2009 From: h5py at alfven.org (Andrew Collette) Date: Wed, 3 Jun 2009 20:57:28 -0700 Subject: ANN: HDF5 for Python (h5py) 1.2 *BETA* Message-ID: ============================================ Announcing HDF5 for Python (h5py) 1.2 *BETA* ============================================ I'm pleased to announce the availability of HDF5 for Python 1.2 beta! This release represents a significant update to the h5py feature set. Bug reports, questions and complaints are welcome and needed! Downloads, bug tracker: http://h5py.googlecode.com Documentation: h5py.alfven.org Contact email: h5py at alfven dot org What is h5py? ------------- HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous amounts of data. >From a Python programmer's perspective, HDF5 provides a robust way to store data, organized by name in a tree-like fashion. You can create datasets (arrays on disk) hundreds of gigabytes in size, and perform random-access I/O on desired sections. Datasets are organized in a filesystem-like hierarchy using containers called "groups", and accesed using the tradional POSIX /path/to/resource syntax. In addition to providing interoperability with existing HDF5 datasets and platforms, h5py is a convienient way to store and retrieve arbitrary NumPy data and metadata. What's new in 1.2 ----------------- - Variable-length strings are now supported! They are mapped to native Python strings via the NumPy "object" type. VL strings may be read, written and created from h5py, and are allowed in all HDF5 contexts, even as members of compound or array types. - Enumerated types are now fully supported; they can be used in NumPy anywhere integer types are allowed, and are stored as native HDF5 enums. Conversion between integers and enums is supported. - The NumPy "array" dtype is now allowed as a top-level type when creating a dataset, not just as a member of a compound type. - Many different low-level HDF5 drivers can now be used when creating a file, which allows purely in-memory ("core") files, multi-volume ("family") files, and files which use low-level buffered I/O. - HDF5 exceptions now inherit from common Python built-ins like TypeError and ValueError (in addition to the current HDF5 error hierarchy), freeing the user from knowledge of the HDF5 error system. - Unicode file names are now supported - Groups and attributes now support the standard Python dictionary interface methods, including keys(), values() and friends. Design revisions since 1.1 -------------------------- - The role of the "name" attribute on File objects has changed. "name" now returns the HDF5 path of the File object ('/'); the file name on disk is available at File.filename. - Dictionary-interface methods for Group and AttributeManager objects have been renamed to follow the standard Python convention (keys(), values(), etc). The old method names are still available but deprecated. They will not be removed until h5py 1.4 or equivalent. - The HDF5 shuffle filter is no longer automatically activated when GZIP or LZF compression is used; many datasets "in the wild" do not benefit from shuffling. Standard features ----------------- - Supports storage of NumPy data of the following types: * Integer/Unsigned Integer * Float/Double * Complex/Double Complex * Compound ("recarray") * Strings * Boolean * Array * Enumeration (integers) * Void - Random access to datasets using the standard NumPy slicing syntax, including a subset of fancy indexing and point-based selection - Transparent compression of datasets using GZIP, LZF or SZIP, and error-detection using Fletcher32 - "Pythonic" interface supporting dictionary and NumPy-array metaphors for the high-level HDF5 abstrations like groups and datasets - A comprehensive, object-oriented wrapping of the HDF5 low-level C API via Cython, in addition to the NumPy-like high-level interface. - Supports many new features of HDF5 1.8, including recursive iteration over entire files and in-library copy operations on the file tree - Thread-safe Where to get it --------------- * Main website, documentation: http://h5py.alfven.org * Downloads, bug tracker: http://h5py.googlecode.com Requires -------- * Linux, Mac OS-X or Windows * Python 2.5 (Windows), Python 2.5 or 2.6 (Linux/Mac OS-X) * NumPy 1.0.3 or later * HDF5 1.6.5 or later (including 1.8); HDF5 is included with the Windows version. Thanks ------ Thanks to D. Dale, E. Lawrence and other for their continued support and comments. Also thanks to the Francesc Alted and the PyTables project, for inspiration and generously providing their code to the community. Thanks to everyone at the HDF Group for creating such a useful piece of software. From micdestefano at gmail.com Thu Jun 4 09:52:56 2009 From: micdestefano at gmail.com (Michele De Stefano) Date: Thu, 4 Jun 2009 09:52:56 +0200 Subject: Treat C FILE* as C++ streams Message-ID: Hello to everyone. I'm an Italian engineer and I'm approaching to Python, particularly to Python extension through C++ (because I'm an experienced C++ programmer). I've seen that Python files are basically managed through the C FILE pointer. I've recently released on Google Code a very small library which allows to treat the C FILE* as a C++ stream and I think this should be useful to Python developers. The link is this: http://code.google.com/p/mds-utils/ The library uses Boost.Iostreams. Think to this situation: you have some C++ classes or functions that take a C++ stream or fstream as parameter. You want to make a Python extension from this library but you want to pass a Python file object to your C++ code. Using my library, you can wrap the underlying FILE* into an object that behaves like a C++ stream. I've not yet built an on-line documentation, but the library comes with detailed doxygen documentation and useful examples. I hope my library will be useful to the Python community and I'd like to see a link to it on the Python web site. Best regards to all of you. Michele -- Michele De Stefano http://www.linkedin.com/in/micdestefano http://xoomer.virgilio.it/michele_de_stefano From alecf at metaweb.com Fri Jun 5 02:27:18 2009 From: alecf at metaweb.com (alecf) Date: Thu, 4 Jun 2009 17:27:18 -0700 (PDT) Subject: Announcing jsonlib2 1.5 - the simplejson release Message-ID: I've just revved jsonlib2, the C-based json parser used at metaweb for freebase.com. Compared with simplejson, my initial tests have it between 21 and 25 times faster for loads() and around 10x faster for dumps() http://code.google.com/p/jsonlib2/ For those of you who have never used jsonlib/jsonlib2, all you have to know is that with this version, jsonlib2 is much more compatible with simplejson/json. Got a ways to go but for most applications it should be a drop-in replacement. This is the first C Python extension I've ever written, and I actually inherited most of the code when I forked jsonlib because of differences with the author. This means I'm very interested in patches/ critiques/etc. For those using jsonlib or jsonlib2: Version 1.5 is a big API change - loads() and dumps() are now almost completely compatible with simplejson's loads() and dumps() - so it really should be a drop-in replacement. Here are a few things that have been possible with simplejson, but not with jsonlib2: 1) looser enforcement of json spec - allowing stuff like: >>> jsonlib2.dumps({None: "foo"}) '{"null": "foo"}' >>> jsonlib2.dumps(None) 'null' 2) full support for Infinity, NaN, in both dumping AND parsing, by default: >>> jsonlib2.dumps(1e10000) 'Infinity' >>> jsonlib2.loads(jsonlib2.dumps(1e10000)) inf I've actually imported the simplejson unit tests, and this library passes 26 of 32 tests, and most failures are just due to the fact that jsonlib2 prefers to output in utf8 rather than unicode, for faster output from a web server. Alec From olivier at fluendo.com Fri Jun 5 13:39:42 2009 From: olivier at fluendo.com (Olivier Tilloy) Date: Fri, 05 Jun 2009 13:39:42 +0200 Subject: Moovida Media Center 1.0.2 Release Message-ID: <4A2903FE.2080400@fluendo.com> Dear Python users, The Moovida team is happy to announce the release of Moovida Media Center 1.0.2, code-named "Acid Rain". Moovida, formerly known as Elisa, is a cross-platform and open-source Media Center written in Python. It uses GStreamer [1] for media playback and pigment [2] to create an appealing and intuitive user interface. This release is a lightweight release, meaning it is pushed through our automatic plugin update system. Additionally a windows installer is available for download on our website. As usual, for users already running Moovida, the upgrade to 1.0.2 should be done automatically via the plugin repository. A complete list of the issues fixed can be found at: http://launchpad.net/elisa/+milestone/1.0.2 This is also summarised in the (attached) release notes. Installers and sources can be downloaded from http://www.moovida.com/download/ Bug reports and feature requests are welcome at http://bugs.launchpad.net/elisa/+filebug Have a media-centered week-end, Olivier, for the Moovida team [1] http://www.gstreamer.net/ [2] https://code.fluendo.com/pigment/trac -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: RELEASE URL: From gtaylor at l11solutions.com Fri Jun 5 15:43:12 2009 From: gtaylor at l11solutions.com (Greg Taylor) Date: Fri, 5 Jun 2009 09:43:12 -0400 Subject: python-colormath 1.0.1 Released Message-ID: <8de369d70906050643t184af1bdob0779a19d4bcd7b1@mail.gmail.com> Greetings, After much testing and refinement in an industrial setting, python-colormath has been released to the public under the GPLv3. What is python-colormath? ==================== python-colormath is a developer-oriented module that abstracts a number of color math operations behind a small set of classes representing color spaces (IE: RGB, CIE Lab, XYZ, and LCH, etc.). Color conversions, delta E comparisons, and density calculations are all relatively involved, but are hid behind the simple API. For example, conversions from RGB to CMY and CMYK are trivial, while conversions from Spectral to LCHab are equally so (even though much more math happens behind the scenes). Quantitative comparisons of the difference between two colors may be calculated using one of several delta E formulas. Colors are automatically converted to the appropriate comparison color space and the delta E formula returns the result with no real effort on your part. For those working with spectral power distributions, the module can convert them to color spaces or ANSI/ISO density values. This is particularly useful when trying to minimize the difference in the readings of two different spectrophotometric devices. It is perhaps best to consider python-colormath as a more advanced, complete version of Python's own colorsys module. The number of supported color spaces, operations, and capabilities far exceeds colorsys (which is simple and minimalistic by design). Avoid color calculation errors ===================== One of the biggest benefits of this module is that it was designed and implemented by members of the Graphic Communications and print industries. The developers having a formal background in color science leaves you with a very complete, "correct" implementation of color math. Unlike the other color libraries, python-colormath avoids many of the problems with varying types of RGB, color illuminants and observer angles, and many different things that go on behind the scenes. python-colormath is also rigorously tested through its use in a previously commercial color management system. Additionally, all conversions are unit tested and monitored for deviations wich each change to the codebase. This ensures consistent, repeatable results through each release. Where is python-colormath? ===================== Getting Started/Website/Development: http://code.google.com/p/python-colormath/ Documentation: http://code.google.com/p/python-colormath/w/list Download: http://pypi.python.org/pypi/colormath/ Support: support at l11solutions.com I hope this fairly niche module is useful to someone else out there! -- Gregory Taylor From pmatiello at gmail.com Sat Jun 6 15:17:10 2009 From: pmatiello at gmail.com (Pedro Matiello) Date: Sat, 06 Jun 2009 10:17:10 -0300 Subject: python-graph-1.6.0 released Message-ID: <1244294230.3337.28.camel@localhost.localdomain> python-graph release 1.6.0 http://code.google.com/p/python-graph/ ------------------------------------------------------------------------ python-graph is a library for working with graphs in Python. This software provides ?a suitable data structure for representing graphs and a whole set of important algorithms. The code is appropriately documented and API reference is generated automatically by epydoc. Provided features and algorithms: * Support for directed, undirected, weighted and non-weighted graphs * Support for hypergraphs * Canonical operations * XML import and export * DOT-Language output (for usage with Graphviz) * Random graph generation * Accessibility (transitive closure) * Breadth-first search * Critical path algorithm * Cut-vertex and cut-edge identification * Depth-first search * Heuristic search (A* algorithm) * Identification of connected components * Minimum spanning tree (Prim's algorithm) * Mutual-accessibility (strongly connected components) * Shortest path search (Dijkstra's algorithm) * Topological sorting * Transitive edge identification The 1.6.x series is our refactoring series. Along the next releases, we'll change the API so we can better prepare the codebase to new features. If you want a softer, directed transition, upgrade your code to every release in the 1.6.x series. On the other hand, if you'd rather fix everything at once, you can wait for 1.7.0. Download: http://code.google.com/p/python-graph/downloads/list (tar.bz2, zip and egg packages are available.) Installing: If you have easy_install on your system, you can simply run: # easy_install python-graph From cito at online.de Sun Jun 7 21:45:26 2009 From: cito at online.de (Christoph Zwerschke) Date: Sun, 07 Jun 2009 21:45:26 +0200 Subject: ANN: Webware for Python 1.0.2 released Message-ID: <4A2C18D6.4080707@online.de> Webware for Python 1.0.2 has been released. This is the second bugfix release for Webware for Python release 1.0, mainly fixing some problems and shortcomings of the PSP plug-in. See the WebKit and PSP release notes for details. Webware for Python is a suite of Python packages and tools for developing object-oriented, web-based applications. The suite uses well known design patterns and includes a fast Application Server, Servlets, Python Server Pages (PSP), Object-Relational Mapping, Task Scheduling, Session Management, and many other features. Webware is very modular and easily extended. Webware for Python is well proven and platform-independent. It is compatible with multiple web servers, database servers and operating systems. Check out the Webware for Python home page at http://www.w4py.org From nuisance at casualhacker.net Mon Jun 8 01:56:30 2009 From: nuisance at casualhacker.net (Tim Newsome) Date: Sun, 7 Jun 2009 16:56:30 -0700 Subject: progress.py 1.0.0 - Track and display progress, providing estimated completion time. Message-ID: I couldn't find any module that would just let me add progress to all the random little scripts I write. So I wrote one. You can download and read about it at http://www.casualhacker.net/blog/progress_py/ Below is the module's description. I welcome any comments and suggestions. Tim DESCRIPTION This module provides 2 classes to simply add progress display to any application. Programs with more complex GUIs might still want to use it for the estimates of time remaining it provides. Use the ProgressDisplay class if your work is done in a simple loop: from progress import * for i in ProgressDisplay(range(500)): do_work() If do_work() doesn't send any output to stdout you can use the following, which will cause a single status line to be printed and updated: from progress import * for i in ProgressDisplay(range(500), display=SINGLE_LINE): do_work() For more complex applications, you will probably need to manage a Progress object yourself: from progress import * progress = Progress(task_size) for part in task: do_work() progress.increment() progress.print_status_line() If you have a more sophisticated GUI going on, you can still use Progress objects to give you a good estimate of time remaining: from progress import * progress = Progress(task_size) for part in task: do_work() progress.increment() update_gui(progress.percentage(), progress.time_remaining()) -- Tim Newsome http://www.casualhacker.net/ From denis-bz-gg at t-online.de Mon Jun 8 19:22:39 2009 From: denis-bz-gg at t-online.de (denis) Date: Mon, 8 Jun 2009 10:22:39 -0700 (PDT) Subject: ANN: pypi-grep, grep a local file of PyPI info Message-ID: An example first: pypi-grep 'pyqt' --> # day status packagename version homepage summary 2009-06-07 3 "pydee" 0.4.11 http://code.google.com/p/pydee/ Pydee development environment and its PyQt4-based IDE tools: ... 2009-06-05 4 "Sandbox" 0.9.5 http://www.qtrac.eu/sandbox.html A PyQt4-based alternative to IDLE ... pypi-grep is just a file with one long line per PyPI package, and a trivial bash script, basically egrep -i `newest pypi-grepfile*`. Why ? Grepping a local file is very fast and very simple, for old Unix guys and simple searches: "what's XYZ ?" hg clone http://bitbucket.org/denisb/pypi-grep/ should get pypi-grep and pypi-grepfile-2009-06-08 or the like; move them to a directory in your PATH. Notes: * the pypi-grepfile has only one version per package, the newest; multiline summaries are folded to one long line * pypi-grep -h lists the few options * the data comes from http://pypi.python.org/pypi xmlrpc, but beware: some packages in list_packages have no package_releases or no releasedata, and a few releasedatas timeout (timeout_xmlrpclib); what you see is All you get. * PyPI package names may contain blanks, even non-ascii * updates ? dunno, ask me From fwierzbicki at gmail.com Mon Jun 8 22:35:42 2009 From: fwierzbicki at gmail.com (Frank Wierzbicki) Date: Mon, 8 Jun 2009 16:35:42 -0400 Subject: Jython 2.5.0 Release Candidate 4 is out! Message-ID: <4dab5f760906081335n41e82771n615874422f83c9f8@mail.gmail.com> On behalf of the Jython development team, I'm pleased to announce that Jython 2.5rc4 is available for download: http://downloads.sourceforge.net/jython/jython_installer-2.5rc4.jar See http://www.jython.org/Project/installation.html for installation instructions. This is the fourth and probably final release candidate of the 2.5.0 version of Jython. If no major bugs are found in rc4, we will relabel it as 2.5.0 final. With this version, all of the regression tests that we follow on Windows now pass. Please try this out and report any bugs that you find: http://bugs.jython.org -Frank From mcfletch at vrplumber.com Tue Jun 9 06:07:13 2009 From: mcfletch at vrplumber.com (Mike C. Fletcher) Date: Tue, 09 Jun 2009 00:07:13 -0400 Subject: Toronto Python Users' Group (PyGTA) meeting Wednesday 17th, 7:15pm Message-ID: <4A2DDFF1.4010503@vrplumber.com> This month (June 2009) we will be meeting on the 17th (a Wednesday, *not* our regular Tuesday). Linux Caffe is at the corner of Grace and Harbord streets, 1 block South of Christie subway station. This month's presentation is... Wednesday, June 17th: Behdad Esfahbod will be presenting on how to use the Cairo rendering library from Python. Cairo is a vector graphics library that allows for targeting multiple graphical back-ends including OpenGL, X-windows, OSX Quartz, Win32, PDF, PNG etceteras. It is used in the Firefox and WebKit engines as well as the GTK library. Again, note the day-of-week! Tuesday, July 21st: Robert Jackiewicz of the Toronto Plone User's group will be presenting the zc.buildout package. Buildout is a tool for creating redistributable Python applications which is used extensively by the Zope and Plone communities. It is a "recipe" based engine for reproducing a set of modules and application code onto a number of machines. http://www.pygta.org/ If you have an idea for a presentation, theme or discussion, feel free to email it to me. Enjoy yourselves, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com From cthedot at gmail.com Tue Jun 9 20:56:10 2009 From: cthedot at gmail.com (Christof Hoeke) Date: Tue, 09 Jun 2009 20:56:10 +0200 Subject: ANN: cssutils 0.9.6b1 Message-ID: what is it ---------- A Python package to parse and build CSS Cascading Style Sheets. (Not a renderer though!) about this release ------------------ 0.9.6b1 is a bugfix release and improves on Jython compatibility. main changes ------------ + BUGFIX: Fixed ``CSSPageRule.selectorText = ''`` which does reset the selector now + BUGFIX (minor): Removed false references in a few modules' ``__all__`` list - IMPROVEMENT: Jython 2.5 (from RC4) passes all tests now 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.6.2, 2.5.2, 2.4.4 and Jython 2.5RC4 on Vista only) Bug reports (via Google code), comments, etc are very much appreciated! Thanks. Christof From fredrik.johansson at gmail.com Tue Jun 9 21:15:27 2009 From: fredrik.johansson at gmail.com (Fredrik Johansson) Date: Tue, 9 Jun 2009 21:15:27 +0200 Subject: ANN: mpmath 0.12 released Message-ID: <3d0cebfb0906091215n321954c2ga76bde4b0357ebe1@mail.gmail.com> Hi all, Mpmath version 0.12 is now available from the website: http://code.google.com/p/mpmath/ It can also be downloaded from the Python Package Index: http://pypi.python.org/pypi/mpmath/0.12 Mpmath is a pure-Python library for arbitrary-precision floating-point arithmetic that implements an extensive set of mathematical functions. It can be used as a standalone library or via SymPy (http://code.google.com/p/sympy/). Version 0.12 mostly contains bug fixes and speed improvements. New features include various special functions from analytic number theory, Newton's method as an option for root-finding, and more versatile printing of intervals. It is now also possible to create multiple working contexts each with its own precision. Finally, mpmath now recognizes being installed in Sage and will automatically wrap Sage's fast integer arithmetic if available. For more details, see the changelog: http://mpmath.googlecode.com/svn/tags/0.12/CHANGES Bug reports and other comments are welcome at the issue tracker at http://code.google.com/p/mpmath/issues/list or the mpmath mailing list: http://groups.google.com/group/mpmath Fredrik From gtaylor at clemson.edu Tue Jun 9 17:37:56 2009 From: gtaylor at clemson.edu (Greg Taylor) Date: Tue, 9 Jun 2009 11:37:56 -0400 Subject: python-colormath 1.0.2 Released Message-ID: <8de369d70906090837u75bfd954n67abbf0c567f175e@mail.gmail.com> Greetings, python-colormath 1.0.2 has been released, which addresses an issue with chromatic adaptations. What is python-colormath? ==================== python-colormath is a developer-oriented module that abstracts a number of color math operations behind a small set of classes representing color spaces (IE: RGB, CIE Lab, XYZ, and LCH, etc.). Color conversions, delta E comparisons, and density calculations are all relatively involved, but are hid behind the simple API. For example, conversions from RGB to CMY and CMYK are trivial, while conversions from Spectral to LCHab are equally so (even though much more math happens behind the scenes). What's new in 1.0.2? =============== * Conversions between all known illuminants is now possible with several different chromatic adaptation transforms (Von Kries, Bradford, and XYZ Scaling). Previously this was only possible for some well-known CIE illuminants. * Chromatic adaptations may be _slightly_ more accurate (we're talking miniscule) on certain hardware. Where is python-colormath? ===================== Getting Started/Website/Development: http://code.google.com/p/python-colormath/ Documentation: http://code.google.com/p/python-colormath/w/list Download: http://pypi.python.org/pypi/colormath/ Support: support at l11solutions.com http://code.google.com/p/python-colormath/issues/list -- Gregory Taylor From python-url at phaseit.net Wed Jun 10 18:00:39 2009 From: python-url at phaseit.net (Gabriel Genellina) Date: Wed, 10 Jun 2009 16:00:39 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 10) Message-ID: QOTW: "Most power systems math can be summed this way: take a really big number and multiply by the square root of two." - iceowl http://everything2.com/index.pl?node_id=1348321 The chuzer project provides a means for severely disabled people to express their most basic needs. The project desperately needs help, or it will die. http://comments.gmane.org/gmane.comp.python.general/625159 Never heard of this - guys competing to see whose is shorter! http://comments.gmane.org/gmane.comp.python.general/625868 Correctly implementing __copy__ and __deepcopy__ with multiple inheritance: http://comments.gmane.org/gmane.comp.python.general/625072 http://comments.gmane.org/gmane.comp.python.general/625291 An overly complicated proposed function leads to discuss good API design principles: http://comments.gmane.org/gmane.comp.python.general/625433 List, tuple, set: when to use each type: http://comments.gmane.org/gmane.comp.python.general/625942 Comparing programming languages: how to do the same thing on several languages: http://comments.gmane.org/gmane.comp.python.general/625637 Generating a dynamic plot of x-y data: http://comments.gmane.org/gmane.comp.python.general/625346 __hash__, __eq__, dictionaries, and the big-Oh notation: http://comments.gmane.org/gmane.comp.python.general/625034 The unladen-swallow project, the LLVM virtual machine, and how they relate to the future of CPython: http://comments.gmane.org/gmane.comp.python.general/625493 Accessing data located in the filesystem, inside a package directory: http://comments.gmane.org/gmane.comp.python.general/625209 Closures in Python don't work exactly the same as in other languages: http://comments.gmane.org/gmane.comp.python.general/625475 How to iterate over several lists, one after another? http://comments.gmane.org/gmane.comp.python.general/625532 ======================================================================== 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 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 enthusiasts": 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/group/comp.lang.python.announce/topics 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/ 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/donations/ The Summary of Python Tracker Issues is an automatically generated report summarizing new bugs, closed ones, and patch submissions. http://search.gmane.org/?author=status%40bugs.python.org&group=gmane.comp.python.devel&sort=date 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://code.activestate.com/recipes/langs/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, see: http://www.python.org/channews.rdf 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/ 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 Enjoy the *Python Magazine*. http://pymag.phparch.com/ *Py: the Journal of the Python Language* http://www.pyzine.com Dr.Dobb's Portal is another source of Python news and articles: http://www.ddj.com/TechSearch/searchResults.jhtml?queryText=python and Python articles regularly appear at IBM DeveloperWorks: http://www.ibm.com/developerworks/search/searchResults.jsp?searchSite=dW&searchScope=dW&encodedQuery=python&rankprofile=8 Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://search.gmane.org/?query=python+URL+weekly+news+links&group=gmane.comp.python.general&sort=date http://groups.google.com/groups/search?q=Python-URL!+group%3Acomp.lang.python&start=0&scoring=d& http://lwn.net/Search/DoSearch?words=python-url&ctype3=yes&cat_25=yes 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 brousch at gmail.com Wed Jun 10 20:23:11 2009 From: brousch at gmail.com (Ben Rousch) Date: Wed, 10 Jun 2009 14:23:11 -0400 Subject: First Meeting of the Grand Rapids (MI) Python Users Group Message-ID: Announcing the inaugural meeting of the newly formed Grand Rapids Python Users Group (http://www.grpug.org ) in Grand Rapids, MI, USA. What: *First Meeting of the GRPUG* When: *Monday, 6/15/09, 6PM - ??* Where: *Grand Rapids Brewing Company* ( http://www.michiganmenu.com/grbrewing.html ) A few of us checked out the Grand Rapids Brewing Company as a potential meeting site for the GRPUG, and it looked pretty good. It's a nice microbrewery and restaurant. My only worry is the ambient noise level, but my contact there assures me that lowering the canvas shades and doors shuts out a lot of the sound. Anyways, let's have our first meeting there and see how it goes. They have appetizers, meals, pop, and - most importantly - beer! So feel free to have dinner and drink while you're there. The room is in the back of the main dining hall. I would like to do a Python IDE/editor roundup, so it would be great if you could bring a laptop/netbook and show off your favorite IDE or editor. You don't need to prepare anything elaborate; just fire it up and show off a few features. In fact, no slides allowed the first night! I think we'll have a projector available, otherwise we'll huddle around laptops for the demos. Afterwords we'll socialize and talk about what we envision for GRPUG and how much we hate all of those inferior programming languages. From info at egenix.com Thu Jun 11 11:11:13 2009 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Thu, 11 Jun 2009 11:11:13 +0200 Subject: ANN: eGenix pyOpenSSL Distribution 0.9.0-0.9.8k Message-ID: <4A30CA31.6080706@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com pyOpenSSL Distribution Version 0.9.0-0.9.8k An easy to install and use repackaged distribution of the pyOpenSSL Python interface for OpenSSL - available on Windows, Mac OS X 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.9.0-0.9.8k-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/) that allows writing SSL aware networking applications as well as certificate management tools. OpenSSL is an open-source implementation of the SSL protocol (http://www.openssl.org/). For more information, please see the product page: http://www.egenix.com/products/python/pyOpenSSL/ ________________________________________________________________________ NEWS This new release of the eGenix.com pyOpenSSL Distribution updates the included pyOpenSSL version to 0.9, which includes a new fix for a serious problem in pyOpenSSL 0.8 related to threaded applications. It also comes with an important bug-fix update of OpenSSL, now at version 0.9.8k. The problem causes invalid thread states in the Python interpreter which then result in random core dumps and seg faults when using pyOpenSSL 0.8.0 with multi-threaded applications. The new fix is slightly different than the one we included in 0.8.1 and based on a code analysis we did together with Jean-Paul Calderone to track down the cause of the problem. Binaries are available for Linux x86 and x64 as well as Windows x86 and Mac OS X PPC/Intel. They include both pyOpenSSL and the necessary OpenSSL libraries. For Plone users and friends of buildout scripts, we have added pre-built binaries for Windows. They install just like the Linux versions and allow easy integration of the archives into buildout scripts. For our Mac OS X users, we have included new pre-built binaries for Mac OS X PPC and Intel 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 11 2009) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2009-06-29: EuroPython 2009, Birmingham, UK 17 days to go ::: Try our new mxODBC.Connect Python Database Interface 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 http://www.egenix.com/company/contact/ From MDiPierro at cs.depaul.edu Thu Jun 11 19:13:42 2009 From: MDiPierro at cs.depaul.edu (Massimo Di Pierro) Date: Thu, 11 Jun 2009 12:13:42 -0500 Subject: web2py 1.64.0 Message-ID: <211CE7E6-A90F-4710-9C51-F2194247238F@cs.depaul.edu> web2py 1.64.0 is out http://www.web2py.com new features: - full Jython support, including xzJDBC for sqlite and postgresql. install jython and run: jython web2py.py -h - models are 2.5x faster - better LDAP support - custom forms Example: #in model db.define_table('person',SQLField('name') # in controller def index(): return dict(form=crud.create(db.person)) # instead of usual view {{=form}} # now you can use a custom view: {{=form.custom.begin}} {{=form.cusom.label.name}}: {{=form.custom.widget.name}} {{=form.custom.submit}} {{=form.custom.end}} From aahz at pythoncraft.com Thu Jun 11 21:56:58 2009 From: aahz at pythoncraft.com (Aahz) Date: Thu, 11 Jun 2009 12:56:58 -0700 Subject: EXTENDED: OSCON 2009 early bird (June 23) Message-ID: <20090611195658.GA2318@panix.com> Registration is now open for the O'Reilly Open Source Convention (OSCON). OSCON 2009 will be July 20-24 in San Jose, California. Early registration has been extended and now ends June 23. Use the special discount code 'os09pgm' for an extra 15% off. For more information: http://conferences.oreilly.com/oscon -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ "If you don't know what your program is supposed to do, you'd better not start writing it." --Dijkstra From a.cavallo at mailsnare.com Fri Jun 12 10:47:19 2009 From: a.cavallo at mailsnare.com (A. Cavallo) Date: Fri, 12 Jun 2009 09:47:19 +0100 Subject: Python svn builds Message-ID: <200906120947.19318.a.cavallo@mailsnare.com> Python svn builds (http://pyvm.sourceforge.net) is a project to provide python binary builds ready to use. The main features for these builds are: + install under /opt/opt-python-svnXXXXX-2.7a0 (XXXXX is the svn revision) + multiple interpreters can be installed side by side + installed in parallel to the system python (administrator friendly) + they're build for several different platforms (rpm based) + the build host is provided by the OpenSUSE buildserver + the builds can be deployed using yum/yast/urpmi (OpenSUSE buildserver) + each build runs a small smoke test and it is unattented + the test results are reported The aim is: + implementing a continuous integration practice + to provide python developer with reliable and repeatable builds + modules developer can test their modules against the latest python News for this version: Few modules (imaging, numpy, pexpect and setuptools) have been added and they're build for each intepreter. These are still in testing but the aim here is to have a full complete build chain with a test suite (next step is providing a test driven development). Download and documentation from: http://pyvm.sourceforge.net Regards, Antonio References: OpenSUSE buildserver: https://build.opensuse.org From aahz at pythoncraft.com Fri Jun 12 21:25:29 2009 From: aahz at pythoncraft.com (Aahz) Date: Fri, 12 Jun 2009 12:25:29 -0700 Subject: OSCON: booth volunteers wanted Message-ID: <20090612192529.GA7912@panix.com> I'm organizing a Python booth for the OSCON Exhibit Hall Weds 7/22 and Thurs 7/23. If you'd like to help staff the booth, please join the OSCON mailing list: http://mail.python.org/mailman/listinfo/oscon For more information about OSCON: http://conferences.oreilly.com/oscon -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ "If you don't know what your program is supposed to do, you'd better not start writing it." --Dijkstra From benjamin at python.org Sat Jun 13 16:46:28 2009 From: benjamin at python.org (Benjamin Peterson) Date: Sat, 13 Jun 2009 09:46:28 -0500 Subject: [RELEASED] Python 3.1 Release Candidate 2 Message-ID: <1afaf6160906130746v2d951486v7a52d7b838070189@mail.gmail.com> On behalf of the Python development team, I'm happy to announce the second release candidate of Python 3.1. Python 3.1 focuses on the stabilization and optimization of the features and changes that Python 3.0 introduced. For example, the new I/O system has been rewritten in C for speed. File system APIs that use unicode strings now handle paths with undecodable bytes in them. Other features include an ordered dictionary implementation, a condensed syntax for nested with statements, and support for ttk Tile in Tkinter. For a more extensive list of changes in 3.1, see http://doc.python.org/dev/py3k/whatsnew/3.1.html or Misc/NEWS in the Python distribution. This is a release candidate, and as such, we do not recommend use in production environments. However, please take this opportunity to test the release with your libraries or applications. This will hopefully discover bugs before the final release and allow you to determine how changes in 3.1 might impact you. If you find things broken or incorrect, please submit a bug report at http://bugs.python.org For more information and downloadable distributions, see the Python 3.1 website: http://www.python.org/download/releases/3.1/ See PEP 375 for release schedule details: http://www.python.org/dev/peps/pep-0375/ Enjoy, -- Benjamin Benjamin Peterson benjamin at python.org Release Manager (on behalf of the entire python-dev team and 3.1's contributors) From mmueller at python-academy.de Sun Jun 14 13:42:08 2009 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Sun, 14 Jun 2009 13:42:08 +0200 Subject: [ANN] Reminder: EuroSciPy 2009 - Early Bird Deadline June 15, 2009 Message-ID: <4A34E210.3030606@python-academy.de> EuroSciPy 2009 - Early Bird Deadline June 15, 2009 ================================================== The early bird deadline for EuroSciPy 2009 is June 15, 2009. Please register ( http://www.euroscipy.org/registration.html ) by this date to take advantage of the reduced early registration rate. EuroSciPy 2009 ============== We're pleased to announce the EuroSciPy 2009 Conference to be held in Leipzig, Germany on July 25-26, 2009. http://www.euroscipy.org This is the second conference after the successful conference last year. Again, EuroSciPy will be a venue for the European community of users of the Python programming language in science. Presentation Schedule --------------------- The schedule of presentations for the EuroSciPy conference is online: http://www.euroscipy.org/presentations/schedule.html We have 16 talks from a variety of scientific fields. All about using Python for scientific work. Registration ------------ Registration is open. The registration fee is 100.00 ? for early registrants and will increase to 150.00 ? for late registration after June 15, 2009. On-site registration and registration after July 23, 2009 will be 200.00 ?. Registration will include breakfast, snacks and lunch for Saturday and Sunday. Please register here: http://www.euroscipy.org/registration.html Important Dates --------------- March 21 Registration opens May 8 Abstract submission deadline May 15 Acceptance of presentations May 30 Announcement of conference program June 15 Early bird registration deadline July 15 Slides submission deadline July 20 - 24 Pre-Conference courses July 25/26 Conference August 15 Paper submission deadline Venue ----- mediencampus Poetenweg 28 04155 Leipzig Germany See http://www.euroscipy.org/venue.html for details. Help Welcome ------------ You like to help make the EuroSciPy 2009 a success? Here are some ways you can get involved: * attend the conference * submit an abstract for a presentation * give a lightning talk * make EuroSciPy known: - distribute the press release (http://www.euroscipy.org/media.html) to scientific magazines or other relevant media - write about it on your website - in your blog - talk to friends about it - post to local e-mail lists - post to related forums - spread flyers and posters in your institution - make entries in relevant event calendars - anything you can think of * inform potential sponsors about the event * become a sponsor If you're interested in volunteering to help organize things or have some other idea that can help the conference, please email us at mmueller at python-academy dot de. Sponsorship ----------- Do you like to sponsor the conference? There are several options available: http://www.euroscipy.org/sponsors/become_a_sponsor.html Pre-Conference Courses ---------------------- Would you like to learn Python or about some of the most used scientific libraries in Python? Then the "Python Summer Course" [1] might be for you. There are two parts to this course: * a two-day course "Introduction to Python" [2] for people with programming experience in other languages and * a three-day course "Python for Scientists and Engineers" [3] that introduces some of the most used Python tools for scientists and engineers such as NumPy, PyTables, and matplotlib Both courses can be booked individually [4]. Of course, you can attend the courses without registering for EuroSciPy. [1] http://www.python-academy.com/courses/python_summer_course.html [2] http://www.python-academy.com/courses/python_course_programmers.html [3] http://www.python-academy.com/courses/python_course_scientists.html [4] http://www.python-academy.com/courses/dates.html From dmitrey.kroshko at scipy.org Mon Jun 15 17:49:03 2009 From: dmitrey.kroshko at scipy.org (dmitrey) Date: Mon, 15 Jun 2009 08:49:03 -0700 (PDT) Subject: ANN: openopt 0.24 - free numerical optimization framework Message-ID: Hi all, OpenOpt 0.24, a free Python-written numerical optimization framework with some own solvers and connections to tens of 3rd party ones, has been released. BSD license allows to use it in both free opensource and commercial closed-code software. Currently we have ~80 unique visitors daily, 15% of the ones visit installation webpage, and some more install it via PYPI, Debian and Alt Linux repository, mac.softpedia.com, darwinports.com, pythonxy.com, mloss.org. Our homepage: http://openopt.org Introduction to the framework: http://openopt.org/Foreword All release details are here: http://openopt.org/Changelog or http://forum.openopt.org/viewtopic.php?id=110 Regards, OpenOpt developers. From dunkfordyce at googlemail.com Mon Jun 15 22:24:43 2009 From: dunkfordyce at googlemail.com (Dunk Fordyce) Date: Mon, 15 Jun 2009 21:24:43 +0100 Subject: [ANN] samurai-x 0.2 Message-ID: Hi, We are happy to release version 0.2 of samurai-x. samurai-x is a window manager written in pure python using ctypes, xcb and cairo. A lot has happened since version 0.1 including: ??? * a new plugin system - the core samurai-x is now very small ????? with all other functionality added via plugins ??? * a new xcb binding - ooxcb - for more information see http://docs.samurai-x.org/ooxcb/ ??? * lots of plugins! we now have plugins for most common ????? features found in other window managers For more information, including installation instructions check http://samurai-x.org or join us in #samuraix on irc.freenode.net Big thanks to all have helped out with samurai-x but especially to Friedrich Weber for writing ooxcb and all the other work on samurai-x he has done and also to Jochen Maes for hosting the project. Dunk Fordyce From oliphant at enthought.com Mon Jun 15 22:31:16 2009 From: oliphant at enthought.com (Travis Oliphant) Date: Mon, 15 Jun 2009 15:31:16 -0500 Subject: Join us for the 2nd Scientific Computing with Python Webinar Message-ID: <9806A7FA-C9F7-4491-8AE1-514DC13851F8@enthought.com> Hello all Python users: I am pleased to announce the second installment of a free Webinar series that discusses using Python for scientific computing. Enthought hosts this free series which takes place once a month for about 60-90 minutes. The schedule and length may change based on participation feedback, but for now it is scheduled for the third Friday of every month. This free webinar should not be confused with the EPD webinar on the first Friday of each month which is open only to subscribers to the Enthought Python Distribution at the Basic level or above. This session's speakers will be me (Travis Oliphant) and Peter Wang. I will show off a bit of EPDLab which is an interactive Python environment built using IPython, Traits, and Envisage. Peter Wang will present a demo of Chaco and provide some examples of interactive visualizations that can be easily constructed using it's classes. If there is time after the Chaco demo, I will continue the discussion about Mayavi, but I suspect this will have to wait until the next session. All of the tools we will show are open-source, freely- available tools from multiple sources. They can all be conveniently installed using the Enthought Python Distribution. This event will take place on Friday, June 19th at 1:00pm CDT and will last 60 to 90 minutes depending on the questions asked. If you would like to participate, please register by clicking on the link below or going to https://www1.gotomeeting.com/register/303689873. There will be a 15 minute technical help-session prior to the on-line meeting which you should plan to use if you have never participated in a GoToWebinar previously. During this time you can test your connection and audio equipment as well as familiarize yourself with the GoTo Meeting software (which currently only works with Mac and Windows systems). I am looking forward to interacting with many of you again this Friday. Best regards, Travis Oliphant Enthought, Inc. Enthought is the company that sponsored the creation of SciPy and the Enthought Tool Suite. It continues to sponsor the SciPy community by hosting the SciPy mailing list and website and participating in the development of SciPy and NumPy. Enthought creates custom scientific and technical software applications and provides training on using Python for technical computing. Enthought also provides the Enthought Python Distribution. Learn more at http://www.enthought.com Bios for Travis Oliphant and Peter Wang can be read at http://www.enthought.com/company/executive-team.php -- Travis Oliphant Enthought Inc. 1-512-536-1057 http://www.enthought.com oliphant at enthought.com From jim at zope.com Tue Jun 16 11:35:50 2009 From: jim at zope.com (Jim Fulton) Date: Tue, 16 Jun 2009 05:35:50 -0400 Subject: Announcing bobo Message-ID: <0BA46CA7-CF59-4D22-8224-7D99CE6BD18C@zope.com> Bobo is a light-weight framework for creating WSGI web applications. It's goal is to be easy to use and remember. You don't have to be a genius. It addresses 2 problems: - Mapping URLs to objects - Calling objects to generate HTTP responses Bobo doesn't have a templateing language, a database integration layer, or a number of other features that can be provided by WSGI middle-ware or application-specific libraries. Bobo builds on other frameworks, most notably WSGI and WebOb. To learn more. visit: http://bobo.digicool.com Jim -- Jim Fulton Zope Corporation From olivier at fluendo.com Tue Jun 16 13:54:20 2009 From: olivier at fluendo.com (Olivier Tilloy) Date: Tue, 16 Jun 2009 13:54:20 +0200 Subject: Moovida Media Center 1.0.3 Release Message-ID: <4A3787EC.1030806@fluendo.com> Dear Python users, The Moovida team is happy to announce the release of Moovida Media Center 1.0.3, code-named "Lun?tico". Moovida, formerly known as Elisa, is a cross-platform and open-source Media Center written in Python. It uses GStreamer [1] for media playback and pigment [2] to create an appealing and intuitive user interface. This release is a lightweight release, meaning it is pushed through our automatic plugin update system. Additionally a windows installer is available for download on our website. As usual, for users already running Moovida, the upgrade to 1.0.3 should be done automatically via the plugin repository. Important features of this release include a much faster media scanning and thumbnailing for videos and pictures, a better handling of plural forms in translations and updated French translations. A complete list of the issues fixed can be found at: http://launchpad.net/elisa/+milestone/1.0.3 This is also summarised in the (attached) release notes. Installers and sources can be downloaded from http://www.moovida.com/download/ Bug reports and feature requests are welcome at http://bugs.launchpad.net/elisa/+filebug Have a media-centered week, Olivier, for the Moovida team [1] http://www.gstreamer.net/ [2] https://code.fluendo.com/pigment/trac -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: RELEASE URL: From phil at riverbankcomputing.com Tue Jun 16 14:28:53 2009 From: phil at riverbankcomputing.com (Phil Thompson) Date: Tue, 16 Jun 2009 13:28:53 +0100 Subject: SIP v4.8.1 Released Message-ID: <25d841a7520e2a394970782902ef5892@localhost> SIP v4.8.1 has been released and can be downloaded from http://www.riverbankcomputing.com/software/sip/. SIP is a tool for generating Python modules that wrap C or C++ libraries. It is similar to SWIG. It is used to generate PyQt and PyKDE. SIP is licensed under the Python License and runs on Windows, UNIX, Linux and MacOS/X. SIP requires Python v2.3 or later. The main focus of this release is support for Python v3. Other features of SIP include: - extension modules are implemented as a single binary .pyd or .so file (no Python stubs) - support for Python new-style classes - the ability to specify the super-type and meta-type used to wrap instances - generated modules are quick to import, even for large libraries - thread support - the ability to re-implement C++ abstract and virtual methods in Python - the ability to define Python classes that derive from abstract C++ classes - the ability to spread a class hierarchy across multiple Python modules - support for C++ namespaces - support for C++ exceptions - support for C++ operators - an extensible build system written in Python that supports over 50 platform/compiler combinations - the generation of API files for IDEs that support autocompletion and call tips. From phil at riverbankcomputing.com Tue Jun 16 15:09:33 2009 From: phil at riverbankcomputing.com (Phil Thompson) Date: Tue, 16 Jun 2009 14:09:33 +0100 Subject: PyQt v4.5.1 Released (Python bindings for Qt) Message-ID: PyQt v4.5.1 has been released and is available from http://www.riverbankcomputing.com/software/pyqt/. PyQt is a comprehensive set of bindings for the Qt application and UI framework from Nokia. It supports the same platforms as Qt (Windows, Linux and MacOS/X). The highlights of this release include: - support for Python v3 - support for Qt v4.5 - a new Pythonic API for connecting signals and slots that doesn't require any knowledge of C++ data types - support for the GTK+ theme engine. Windows installers are provided for the GPL version of PyQt which contains everything needed for PyQt development (including Qt, Qt Designer and QScintilla) except Python itself. PyQt v4 is implemented as a set of 18 extension modules containing over 400 classes and over 6,000 functions and methods. QtCore The non-GUI infrastructure including event loops, threads, i18n, Unicode, signals and slots, user and application settings, mapped files and shared memory. QtDesigner A set of classes that allow the Qt Designer GUI design tool to be extended with PyQt. QtGui A rich collection of GUI widgets. QtHelp A set of classes for creating and viewing searchable documentation and being able to integrate online help with PyQt applications. It includes the C++ port of the Lucene text search engine. QtNetwork A set of classes to support TCP and UDP socket programming and higher level protocols (eg. HTTP, SSL). QtOpenGL A set of classes that allows PyOpenGL to render onto Qt widgets. QtScript A set of classes that implements a JavaScript interpreter. Python objects may be exposed in the interpreter as JavaScript objects. QtScriptTools A debugger for the JavaScript interpreter. QtSql A set of classes that implement SQL data models and interfaces to industry standard databases. The Windows installers include support for SQLite, MySQL, PostgreSQL and ODBC. QtSvg A set of classes to render SVG files onto Qt widgets. QtTest A set of classes to automate unit testing of PyQt applications and GUIs. QtWebKit This implements a web browser engine based on the WebKit engine used by Apple's Safari browser. It allows the methods and properties of Python objects to be published and appear as JavaScript objects to scripts embedded in HTML pages. QtXML A set of classes that implement DOM and SAX parsers. QtXMLPatterns A set of classes that implement XQuery and XPath support for XML and custom data models. QtAssistant A set of classes that enables the Qt Assistant online help browser to be integrated with an application. QAxContainer A set of classes for Windows that allows the integration of ActiveX controls and COM objects. phonon A cross-platform multimedia framework that enables the use of audio and video content in PyQt applications. DirectX is used as the Windows backend, QuickTime as the MacOS/X backend, and GStreamer as the Linux backend. DBus PyQt includes dbus.mainloop.qt that allows the Qt event loop to be used with the standard DBus Python bindings. PyQt includes the pyuic4 utility which generates Python code to implement user interfaces created with Qt Designer in the same way that the uic utility generates C++ code. It is also able to load Designer XML files dynamically. PyQt is available under the GPL and a commercial license. Unlike Qt, PyQt is not available under the LGPL. The commercial PyQt license allows GPL applications to be relicensed at any time. From fwierzbicki at gmail.com Tue Jun 16 20:21:23 2009 From: fwierzbicki at gmail.com (Frank Wierzbicki) Date: Tue, 16 Jun 2009 14:21:23 -0400 Subject: Jython 2.5.0 Final is out! Message-ID: <4dab5f760906161121ga07039cy18a45c813961ad53@mail.gmail.com> On behalf of the Jython development team, I'm pleased to announce that Jython 2.5.0 final is available for download: http://downloads.sourceforge.net/jython/jython_installer-2.5.0.jar see the installation instructions: http://wiki.python.org/jython/InstallationInstructions Jython 2.5.0 brings us up to language level compatibility with the 2.5 version of CPython. This release has had a strong focus on CPython compatibility, and so this release of Jython can run more pure Python apps then any previous release. Please see the NEWS file for detailed release notes. I want to thank all of the amazing people who have contributed in large and small ways to this important Jython release. For the first time in a long time we have Jython that is a modern version of Python. Enjoy! Please report any bugs that you find: http://bugs.jython.org Thanks! -Frank From stef.mientki at gmail.com Tue Jun 16 20:27:12 2009 From: stef.mientki at gmail.com (Stef Mientki) Date: Tue, 16 Jun 2009 20:27:12 +0200 Subject: [ANN] first full alpha release of PyLab_Works v0.3 Message-ID: <4A37E400.4080305@gmail.com> hello, I am pleased to announce the first full alpha release of PyLab_Works, v0.3. PyLab_Works is a modular Visual Development Environment, based on data-flow programming technics. PyLab_Works is specially aimed at Education, Engineering and Science. The ideas behind PyLab_Works are, that the final user should not be burdened with programming details and domain details, whereas the domain expert should be able to implement the specific domain knowledge without being a full educated programmer. You can always find my notes on PyLab_Works on http://pic.flappie.nl Most of these pages are also collected in a single pdf document, which can be found here: http://pylab-works.googlecode.com/files/pw_manual.pdf The source code and a one-button-Windows-Installer can be found on codegoogle: http://code.google.com/p/pylab-works/ The files are rather large, because they contain some data samples. The Windows-Installer contains everything you need to get started with PyLab_Works: ConfigObj, gprof2dot, HTTPlib, MatPlotLib, Numpy, Pickle, Psyco, pyclbr, PyGame, PyLab_Works, PyODBC, Python, RLCompleter, Scipy, Sendkeys, SQLite3, SQLObject, URLparse, wave, Visual, win32*, wxPython. Although the PyLab_Works programs are compiled with Py2Exe, all the source files are explicitly included. have fun, Stef Mientki From georg at python.org Tue Jun 16 23:54:53 2009 From: georg at python.org (Georg Brandl) Date: Tue, 16 Jun 2009 23:54:53 +0200 Subject: Sphinx 0.6.2 released Message-ID: <4A3814AD.5030902@python.org> Hi all, I'm proud to announce the release of Sphinx 0.6.2, which is a bugfix-only release in the 0.6 series. 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). Website: http://sphinx.pocoo.org/ What's new in 0.6.2 (short version)? ==================================== Over 25 bugs and problems have been fixed. The full list is at . cheers, Georg From james.pye at gmail.com Wed Jun 17 07:46:15 2009 From: james.pye at gmail.com (jwp) Date: Tue, 16 Jun 2009 22:46:15 -0700 (PDT) Subject: py-postgresql 0.9 Released: Speed & Query Libraries Message-ID: I'm pleased to announce the release of py-postgresql 0.9.0 and 0.8.2. py-postgresql is a Python programmer's client (driver) for PostgreSQL and general toolkit for working with PostgreSQL in Python. http://python.projects.postgresql.org/?utm_source=release&utm_medium=email&utm_campaign=py-postgresql-0.9.0 Changes in 0.9: * Performance Improvements. Always nice. =) * Query Libraries--statement management. * Display of line and relative location of the POSITION for syntax errors. * DB-API now extends PG-API. * Many under-the-hood improvements. Special thanks to the following bug reporters: Mike Bayer [Broken DB-API row counts] Dallas Morisett [Broken procedure reference generation] ... Bugs, while of crunchy consistency, are fearlessly squashed. ... If you find a bug, a report would be greatly appreciated. http://pgfoundry.org/tracker/?atid=442&group_id=1000094 From diesch at spamfence.net Wed Jun 17 09:12:29 2009 From: diesch at spamfence.net (Florian Diesch) Date: Wed, 17 Jun 2009 09:12:29 +0200 Subject: ANN: pdfrecycle 0.05 Message-ID: <87vdmvz63m.fsf@scenic.florian-diesch.de> I'm happy to announce pdfrecycle 0.05 Get it at http://www.florian-diesch.de/software/pdfrecycle/ pdfrecycle creates a PDF file by composing pages from other PDF files. It can add PDF bookmarks and metadata, scale, rotate and crop pages and put multiple logical pages onto each physical sheet. pdfrecycle uses a simple text file format to define the layout and what pages to include. From this input file pdfrecycle creates a LaTeX file and then runs pdflatex to produced the PDF file. With version 0.05 you can put pages of different input files on one output sheet and/or cut of parts of input pages. Florian -- From Eric_Dexter at msn.com Wed Jun 17 17:11:31 2009 From: Eric_Dexter at msn.com (edexter) Date: Wed, 17 Jun 2009 08:11:31 -0700 (PDT) Subject: ride tab editor 2.0 Message-ID: ride tab editor 2.0 has been released. ride tab editor is a freeware multiplatform tab editor for bass, guitar and drums. included is a csound tool released under a dual license (free for non-profit the qt license in other words). to convert the drum tabs into csound scores. 1c re-released with a csound tool 2.0 moved from wxPython.wx namespace to wx namespace small changes to the menu http://dexrowem.blogspot.com/search?q=ride+tab+editor From anthony.tuininga at gmail.com Thu Jun 18 06:59:28 2009 From: anthony.tuininga at gmail.com (Anthony Tuininga) Date: Wed, 17 Jun 2009 22:59:28 -0600 Subject: cx_Logging 2.0 Message-ID: <703ae56b0906172159o2d58e474i255f6aebc5980606@mail.gmail.com> What is cx_Logging? cx_Logging is a Python extension module which operates in a fashion similar to the logging module that ships with Python 2.3 and higher. It also has a C interface which allows applications to perform logging independently of or in tandem with Python. Where do I get it? http://cx-logging.sourceforge.net What's new? 1) Added support for Python 3.x. 2) Added support for logging Unicode strings in Python 2.x. 3) Added support for setting the encoding to use for Unicode strings when starting logging and a Python method SetEncoding() for setting it afterwards and a Python method GetEncoding() to view the value currently being used. 4) Added C methods StartLoggingEx(), StartLoggingStderrEx(), StartLoggingStdoutEx(), StartLoggingExW() and StartLoggingForPythonThreadEx() which provide exception information to the caller and (if applicable) allow the specification of whether files are reused and rotated (see documentation for more information). 5) Added Python method SetExceptionInfo() which allows specification of the base exception class, a method for creating an instance of that class and a message that will be displayed prior to the logging of exceptions of that class. 6) The Python method LogException() now returns a configured exception if one was built or passed in directly. 7) Transformed documentation to new style used in Python 2.6 and higher and enhanced the contents. 8) Added support for compiling on 64-bit Windows. From jml at mumak.net Thu Jun 18 13:59:30 2009 From: jml at mumak.net (Jonathan Lange) Date: Thu, 18 Jun 2009 21:59:30 +1000 Subject: bzr 1.16 released! Message-ID: Bazaar 1.16, codename "It's yesterday in California" is released! This version of Bazaar contains the beta release of the new ``2a`` repository format, suitable for testing by fearless, advanced users. This format or an updated version of it will become the default format in Bazaar 2.0. Please read the NEWS entry before even thinking about upgrading to the new format. Also included are speedups for many operations on huge projects, a bug fix for pushing stacked new stacked branches to smart servers and the usual bevy of bug fixes and improvements. The Bazaar team is happy to announce availability of a new release of the bzr adaptive version control system. Bazaar is part of the GNU system . Thanks to everyone who contributed patches, suggestions, and feedback. Bazaar is now available for download from http://bazaar-vcs.org/Download as a source tarball; packages for various systems will be available soon. Changes from 1.16rc1 to 1.16final ********************************* * Fix the nested tree flag check so that upgrade from development formats to 2a can work correctly. (Jelmer Vernooij, #388727) * Automatic format upgrades triggered by default stacking policies on a 1.16rc1 (or later) smart server work again. (Andrew Bennetts, #388675) Compatibility Breaks ******************** * Display prompt on stderr (instead of stdout) when querying users so that the output of commands can be safely redirected. (Vincent Ladeuil, #376582) New Features ************ * A new repository format ``2a`` has been added. This is a beta release of the the brisbane-core (aka group-compress) project. This format now suitable for wider testing by advanced users willing to deal with some bugs. We would appreciate test reports, either positive or negative. Format 2a is substantially smaller and faster for many operations on many trees. This format or an updated version will become the default in bzr 2.0. This is a rich-root format, so this repository format can be used with bzr-svn. Bazaar branches in previous non-rich-root formats can be converted (including by merge, push and pull) to format 2a, but not vice versa. We recommend upgrading previous development formats to 2a. Upgrading to this format can take considerable time because it expands and more concisely repacks the full history. If you use stacked branches, you must upgrade the stacked branches before the stacked-on branches. (See ) * ``--development7-rich-root`` is a new dev format, similar to ``--dev6`` but using a Revision serializer using bencode rather than XML. (Jelmer Vernooij, John Arbash Meinel) * mail_client=claws now supports --body (and message body hooks). Also uses configured from address. (Barry Warsaw) Improvements ************ * ``--development6-rich-root`` can now stack. (Modulo some smart-server bugs with stacking and non default formats.) (John Arbash Meinel, #373455) * ``--development6-rich-root`` delays generating a delta index for the first object inserted into a group. This has a beneficial impact on ``bzr commit`` since each committed texts goes to its own group. For committing a 90MB file, it drops peak memory by about 200MB, and speeds up commit from 7s => 4s. (John Arbash Meinel) * Numerous operations are now faster for huge projects, i.e. those with a large number of files and/or a large number of revisions, particularly when the latest development format is used. These operations (and improvements on OpenOffice.org) include: * branch in a shared repository (2X faster) * branch --no-tree (100X faster) * diff (2X faster) * tags (70X faster) (Ian Clatworthy) * Pyrex version of ``bencode`` support. This provides optimized support for both encoding and decoding, and is now found at ``bzrlib.bencode``. ``bzrlib.utils.bencode`` is now deprecated. (Alexander Belchenko, Jelmer Vernooij, John Arbash Meinel) Bug Fixes ********* * Bazaar can now pass attachment files to the mutt email client. (Edwin Grubbs, #384158) * Better message in ``bzr add`` output suggesting using ``bzr ignored`` to see which files can also be added. (Jason Spashett, #76616) * ``bzr pull -r 123`` from a stacked branch on a smart server no longer fails. Also, the ``Branch.revision_history()`` API now works in the same situation. (Andrew Bennetts, #380314) * ``bzr serve`` on Windows no longer displays a traceback simply because a TCP client disconnected. (Andrew Bennetts) * Clarify the rules for locking and fallback repositories. Fix bugs in how ``RemoteRepository`` was handling fallbacks along with the ``_real_repository``. (Andrew Bennetts, John Arbash Meinel, #375496) * Fix a small bug with fetching revisions w/ ghosts into a new stacked branch. Not often triggered, because it required ghosts to be part of the fetched revisions, not in the stacked-on ancestry. (John Arbash Meinel) * Fix status and commit to work with content filtered trees, addressing numerous bad bugs with line-ending support. (Ian Clatworthy, #362030) * Fix problem of "directory not empty" when contending for a lock over sftp. (Martin Pool, #340352) * Fix rule handling so that eol is optional, not mandatory. (Ian Clatworthy, #379370) * Pushing a new stacked branch to a 1.15 smart server was broken due to a bug in the ``BzrDirFormat.initialize_ex`` smart verb. This is fixed in 1.16, but required changes to the network protocol, so the ``BzrDirFormat.initialize_ex`` verb has been removed and replaced with a corrected ``BzrDirFormat.initialize_ex_1.16`` verb. 1.15 clients will still work with a 1.16 server as they will fallback to slower (and bug-free) methods. (Jonathan Lange, Robert Collins, Andrew Bennetts, #385132) * Reconcile can now deal with text revisions that originated in revisions that are ghosts. (Jelmer Vernooij, #336749) * Support cloning of branches with ghosts in the left hand side history. (Jelmer Vernooij, #248540) * The ''bzr diff'' now catches OSError from osutils.rmtree and logs a helpful message to the trace file, unless the temp directory really was removed (which would be very strange). Since the diff operation has succeeded from the user's perspective, no output is written to stderr or stdout. (Maritza Mendez, #363837) * Translate errors received from a smart server in response to a ``BzrDirFormat.initialize`` or ``BzrDirFormat.initialize_ex`` request. This was causing tracebacks even for mundane errors like ``PermissionDenied``. (Andrew Bennetts, #381329) Documentation ************* * Added directory structure and started translation of docs in Russian. (Alexey Shtokalo, Alexander Iljin, Alexander Belchenko, Dmitry Vasiliev, Volodymyr Kotulskyi) API Changes *********** * Added osutils.parent_directories(). (Ian Clatworthy) * ``bzrlib.progress.ProgressBar``, ``ChildProgress``, ``DotsProgressBar``, ``TTYProgressBar`` and ``child_progress`` are now deprecated; use ``ui_factory.nested_progress_bar`` instead. (Martin Pool) * ``graph.StackedParentsProvider`` is now a public API, replacing ``graph._StackedParentsProvider``. The api is now considered stable and ready for external users. (Gary van der Merwe) * ``bzrlib.user_encoding`` is deprecated in favor of ``get_user_encoding``. (Alexander Belchenko) * TreeTransformBase no longer assumes that limbo is provided via disk. DiskTreeTransform now provides disk functionality. (Aaron Bentley) Internals ********* * Remove ``weave.py`` script for accessing internals of old weave-format repositories. (Martin Pool) Testing ******* * The number of cores is now correctly detected on OSX. (John Szakmeister) * The number of cores is also detected on Solaris and win32. (Vincent Ladeuil) * The number of cores is also detected on FreeBSD. (Matthew Fuller) From chris at simplistix.co.uk Thu Jun 18 16:55:51 2009 From: chris at simplistix.co.uk (Chris Withers) Date: Thu, 18 Jun 2009 15:55:51 +0100 Subject: Announcing www.python-excel.org Message-ID: <4A3A5577.2060704@simplistix.co.uk> Hi All, Google unfortunately has a knack of presenting prospective Python users who need to work with Excel files with information that is now really rather out of date. To try and help with this, I've setup a small website at: http://www.python-excel.org ...to try and list the latest recommended ways of working with Excel files in Python. If you work with excel files in Python, then please take a look and let me know what you think. cheers, Chris PS: If anyone reading this has a python-related blog, it might help Google if you could post a short entry about this new site. -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk From chris at simplistix.co.uk Thu Jun 18 17:38:14 2009 From: chris at simplistix.co.uk (Chris Withers) Date: Thu, 18 Jun 2009 16:38:14 +0100 Subject: Tutorial on working with Excel files in Python (without COM and cross platform!) at EuroPython 2009 Message-ID: <4A3A5F66.2030701@simplistix.co.uk> Hi All, Too many people in the Python community *still* think the only way to work with Excel files in Python is using COM on Windows. To try and correct this, I'm giving a tutorial at this year's EuroPython conference in Birmingham, UK on Monday, 29th June that will cover working with Excel files in Python using the pure-python libraries xlrd, xlwt and xlutils. I'll be looking to cover: - Reading Excel Files Including extracting all the data types, formatting and working with large files. - Writing Excel Files Including formatting, many of the useful frilly extras and writing large excel files. - Modifying and Filtering Excel Files A run through of taking existing Excel files and modifying them in various ways. - Workshop for your problems I'm hoping anyone who attends will get a lot out of this! If you're planning on attending and have a particular problem you'd like to work on in this part of the tutorial, please drop me an email and I'll try and make sure I come prepared! All you need for the tutorial is a working knowledge of Excel and Python, with a laptop as an added benefit, and to be at EuroPython this year: http://www.europython.eu/ I look forward to seeing you all there! Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk From chris at simplistix.co.uk Fri Jun 19 00:43:09 2009 From: chris at simplistix.co.uk (Chris Withers) Date: Thu, 18 Jun 2009 23:43:09 +0100 Subject: xlutils 1.3.2 released! Message-ID: <4A3AC2FD.9090102@simplistix.co.uk> Hi All, I'm pleased to announce a new release of xlutils. This is a small collection of utilities that make use of both xlrd and xlwt to process Microsoft Excel files. The list of utilities included in this release are: xlutils.copy Tools for copying xlrd.Book objects to xlwt.Workbook objects. xlutils.display Utility functions for displaying information about xlrd-related objects in a user-friendly and safe fashion. xlutils.filter A mini framework for splitting and filtering Excel files into new Excel files. xlutils.margins Tools for finding how much of an Excel file contains useful data. xlutils.save Tools for serializing xlrd.Book objects back to Excel files. xlutils.styles Tools for working with formatting information expressed in styles. A full list of changes since the last release can be found here: http://www.simplistix.co.uk/software/python/xlutils/changes To find out more, please read here: http://www.simplistix.co.uk/software/python/xlutils In case you're not aware, xlrd and xlwt are two excellent pure-python libraries for reading and writing Excel files. They run on any platform and, likely, any implementation of Python without the need for horrific things like binding to Excel via COM and so needing a Windows machine. If you use any of xlrd, xlwt or xlutils, the following google group will be of use: http://groups.google.com.au/group/python-excel Hope some of this is of interest, I'd love to hear from anyone who ends up using it! cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk From chris at simplistix.co.uk Fri Jun 19 00:51:43 2009 From: chris at simplistix.co.uk (Chris Withers) Date: Thu, 18 Jun 2009 23:51:43 +0100 Subject: TestFixtures 1.6.0 released! Message-ID: <4A3AC4FF.5060200@simplistix.co.uk> Hi All, I'm pleased to announce the first advertised release of TestFixtures. This is a collection of helpers and mock objects that are useful when writing unit tests or doc tests. The modules currently included are: *Comparison* This class lets you instantiate placeholders that can be used to compared expected results with actual results where objects in the actual results do not support useful comparison. The comparision can be based just on the type of the object or on a partial set of the object's attributes, both of which are particularly handy when comparing sequences returned from tested code. *compare* A replacement for assertEquals and the failUnless(x() is True) pattern. Gives more useful differences when the arguments aren't the same, particularly for sequences and long strings. *diff* This function will compare two strings and give a unified diff of their comparison. Handy as a third parameter to unittest.TestCase.assertEquals. *generator* This function will return a generator that yields the arguments it was called with when the generator is iterated over. *LogCapture* This helper allows you to capture log messages for specified loggers in doctests. *log_capture* This decorator allows you to capture log messages for specified loggers for the duration of unittest methods. *replace* This decorator enables you to replace objects such as classes and functions for the duration of a unittest method. The replacements are removed regardless of what happens during the test. *Replacer* This helper enables you to replace objects such as classes and functions from within doctests and then restore the originals once testing is completed. *should_raise* This is a better version of assertRaises that lets you check the exception raised is not only of the correct type but also has the correct parameters. *TempDirectory* This helper will create a temporary directory for you using mkdtemp and provides a handy class method for cleaning all of these up. *tempdir* This decorator will create a temporary directory for the duration of the unit test and clear it up no matter the outcome of the test. *test_date* This is a handy class factory that returns datetime.date replacements that have a today method that gives repeatable, specifiable, testable dates. *test_datetime* This is a handy class factory that returns datetime.datetime replacements that have a now method that gives repeatable, specifiable, testable datetimes. *test_time* This is a handy replacement for time.time that gives repeatable, specifiable, testable times. *wrap* This is a generic decorator for wrapping method and function calls with a try-finally and having code executed before the try and as part of the finally. To find out more, please read here: http://pypi.python.org/pypi/testfixtures cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk From goodger at python.org Fri Jun 19 04:42:10 2009 From: goodger at python.org (David Goodger) Date: Thu, 18 Jun 2009 22:42:10 -0400 Subject: PSF Community Awards go to Stephan Deibel & Sean Reifschneider Message-ID: <4335d2c40906181942n31c09861w5555c84309afa426@mail.gmail.com> [Also posted to the PSF blog: ] The Foundation tries to recognize those whose assistance has been significant in its growth and development as well as its day-to-day operations. This quarter's Community Service Award winners are two particularly noteworthy examples. Stephan Deibel: Stephan was last year's outgoing chairman after four years in harness. This year Stephan has stepped down as a director, after helping to ensure that the Foundation's bylaws were reorganized. Stephan developed pythonology.com to promote Python, and his work as founder of Wingware (wingware.com) and a developer of the Wing IDE has also had a significant impact. Sean Reifschneider Sean has master-minded the PyCon networking every time it's worked, and without the support of this always helpful and reliably competent tummy.com director our conferences simply would not have been the same. Our thanks and congratulations go to both these recipients. From dave at dabeaz.com Fri Jun 19 06:28:26 2009 From: dave at dabeaz.com (David Beazley) Date: Thu, 18 Jun 2009 23:28:26 -0500 Subject: Python Essential Reference, 4th Edition Message-ID: <99A18EF8-7737-4443-B8D1-D0F5C6A264CB@dabeaz.com> * * Python Essential Reference, 4th Edition * * by David Beazley I'm pleased to announce the release of the Python Essential Reference, 4th edition, soon to be appearing at a bookstore near you. More than a year in development, this edition covers Python 2.6, Python 3, and a wide variety of new library modules. Notable new features include - Greatly expanded coverage of advanced features such as generators, coroutines, context managers, decorators, metaclasses, and more. - Detailed coverage of concurrent programming including threads, the multiprocessing library, and coroutines. - A new chapter on testing, debugging, profiling, and performance optimization. - Completely revised examples and code samples appearing throughout the text. - New coverage of the database API, WSGI, ctypes, and other essential library modules. - Detailed information on Python 3 including compatibility notes, migration strategies, notable new features, and use of the 2to3 tool. If you liked previous editions of the Essential Reference, I think you will be pleased--this may be the best edition yet. Cheers, Dave From chris at simplistix.co.uk Fri Jun 19 09:56:02 2009 From: chris at simplistix.co.uk (Chris Withers) Date: Fri, 19 Jun 2009 08:56:02 +0100 Subject: MailingLogger 3.3.0 Released! Message-ID: <4A3B4492.9030003@simplistix.co.uk> I'm pleased to announce a new release of Mailinglogger. Mailinglogger provides two handlers for the standard python logging framework that enable log entries to be emailed either as the entries are logged or as a summary at the end of the running process. The handlers have the following features: - customisable and dynamic subject lines for emails sent - emails sent with an X-Mailer header for easy filtering - flood protection to ensure the number of emails sent is not excessive - support for SMTP servers that require authentication - fully documented and tested In addition, extra support is provided for configuring the handlers when using ZConfig, Zope 2 or Zope 3. The latest releases of ZConfig, in particular, provide a great way to configure the python logging framework without having to resort to the appalling .ini-based configuration stuff: >>> from ZConfig import configureLoggers >>> configureLoggers(''' ... ... level INFO ... ... PATH STDOUT ... format %(levelname)s %(name)s %(message)s ... ... ... ''') This release of MailingLogger adds the ability to use %(levelname)s in subject-line formatting for SummarisingLoggers to include the highest level logged. For more information, please see: http://www.simplistix.co.uk/software/python/mailinglogger or http://pypi.python.org/pypi/mailinglogger cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk From chris at simplistix.co.uk Fri Jun 19 11:21:11 2009 From: chris at simplistix.co.uk (Chris Withers) Date: Fri, 19 Jun 2009 10:21:11 +0100 Subject: ErrorHandler 1.0.0 Released! Message-ID: <4A3B5887.6000509@simplistix.co.uk> I'm pleased to finally get around to announcing the release of ErrorHandler. This is a handler for the python standard logging framework that can be used to tell whether messages have been logged at or above a certain level. This can be useful when wanting to ensure that no errors have been logged before committing data back to a database. Here's an example: First, you set up the error handler: >>> from logging import getLogger >>> from errorhandler import ErrorHandler >>> logger = getLogger() >>> e = ErrorHandler() The handler started off being un-fired: >>> e.fired False Then you do whatever else you need to do, which may involve logging: >>> logger.info('some information') >>> e.fired False However, if any logging occurs at an error level or above: >>> logger.error('an error') Then the error handler becomes fired: >>> e.fired True You use this as a condition to only do certain actions when no errors have been logged: >>> if e.fired: ... print "Not updating files as errors have occurred" Not updating files as errors have occurred If your code does work in batches, you may wish to reset the error handler at the start of each batch: >>> e.reset() >>> e.fired False For more information, please see: http://www.simplistix.co.uk/software/python/errorhandler or http://pypi.python.org/pypi/errorhandler cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk From ralsina at netmanagers.com.ar Sat Jun 20 00:10:34 2009 From: ralsina at netmanagers.com.ar (Roberto Alsina) Date: Fri, 19 Jun 2009 19:10:34 -0300 Subject: Announce: rst2pdf 0.11 is out Message-ID: <200906191910.34894.ralsina@netmanagers.com.ar> It's my pleasure to announce the release of rst2pdf version 0.11, available at http://code.google.com/p/rst2pdf/downloads/list Rst2pdf is a tool to generate PDF files directly from restructured text sources via reportlab. This version includes many bugfixes and some new features compared to the previous 0.10.1 version, including but not limited to embedding PDF images, much improved image sizing, nicer list layouts, better styling, page backgrounds, and more than 15 bugs fixed. A full changelog is included at the bottom of this message. Rst2pdf aims to support the full restructured text feature set, and is very close to that goal, while also including some of the more experimental features, like a source code directive with syntax highlighting and math notation support with LaTeX-like syntax. It supports embedding arbitrary fonts, both True Type and PS Type 1, both raster and vector images (including SVG), page transition effects, multiple, flexible page layouts, cascading styles, and much, much more. You can find more information about rst2pdf in its home page ( http://rst2pdf.googlecode.com), and ask anything you want in the rst2pdf- discuss mailing list (http://groups.google.com/group/rst2pdf-discuss) Here are the changes in this version compared to 0.10.1: * Degrade more gracefully when one or more wordaxe hyphenators are broken (currently DWC is the broken one) * Fixed issue 132: in some cases, with user-defined fontAlias, bold and italic would get confused (getting italic instead of bold in inline markup, for instance). * New stylesheet no-compact-lists to make lists... less compact * SVG images now handle % as a width unit correctly. * Implemented issue 127: support images in PDF format. Right now they are rasterized, so it's not ideal. Perhaps something better will come up later. * Fixed issue 129: make it work around a prblem with KeepTogether in RL 2.1 it probably makes the output look worse in some cases when using that. RL 2.1 is not really supported, so added a warning. * Fixed issue 130: use os.pathsep instead of ":" since ":" in windows is used in disk names (and we still pay for DOS idiocy, in 2009) * Fixed issue 128: headings level 3+ all looked the same * Ugly bugfix for Issue 126: crashes when using images in header + TOC * New tstyles section in the stylesheet provides more configurable list layouts and more powerful table styling. * Better syntax highlighting (supports bold/italic) * Workaround for issue 103 so you can use borderPadding as a list (but it will look wrong if you are using wordaxe <= 0.3.2) * Added fieldvalue style for field lists * Added optionlist tstyle, for option lists * Added collection of utility stylesheets and documented it * Improved command line parsing and stylesheet loading (guess extension like latest rst2latex does) * Fixed Issue 67: completely new list layouting code * Fixed Issue 116: crashes caused by huge images * Better support for %width in images, n2ow it's % of the container frame's width, not of the text area. * Fixed bug in SVG scaling * Better handling of missing images * Added missing styles abstract, contents, dedication to the default stylesheet * Tables style support spaceBefore and spaceAfter * New topic-title style for topic titles (obvious ;-) * Vertical alignment for inline images (:align: parameter) * Issue 118: Support for :scale: in images and handle resizing of inline images * Issue 119: Fix placement of headers and footers * New background property for page templates (nice for presentations, for example) * Default to px for image width specifications instead of pt * Support all required measurement units ("em" "ex" "px" "in" "cm" "mm" "pt" "pc" "%" "") * New automated scripts to check test cases for "visual differences" * Respect images DPI property a bit like rst2latex does. * Issue 110: New --inline-footnotes option * Tested with reportlab from SVN trunk * Support for Dinu Gherman's svglib. If both svglib and uniconvertor are available, svglib is preferred (for SVG, of course). Patch originally by rute. * Issue 109: Separate styles for each kind of admonition * For Issue 109: missing styles are not a fatal error * Issue 117: TOCs with more than 6 levels now supported (raised limit to 9, which is silly deep) -- ("\''/").__..-''"`-. . Roberto Alsina `9_ 9 ) `-. ( ).`-._.`) KDE Developer (MFCH) (_Y_.)' ._ ) `._`. " -.-' http://lateral.netmanagers.com.ar _..`-'_..-_/ /-'_.' The 6,855th most popular site of Slovenia (l)-'' ((i).' ((!.' according to alexa.com (27/5/2007) "Our opponent is an alien starship packed with atomic bombs, I said. We have a protractor. Okay, I?ll go home and see if I can scrounge up a ruler and a piece of string." ? Neal Stephenson From quentel.pierre at wanadoo.fr Sat Jun 20 09:44:42 2009 From: quentel.pierre at wanadoo.fr (Pierre Quentel) Date: Sat, 20 Jun 2009 00:44:42 -0700 (PDT) Subject: Karrigell-3.0 released Message-ID: Hi there, I am glad to announce the version 3.0 of the Python web framework Karrigell Karrigell has been around since 2002 and after numerous versions, until 2.4.0 last year, it needed a complete rewriting. Some modules had been written long ago, using out-of-date patterns ; the global architecture needed cleaning up, to replace an accumulation of modules added one release after the other ; most important, the previous versions were unable to run reliably in a multithreaded environment, which was a serious limitation for professional web developement The decision was taken more than one year ago to rewrite almost everything, while stricking to the same guidelines of simplicity for the programmer and administrator : - no configuration needed to get started : just unzip the package and run "python Karrigell.py" to start the built-in web server - URLs match scripts in the file system - no imposed ORM, templating engine : all you need to know is Python and HTML, plus a few built-in names for access to environment, form data, etc - the most usual tasks in web programing (sessions, user management, redirection, etc) are accessible though built-in functions and exceptions with a very intuitive syntax : Session() returns the session object, Login() checks if a user is logged in and redirects to a login page otherwise, "raise HTTP_REDIRECTION, url" redirects to the specified url, etc - clear debugging info - a choice between a variety of coding styles : while the recommended way is to use "Karrigell services" (Python scripts with the whole logic of a web application in one script), other options are possible, including a PHP-like format with Python code inside HTML markup The most efficient and flexible way to run Karrigell is to use the built-in multithreaded or multi-process web server ; for Windows user, an exe file is available and allows running the framework from a USB key on any machine, even if no Python interpreter is installed. The built-in server has been tested by hundreds of users on all possible configurations, it is robust, reliable and fast enough for 99% of web sites Of course, it can also be integrated to other web servers, with a special effort on Apache integration (CGI mode, mod_python) ; you can also configure your server to serve static files and proxy the requests to the built-in server Karrigell does not impose anything on database choice : since scripts are pure Python, any db engine with a Python API can be used, either directly or through an ORM like SQLAlchemy. All template engines are also supported Though it's an almost complete rewriting, the syntax remains almost 100% compatible with previous versions. Migrating from 2.x to 3.0 should be easy (much easier than from Python 2.x to 3.0). The two main changes, introduced for multithread support, are relative to : - relative paths in the file system : in previous versions, they were converted to absolute path relative to the script's path ; in version 3.0, they must be converted by a built-in function REL() - import of user-defined modules : instead of the standard Python statement "import foo", the syntax is now foo = Import("foo") A tool to detect potential migration issues in provided in the package I thank all the people on the Karrigell group who helped by their advices, suggestions, support and code Enjoy ! Pierre From fuzzyman at gmail.com Sat Jun 20 21:23:17 2009 From: fuzzyman at gmail.com (Fuzzyman) Date: Sat, 20 Jun 2009 12:23:17 -0700 (PDT) Subject: discover: automatic test discovery for unittest Message-ID: <3d8b8b38-5254-4b3e-963d-e10950b6b3cb@l34g2000vbi.googlegroups.com> The discover module is a backport of the automatic test discovery from python-trunk (what will become Python 2.7 & 3.2) to work with Python 2.4 or more recent (including Python 3.0). Test discovery allows you to run all the unittest based tests (or just a subset of them) in your project without you having to write your own test collection or running machinery. Once installed, test discovery can be invoked with ``python -m discover``. I've tested the discover module with Python 2.4 and 3.0. The discover module also implements the ``load_tests`` protocol which allows you to customize test loading from modules and packages. Test discovery and ``load_tests`` are implemented in the ``DiscoveringTestLoader`` which can be used from your own test framework. * discover module on PyPI http://pypi.python.org/pypi/discover discover can be installed with pip or easy_install. After installing switch the current directory to the top level directory of your project and run:: python -m discover python discover.py This will discover all tests (with certain restrictions) from the current directory. The discover module has several options to control its behavior (full usage options are displayed with ``python -m discover -h``):: Usage: discover.py [options] Options: -v, --verbose Verbose output -s directory Directory to start discovery ('.' default) -p pattern Pattern to match test files ('test*.py' default) -t directory Top level directory of project (default to start directory) For test discovery all test modules must be importable from the top level directory of the project. For example to use a different pattern for matching test modules run:: python -m discover -p '*test.py' (Remember to put quotes around the test pattern or shells like bash will do shell expansion rather than passing the pattern through to discover.) Test discovery is implemented in ``discover.DiscoveringTestLoader.discover``. As well as using discover as a command line script you can import ``DiscoveringTestLoader``, which is a subclass of ``unittest.TestLoader``, and use it in your test framework. This method finds and returns all test modules from the specified start directory, recursing into subdirectories to find them. Only test files that match *pattern* will be loaded. (Using shell style pattern matching.) All test modules must be importable from the top level of the project. If the start directory is not the top level directory then the top level directory must be specified separately. The ``load_tests`` protocol allows test modules and packages to customize how they are loaded. This is implemented in ``discover.DiscoveringTestLoader.loadTestsFromModule``. If a test module defines a ``load_tests`` function then tests are loaded from the module by calling ``load_tests`` with three arguments: `loader`, `standard_tests`, `None`. If a test package name (directory with `__init__.py`) matches the pattern then the package will be checked for a ``load_tests`` function. If this exists then it will be called with *loader*, *tests*, *pattern*. If ``load_tests`` exists then discovery does *not* recurse into the package, ``load_tests`` is responsible for loading all tests in the package. The pattern is deliberately not stored as a loader attribute so that packages can continue discovery themselves. *top_level_dir* is stored so ``load_tests`` does not need to pass this argument in to ``loader.discover()``. discover.py is maintained in a google code project (where bugs and feature requests should be posted): http://code.google.com/p/unittest-ext/ The latest development version of discover.py can be found at: http://code.google.com/p/unittest-ext/source/browse/trunk/discover.py Michael Foord From cthedot at gmail.com Sat Jun 20 22:04:52 2009 From: cthedot at gmail.com (Christof Hoeke) Date: Sat, 20 Jun 2009 22:04:52 +0200 Subject: ANN: W3C HTML batch Validator in Python Message-ID: what is it ---------- A simple script calling the W3C HTML Validator in batch mode. Adapted from Perl version. changes since the last full release ----------------------------------- - BUGFIX: checks for Valid or Invalid adapted to changes of W3C HTML Validator HTML (the check is really naive!) - BUGFIX: fixed saving of reports - improvement of output - added valid and invalid example HTML download -------- download validate-1.7 - 090620 from http://cthedot.de/batchvalidator/ tested on Python 2.6.2 only but should work on other versions as it is really simple... Included is a (modified) httplib_multipart.py script (originally from http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/146306) to be able to POST fields and files to an HTTP host as multipart/form-data. any comment appreciated... thanks, Christof From python-url at phaseit.net Sat Jun 20 23:41:08 2009 From: python-url at phaseit.net (Gabriel Genellina) Date: Sat, 20 Jun 2009 21:41:08 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 20) Message-ID: QOTW: "... open recursion with abstraction is supported in OOP but it requires elaborate and rather tedious boilerplate in FP ..." - Martin Odersky http://www.nabble.com/Re%3A--scala--usefulness-of-OOP-p23273389.html How to write a method that may act both as an instance method and as a class method: http://groups.google.com/group/comp.lang.python/browse_thread/thread/41e3606af55598e8/ How to check the Python version? http://groups.google.com/group/comp.lang.python/browse_thread/thread/105dd4686e7985e1/ Exceptions alter the normal lifetime of some objects: http://groups.google.com/group/comp.lang.python/browse_thread/thread/7f9056711e3e313c Are exit() and sys.exit() the same thing? http://groups.google.com/group/comp.lang.python/browse_thread/thread/72b318b07030a048/ "Exotic" logics http://groups.google.com/group/comp.lang.python/browse_thread/thread/75d688efdac05526/ A compilation of good books in Computer Science/Software Engineering: http://groups.google.com/group/comp.lang.python/browse_thread/thread/952facdd398772/ itertools.intersect is missing? http://groups.google.com/group/comp.lang.python/browse_thread/thread/4772d9ff82a90a6c/ From Perl to Python: Lexical (private) scope: http://groups.google.com/group/comp.lang.python/browse_thread/thread/2b2536c28cd32888/ Multiple sequence subscripts: http://groups.google.com/group/comp.lang.python/browse_thread/thread/61c1d89d988a2cac/ None, vacuous truth, denotational semantics, and other philosophical aspects of emptyness: http://groups.google.com/group/comp.lang.python/browse_thread/thread/3c5397f9b6726b7a/ Walking a directory containing many many files: http://groups.google.com/group/comp.lang.python/browse_thread/thread/ff3905b80de43588/ How to get the total size of a local hard disk in a cross-platform way :) http://groups.google.com/group/comp.lang.python/msg/c6c09fa6b3b62f84 ======================================================================== 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 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 enthusiasts": 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/group/comp.lang.python.announce/topics 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/ 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/donations/ The Summary of Python Tracker Issues is an automatically generated report summarizing new bugs, closed ones, and patch submissions. http://search.gmane.org/?author=status%40bugs.python.org&group=gmane.comp.python.devel&sort=date 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://code.activestate.com/recipes/langs/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, see: http://www.python.org/channews.rdf 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/ 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 Enjoy the *Python Magazine*. http://pymag.phparch.com/ *Py: the Journal of the Python Language* http://www.pyzine.com Dr.Dobb's Portal is another source of Python news and articles: http://www.ddj.com/TechSearch/searchResults.jhtml?queryText=python and Python articles regularly appear at IBM DeveloperWorks: http://www.ibm.com/developerworks/search/searchResults.jsp?searchSite=dW&searchScope=dW&encodedQuery=python&rankprofile=8 Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://search.gmane.org/?query=python+URL+weekly+news+links&group=gmane.comp.python.general&sort=date http://groups.google.com/groups/search?q=Python-URL!+group%3Acomp.lang.python&start=0&scoring=d& http://lwn.net/Search/DoSearch?words=python-url&ctype3=yes&cat_25=yes 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 gianmt at gnome.org Sun Jun 21 10:44:46 2009 From: gianmt at gnome.org (Gian Mario Tagliaretti) Date: Sun, 21 Jun 2009 10:44:46 +0200 Subject: [ANNOUNCE] PyGTK 2.15.2 - unstable Message-ID: <35bf41160906210144y67826b56l786e053de2615eca@mail.gmail.com> A new unstable development release of the Python bindings for GTK+ has been released. The new release is available from ftp.gnome.org and its mirrors as soon as its synced correctly: http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.15/ Thanks to Paul Pogonyshev who has done all the hard job preparing this release. Blurb: GTK+ is a toolkit for developing graphical applications that run on systems such as Linux, Windows and MacOS X. It provides a comprehensive set of GUI widgets, can display Unicode bidi text. It links into the Gnome Accessibility Framework through the ATK library. PyGTK provides a convenient wrapper for the GTK+ library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting. When combined with PyORBit and gnome-python, it can be used to write full featured Gnome applications. Like the GTK+ library itself PyGTK is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full features applications. What's new since 2.15.1? - Rename gtk.Statusbar.remove() to gtk.Statusbar.remove_message (Paul) - Allow pango.Context creation (Paul, #550855) - Make gtk.gdk.Pixbuf.add_alpha accept integers, retaining backward compatibility accepting also chars (Paul, #586094) - Protect window obj from GC in gtk.window_get_toplevels (Gustavo, #574259) - Plug huge number of memory leaks in Pango wrappers (Paul) - Add gtk.gdk.WINDOWING constant (Paul, #555112) - Wrap gdk_pixbuf_apply_embedded_orientation (Chris Wilson) - Modernize constructors of seven more types (Paul) - Don't free a string we don't own (Paul, #585458) - Some docs tweaking (Gian) Bug reports, as always, should go to Bugzilla; check out http://pygtk.org/developer.html and http://pygtk.org/feedback.html for links to posting and querying bug reports for PyGTK. cheers -- Gian Mario Tagliaretti GNOME Foundation member gianmt at gnome.org From nmb.ten at gmail.com Sun Jun 21 19:46:04 2009 From: nmb.ten at gmail.com (mail.motzarella.org) Date: Sun, 21 Jun 2009 21:46:04 +0400 Subject: dbf converter Message-ID: Good day. dbfconverter.py 0.02 has been released. What is dbfconverter.py? dbfconverter.py is platform independent python script. It converts database with dbf files or single dbf file into sql code, wich you can load into any sql database. dbfconverter.py supports encoding changing, changing sql file format (now it has 3 formats: mssql, mysql, postgresql). If you need, you can create your own sql file format. dbfconverter.py need python to be installed. it is available from https://sourceforge.net/projects/dbfconverter Version 0.02 changes: * Removed db api sinchronization * Added some extended sql formats. Now user can change, what format will be the sql file. * Now you can create your own format of sql file (see formats.txt in docs folder) From inform at tiker.net Mon Jun 22 08:50:51 2009 From: inform at tiker.net (Andreas =?utf-8?q?Kl=C3=B6ckner?=) Date: Mon, 22 Jun 2009 02:50:51 -0400 Subject: [ANN] PuDB 0.92.1 - a console-based visual debugger Message-ID: <200906220250.54386.inform@tiker.net> What is it? ----------- PuDB is a full-screen, console-based visual debugger for Python. Its goal is to provide all the niceties of modern GUI-based debuggers in a more lightweight and keyboard-friendly package. PuDB allows you to debug code right where you write and test it--in a terminal. If you've worked with the excellent (but nowadays ancient) DOS-based Turbo Pascal or C tools, PuDB's UI might look familiar. Where can I get it? -------------------- You may find the most recent version (0.92.1 as of this writing) here: http://pypi.python.org/pypi/pudb (like screencasts? there is one!) Main Features ------------- * Syntax-highlighted source, the stack, breakpoints and variables are all visible at once and continuously updated. This helps you be more aware of what's going on in your program. Variable displays can be expanded, collapsed and have various customization options. * Simple, keyboard-based navigation using single keystrokes makes debugging quick and easy. PuDB understands cursor-keys and Vi shortcuts for navigation. Other keys are inspired by the corresponding pdb coomands. * Use search to find relevant source code, or use "m" to invoke the module browser that shows loaded modules, lets you load new ones and reload existing ones. * Breakpoints can be set just by pointing at a source line and hitting "b" and then edited visually in the breakpoints window. Or hit "t" to run to the line under the cursor. * Drop to a Python shell in the current environment by pressing "!". * PuDB places special emphasis on exception handling. A post-mortem mode makes it easy to retrace a crashing program's last steps. License and Dependencies ------------------------ PuDB is distributed under the MIT license. It is based on Ian Ward's Urwid library and can optionally make use of Georg Brandl's Pygments for syntax highlighting. Andreas From Eric_Dexter at msn.com Mon Jun 22 11:55:12 2009 From: Eric_Dexter at msn.com (edexter) Date: Mon, 22 Jun 2009 02:55:12 -0700 (PDT) Subject: ride tab editor 2.02 released Message-ID: 2.01 more changes in the menu to give it a more traditional look custom tab formats have been included to let the user do what they wish more options under help message board and iran.org (support democracy in iran) 2.02 custom instruments added (banjo, mandolin, ukulele) alternitive tunings for guitar (dropped d, dadgad) example of creating a custom tab piano roll for csound. changes to the about box ride tab editor is a tab editor created in 2004 that originally allowed guitar, bass and drums. ride tab editor 2 is started to address problems people had of finding tab editors for other instruments by allowing them to create custom format definitions. It is also very useful to create text based piano rolls for text based music programming languages such as csound. two examples are provided. a drum tab to csound creater piano roll to csound creater file:///C:/Ride%20Tab%20Editor/ride%20tab%20editor%202.02/ride_tab_editor.html A compiled version of the original 1.0 can be found on sourceforge for windows, mac and linux From Eric_Dexter at msn.com Mon Jun 22 15:46:05 2009 From: Eric_Dexter at msn.com (edexter) Date: Mon, 22 Jun 2009 06:46:05 -0700 (PDT) Subject: ride tab editor 2.02 released References: Message-ID: <78cea885-dbb7-485a-b2b0-5aa43263644b@y33g2000prg.googlegroups.com> On Jun 22, 3:55?am, edexter wrote: > 2.01 > > more changes in the menu to give it a more traditional look > custom tab formats have been included to let the user do what they > wish > more options under help message board and iran.org (support democracy > in iran) > > 2.02 > > custom instruments added (banjo, mandolin, ukulele) > alternitive tunings for guitar (dropped d, dadgad) > example of creating a custom tab piano roll for csound. > changes to the about box > > ride tab editor is a tab editor created in 2004 that originally > allowed guitar, bass and drums. > ride tab editor 2 is started to address problems people had of finding > tab editors for other instruments > by allowing them to create custom format definitions. ?It is also very > useful to create text based piano rolls > for text based music programming languages such as csound. ?two > examples are provided. > > a drum tab to csound creater > piano roll to csound creater > > file:///C:/Ride%20Tab%20Editor/ride%20tab%20editor%202.02/ride_tab_editor.h tml > > A compiled version of the original 1.0 can be found on sourceforge for > windows, mac and linux the link came out mangeled http://dexrowem.blogspot.com/search?q=ride+tab+editor From ahz001 at gmail.com Mon Jun 22 15:51:56 2009 From: ahz001 at gmail.com (Andrew Ziem) Date: Mon, 22 Jun 2009 07:51:56 -0600 Subject: [ANN] BleachBit 0.5.2 Message-ID: BleachBit is a Internet history, locale, registry, privacy, and temporary file cleaner for Linux and Windows on Python v2.4 - v2.6. Notable changes for 0.5.2: * Add cleaners for Pidgin, Miro, Nexuiz, gedit, Winamp, Yahoo! Messenger, and Windows temporary folder * Clean more of Firefox, Vuze/Azureus, OpenOffice.org, aMSN, espeak, and GNOME's trash. * Add Dutch and Hungarian translations. * Update Arabic, Brazilian Portuguese, Czech, German, Italian, and Slovak translations. * Fix bugs regarding Firefox, cleaning resulting in size increases, shredding write protected files, compatibility with Python 2.6. * Fix many bugs on the new Microsoft Windows port. Detailed release notes http://bleachbit.blogspot.com/2009/06/bleachbit-052-released.html Download http://bleachbit-project.appspot.com/download/ From edreamleo at charter.net Mon Jun 22 18:23:23 2009 From: edreamleo at charter.net (Edward K Ream) Date: Mon, 22 Jun 2009 11:23:23 -0500 Subject: ANN: Leo 4.6 beta 2 released Message-ID: Leo 4.6 b2 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.6: -------------------------- - Cached external files *greatly* reduces the time to load .leo files. - Leo now features a modern Qt interface by default. Leo's legacy Tk interface can also be used. - New --config, --file and --gui command-line options. - Leo tests syntax of .py files when saving them. - Leo can now open any kind of file into @edit nodes. - @auto-rst nodes support "round-tripping" of reStructuredText files. - Properties of commanders, positions and nodes simplify programming. - Improved Leo's unit testing framework. - Leo now requires Python 2.4 or later. - Dozens of 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 h5py at alfven.org Mon Jun 22 21:29:55 2009 From: h5py at alfven.org (Andrew Collette) Date: Mon, 22 Jun 2009 12:29:55 -0700 Subject: ANN: HDF5 for Python 1.2 Message-ID: Announcing HDF5 for Python (h5py) 1.2 ===================================== I'm pleased to announce the availability of HDF5 for Python 1.2 final! This release represents a significant update to the h5py feature set. Some of the new new features are: - Support for variable-length strings! - Use of built-in Python exceptions (KeyError, etc), alongside H5Error - Top-level support for HDF5 CORE, SEC2, STDIO, WINDOWS and FAMILY drivers - Support for ENUM and ARRAY types - Support for Unicode file names - Big speedup (~3x) when using single-index slicing on a chunked dataset Main site: http://h5py.alfven.org Google code: http://h5py.googlecode.com What is h5py? ------------- HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous amounts of data. >From a Python programmer's perspective, HDF5 provides a robust way to store data, organized by name in a tree-like fashion. You can create datasets (arrays on disk) hundreds of gigabytes in size, and perform random-access I/O on desired sections. Datasets are organized in a filesystem-like hierarchy using containers called "groups", and accesed using the tradional POSIX /path/to/resource syntax. In addition to providing interoperability with existing HDF5 datasets and platforms, h5py is a convienient way to store and retrieve arbitrary NumPy data and metadata. Full list of new features in 1.2 -------------------------------- - Variable-length strings are now supported! They are mapped to native Python strings via the NumPy "object" type. VL strings may be read, written and created from h5py, and are allowed in all HDF5 contexts, even as members of compound or array types. - HDF5 exceptions now inherit from common Python built-ins like TypeError and ValueError (in addition to current HDF5 error hierarchy), freeing the user from knowledge of the HDF5 error system. Existing code which uses H5Error will continue to work. - Many different low-level HDF5 drivers can now be used when creating a file, which allows purely in-memory ("core") files, multi-volume ("family") files, and files which use low-level buffered I/O. - Groups and attributes now support the standard Python dictionary interface methods, including keys(), values() and friends. The existing methods (listnames(), listobjects(), etc.) remain and will not be removed until at least h5py 1.4 or equivalent. - Workaround for an HDF5 bug has sped up reading/writing of chunked datasets. When using a slice with fewer dimensions than the dataset, there can be as much as a 3x improvement in write times over h5py 1.1. - Enumerated types are now fully supported; they can be used in NumPy anywhere integer types are allowed, and are stored as native HDF5 enums. Conversion between integers and enums is supported. - The NumPy "array" dtype is now allowed as a top-level type when creating a dataset, not just as a member of a compound type. - Unicode file names are now supported - It's now possible to explicitly set the type of an attribute, and to preserve the type of an attribute while modifying it. - High-level objects now have .parent and .file attributes, to make the navigation of HDF5 files more convenient. Design revisions since 1.1 -------------------------- - The role of the "name" attribute on File objects has changed. "name" now returns the HDF5 path of the File object ('/'); the file name on disk is available at File.filename. - Dictionary-interface methods for Group and AttributeManager objects have been renamed to follow the standard Python convention (keys(), values(), etc). The old method names are still available but deprecated. - The HDF5 shuffle filter is no longer automatically activated when GZIP or LZF compression is used; many datasets "in the wild" do not benefit from shuffling. Standard features ----------------- - Supports storage of NumPy data of the following types: * Integer/Unsigned Integer * Float/Double * Complex/Double Complex * Compound ("recarray") * Strings * Boolean * Array * Enumeration (integers) * Void - Random access to datasets using the standard NumPy slicing syntax, including a subset of fancy indexing and point-based selection - Transparent compression of datasets using GZIP, LZF or SZIP, and error-detection using Fletcher32 - "Pythonic" interface supporting dictionary and NumPy-array metaphors for the high-level HDF5 abstrations like groups and datasets - A comprehensive, object-oriented wrapping of the HDF5 low-level C API via Cython, in addition to the NumPy-like high-level interface. - Supports many new features of HDF5 1.8, including recursive iteration over entire files and in-library copy operations on the file tree - Thread-safe Where to get it --------------- * Main website, documentation: http://h5py.alfven.org * Downloads, bug tracker: http://h5py.googlecode.com Requires -------- * Linux, Mac OS-X or Windows * Python 2.5 (Windows), Python 2.5 or 2.6 (Linux/Mac OS-X) * NumPy 1.0.3 or later * HDF5 1.6.5 or later (including 1.8); HDF5 is included with the Windows version. Thanks ------ Thanks to D. Dale, E. Lawrence and other for their continued support and comments. Also thanks to the Francesc Alted and the PyTables project, for inspiration and generously providing their code to the community. Thanks to everyone at the HDF Group for creating such a useful piece of software. From faltet at pytables.org Tue Jun 23 14:26:29 2009 From: faltet at pytables.org (Francesc Alted) Date: Tue, 23 Jun 2009 14:26:29 +0200 Subject: ANN: Numexpr 1.3.1 released Message-ID: <200906231426.29207.faltet@pytables.org> ========================== Announcing Numexpr 1.3.1 ========================== Numexpr is a fast numerical expression evaluator for NumPy. With it, expressions that operate on arrays (like "3*a+4*b") are accelerated and use less memory than doing the same calculation in Python. This is a maintenance release. On it, support for the `unit32` type has been added (it is internally upcasted to `int64`), as well as a new `abs()` function (thanks to Pauli Virtanen for the patch). Also, a little tweaking in the treatment of unaligned arrays on Intel architectures allowed for up to 2x speedups in computations involving unaligned arrays. For example, for multiplying 2 arrays (see the included ``unaligned-simple.py`` benchmark), figures before the tweaking were: NumPy aligned: 0.63 s NumPy unaligned: 1.66 s Numexpr aligned: 0.65 s Numexpr unaligned: 1.09 s while now they are: NumPy aligned: 0.63 s NumPy unaligned: 1.65 s Numexpr aligned: 0.65 s Numexpr unaligned: 0.57 s <-- almost 2x faster than above You can also see how the unaligned case can be even faster than the aligned one. The explanation is that the 'aligned' array was actually a strided one (actually a column of an structured array), and the total working data size was a bit larger for this case. In case you want to know more in detail what has changed in this version, see: http://code.google.com/p/numexpr/wiki/ReleaseNotes or have a look at RELEASE_NOTES.txt in the tarball. Where I can find Numexpr? ========================= The project is hosted at Google code in: http://code.google.com/p/numexpr/ And you can get the packages from PyPI as well: http://pypi.python.org/pypi How it works? ============= See: http://code.google.com/p/numexpr/wiki/Overview for a detailed description by the original author (David M. Cooke). Share your experience ===================== Let us know of any bugs, suggestions, gripes, kudos, etc. you may have. Enjoy! -- Francesc Alted From sn at sncs.se Tue Jun 23 17:20:39 2009 From: sn at sncs.se (Sverker Nilsson) Date: Tue, 23 Jun 2009 08:20:39 -0700 (PDT) Subject: Guppy-PE/Heapy 0.1.9 released Message-ID: <3ce5e889-1490-49d0-95f1-13e7fad66870@r37g2000yqd.googlegroups.com> I am happy to announce Guppy-PE 0.1.9 Guppy-PE is a library and programming environment for Python, currently providing in particular the Heapy subsystem, which supports object and heap memory sizing, profiling and debugging. It also includes a prototypical specification language, the Guppy Specification Language (GSL), which can be used to formally specify aspects of Python programs and generate tests and documentation from a common source. The main news in this release: o A patch by Chad Austin to compile with Visual Studio 2003 and Python 2.5 C compilers. I think this may fix similar problems with other Microsoft compilers. o Interactive help system, providing a .doc attribute that can be used to get info on available attributes in text form and also by invoking a browser. o New documentation file, heapy_tutorial.html. It contains for now an example of how to get started and use the interactive help. o Bug fix wrt pop for mutable bitset. (Not used in heapy, only in sets/test.py) o guppy.hpy().test() now includes the set-specific tests. o Remote monitor does not longer require readline library being installed. License: MIT Guppy-PE 0.1.9 is available in source tarball format on the Python Package Index (a.k.a. Cheeseshop): http://pypi.python.org/pypi/guppy/0.1.9 The project homepage is on Sourceforge: http://guppy-pe.sourceforge.net Enjoy, Sverker Nilsson Expertise in Linux, embedded systems, image processing, C, Python... http://sncs.se From martien.friedeman at gmail.com Wed Jun 24 04:08:44 2009 From: martien.friedeman at gmail.com (hans moleman) Date: Tue, 23 Jun 2009 19:08:44 -0700 (PDT) Subject: CodeInvestigator version 0.13.0 was released on June 24 Message-ID: <6d0c06ff-cddf-43db-a0cf-3d2709d00cda@x29g2000prf.googlegroups.com> CodeInvestigator version 0.13.0 was released on June 24. Bug fix: Changes to imported files were not taken into account. This version only works with Python 2.6. Some modules disappear in Python 3.0 and this version has these modules replaced. 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 schmir at gmail.com Wed Jun 24 18:17:25 2009 From: schmir at gmail.com (Ralf Schmitt) Date: Wed, 24 Jun 2009 18:17:25 +0200 Subject: timelib 0.2 - parse english textual date descriptions Message-ID: <932f8baf0906240917k2198e464m5e5f7cf91d706551@mail.gmail.com> Hi all, timelib is a short wrapper around php's internal timelib module. It currently only provides two functions for parsing textual date descriptions: timelib.strtodatetime: >>> timelib.strtodatetime('today') datetime.datetime(2009, 6, 23, 0, 0) >>> timelib.strtodatetime('today') datetime.datetime(2009, 6, 23, 0, 0) >>> timelib.strtodatetime('next friday') datetime.datetime(2009, 6, 26, 0, 0) >>> timelib.strtodatetime('29 feb 2008 -108 years') datetime.datetime(1900, 3, 1, 0, 0) timelib.strtotime: >>> import time, timelib >>> time.ctime(timelib.strtotime("now")) 'Tue Jun 23 15:17:32 2009' >>> time.ctime(timelib.strtotime("4 hours ago")) 'Tue Jun 23 11:17:38 2009' >>> time.ctime(timelib.strtotime("20080229 -1 year")) 'Thu Mar 1 01:00:00 2007' timelib is available via PyPI: http://pypi.python.org/pypi/timelib/ Regards, - Ralf From nekapuzer at gmail.com Wed Jun 24 19:48:29 2009 From: nekapuzer at gmail.com (simon oberhammer) Date: Wed, 24 Jun 2009 10:48:29 -0700 (PDT) Subject: mailog - a minimalstic blog engine Message-ID: serving static html (enhanced with ajax) created by a python daemon fetching markdowned emails via imap. * post and comment per email o youremail+post at example.com o youremail+comment at example.com * no database, no dependencies (only python, which you should already have) * use markdown to format your posts * attach images you want to embed in your post * your emails go through the mail server, therefore: o you get free spam protection o automatic backups (in imap mailbox) MIT license. stable. more infos http://code.google.com/p/mailog/ From stevech1097 at yahoo.com.au Thu Jun 25 11:02:15 2009 From: stevech1097 at yahoo.com.au (Steve) Date: Thu, 25 Jun 2009 17:02:15 +0800 Subject: ANN: pycairo release 1.8.6 now available Message-ID: <1245920535.16630.2.camel@host.localdomain> Pycairo is a set of Python bindings for the multi-platform 2D graphics library cairo. http://cairographics.org http://cairographics.org/pycairo A new pycairo release 1.8.6 is now available from: http://cairographics.org/releases/pycairo-1.8.6.tar.gz http://cairographics.org/releases/pycairo-1.8.6.tar.gz.md5 d10a68f88da0a6a02864bf8f0c25ee4d pycairo-1.8.6.tar.gz Overview of changes from pycairo 1.8.4 to pycairo 1.8.6 ======================================================= General Changes: Pycairo 1.8.6 requires cairo 1.8.6 (or later) Bug Fixes: ImageSurface.create_from_png _read_func fix ToyFontFace type fix 19221: restore cairo.Matrix '*' operator to the way it originally worked. Other Changes: Documentation completed. Steve From jml at mumak.net Fri Jun 26 11:13:16 2009 From: jml at mumak.net (Jonathan Lange) Date: Fri, 26 Jun 2009 19:13:16 +1000 Subject: bzr 1.16.1 released! Message-ID: We discovered a couple of bugs in the 1.16 release that we simply had to fix now. As such... The Bazaar team is mostly happy & just a little bit embarrassed to announce availability of a new release of the bzr adaptive version control system. Bazaar is part of the GNU system . End user testing of the 2a format revealed two serious bugs. The first, #365615, caused bzr to raise AbsentContentFactory errors when autopacking. This meant that commits or pushes to 2a-format repositories failed intermittently. The second bug, #390563, caused the smart server to raise AbsentContentFactory when streaming 2a stacked 2a-format branches. This particularly affected branches stored on Launchpad in the 2a format. Both of these bugs cause command failures only, neither of them cause data corruption or data loss. And, of course, both of these bugs are now fixed. Thanks in particular to Robert Collins and John Arbash Meinel for fixing these bugs. Bazaar is now available for download from http://bazaar-vcs.org/Download as a source tarball; packages for various systems will be available soon. Bug Fixes ********* * We now properly request a more minimal set of file texts when fetching multiple revisions. (Robert Collins, John Arbash Meinel, #390563) * Repositories using CHK pages (which includes the new 2a format) will no longer error during commit or push operations when an autopack operation is triggered. (Robert Collins, #365615) * ``chk_map.iter_interesting_nodes`` now properly uses the *intersection* of referenced nodes rather than the *union* to determine what uninteresting pages we still need to look at. Prior to this, incrementally pushing to stacked branch would push the minimal data, but fetching everything would request extra texts. There are some unhandled cases wrt trees of different depths, but this fixes the common cases. (Robert Collins, John Arbash Meinel, #390563) * ``GroupCompress`` repositories now take advantage of the pack hints parameter to permit cross-format fetching to incrementally pack the converted data. (Robert Collins) * ``Repository.commit_write_group`` now returns opaque data about what was committed, for passing to the ``Repository.pack``. Repositories without atomic commits will still return None. (Robert Collins) * ``Repository.pack`` now takes an optional ``hint`` parameter which will support doing partial packs for repositories that can do that. (Robert Collins) * RepositoryFormat has a new attribute 'pack_compresses' which is True when doing a pack operation changes the compression of content in the repository. (Robert Collins) * ``StreamSink`` and ``InterDifferingSerialiser`` will call ``Repository.pack`` with the hint returned by ``Repository.commit_write_group`` if the formats were different and the repository can increase compression by doing a pack operation. (Robert Collins, #376748) From alain.poirier at net-ng.com Fri Jun 26 12:40:21 2009 From: alain.poirier at net-ng.com (Alain Poirier) Date: Fri, 26 Jun 2009 12:40:21 +0200 Subject: Nagare 0.2.0 - Components and continuation-based web framework Message-ID: <200906261240.22240.alain.poirier@net-ng.com> Hi all, The version 0.2.0 of the Nagare web framework is now released ! To read about its features: http://www.nagare.org/trac/wiki/NagareFeatures Release info and download page: http://pypi.python.org/pypi/nagare Release info and download page of the examples: http://pypi.python.org/pypi/nagare.examples Source and documentation available at the website: http://www.nagare.org Mailing lists - the place to ask questions: http://groups.google.com/group/nagare-users About Nagare ============ Nagare is a components based framework: a Nagare application is a composition of interacting components each one with its own state and workflow kept on the server. Each component can have one or several views that are composed to generate the final web page. This enables the developers to reuse or write highly reusable components easily and quickly. Thanks to Stackless Python, Nagare is also a continuation-based web framework which enables to code a web application like a desktop application, with no need to split its control flow in a multitude of controllers and with the automatic handling of the back, fork and refresh actions from the browser. Its component model and use of the continuation come from the famous Seaside Smalltalk framework. Furthermore Nagare integrates the best tools and standard from the Python world. For example: - WSGI: binds the application to several possible publishers, - lxml: generates the DOM trees and brings to Nagare the full set of XML features (XSL, XPath, Schemas ...), - setuptools: installs, deploys and extends the Nagare framework and the Nagare applications too, - PEAK Rules: generic methods are heavily used in Nagare, to associate views to components, to define security rules, to translate Python code to Javascript ... - WebOb: for its Request and Response Objects. Examples ======== A complete "guess a number" game to taste how easy web coding becomes using continuations: import random from nagare import component, util class Number(component.Task): """A little game to guess a number """ def go(self, comp): """The game algorithm, using continuation for a pure linear Python code In: - ``comp`` -- this component """ self.attempt = 1 number = random.randint(1, 20) comp.call(util.Confirm('I choose a number between 1 and 20. Try to guess it')) while True: x = comp.call(util.Ask('Try #%d: ' % self.attempt)) if not x.isdigit(): continue x = int(x) if x > number: comp.call(util.Confirm('Choose a lower number')) if x < number: comp.call(util.Confirm('Choose a greater number')) if x == number: comp.call(util.Confirm('You guessed the number in %d attempts' % self.attempt)) break self.attempt += 1 A simple todo list, illustrating the programmatic HTML generation, the association of view(s) to Python objects and the direct association of callbacks to HTML form elements and links: from nagare import presentation from nagare.namespaces import xhtml # A plain Python ``TodoList`` class class TodoList(object): def __init__(self): self.todo = [] def add_todo(self, msg): self.todo.append(msg) # The default HTML view, generated in programmatic HTML @presentation.render_for(TodoList) def render(self, h, comp, model): # ``h`` is a (X)HTML renderer (http://www.nagare.org/trac/wiki/RendererObjects) with h.div: for msg in self.todo: h << h.blockquote(msg) << h.hr with h.form: h << 'New todo:' << h.br h << h.textarea.action(self.add_todo) << h.br h << h.input(type='submit', value='Add') return h.root 0.2.0 Changelog =============== Python Stackless 2.6.2 is now the recommanded Python version. New features ------------ - When an AJAX update contains CSS or Javascript urls, they are correctly fetched. - Multiple AJAX updates object added - Session lock added (distributed lock when memcached is used) - A session can now contains SQLAlchemy (and Elixir) entities - LRU management of the sessions and continuations - ``nagare-admin create-rules`` administrative command added. Generation of the Apache / lighttpd / ngnix rewrite rules to serve the statics contents. See :wiki:`NagareAdmin` - ``nagare-admin batch`` administrative command added. To execute Python statements. See :wiki:`NagareAdmin` - Easy WSGI pipe creation - An application can now be registered under several urls - The automatic reloader can be configured with a list of files to watch - API to logout and change the user identity/password added - automatic generation of a ``link(rel="canonical" ...)`` in the page header as an alias without the session and continuation parameters - ``min_compress_len`` parameter added in the memcached configuration - YUI AJAX modules updated to 2.7.0 - SQLAlchemy updated to 0.5.x Changes ------- - Complete refactoring of the AJAX communication. The "wire" format is now Javascript. - ``component.Component.init()`` and ``presentation.init_for()`` API changes. See :wiki:`RestfulUrl` Bugs fixed ---------- - #19, #23, #26: race condition in the sessions management - #22: don't clear the registered callbacks when an image is served - #21: set the security context at the beginning of the request handling - #13, #14: python to javascript translation updated Enjoy! A. Poirier From benjamin at python.org Sat Jun 27 23:12:10 2009 From: benjamin at python.org (Benjamin Peterson) Date: Sat, 27 Jun 2009 16:12:10 -0500 Subject: [RELEASED] Python 3.1 final Message-ID: <1afaf6160906271412v3ca3ef9bo4efa4523db3a3685@mail.gmail.com> On behalf of the Python development team, I'm thrilled to announce the first production release of Python 3.1. Python 3.1 focuses on the stabilization and optimization of the features and changes that Python 3.0 introduced. For example, the new I/O system has been rewritten in C for speed. File system APIs that use unicode strings now handle paths with undecodable bytes in them. Other features include an ordered dictionary implementation, a condensed syntax for nested with statements, and support for ttk Tile in Tkinter. For a more extensive list of changes in 3.1, see http://doc.python.org/3.1/whatsnew/3.1.html or Misc/NEWS in the Python distribution. To download Python 3.1 visit: http://www.python.org/download/releases/3.1/ The 3.1 documentation can be found at: http://docs.python.org/3.1 Bugs can always be reported to: http://bugs.python.org Enjoy! -- Benjamin Peterson Release Manager benjamin at python.org (on behalf of the entire python-dev team and 3.1's contributors) From millman at berkeley.edu Mon Jun 29 09:03:17 2009 From: millman at berkeley.edu (Jarrod Millman) Date: Mon, 29 Jun 2009 00:03:17 -0700 Subject: ANN: SciPy 2009 student sponsorship Message-ID: I am pleased to announce that the Python Software Foundation is sponsoring 10 students' travel, registration, and accommodation for the SciPy 2009 conference (Aug. 18-23). The focus of the conference is both on scientific libraries and tools developed with Python and on scientific or engineering achievements using Python. If you're in college or a graduate program, please check out the details here: http://conference.scipy.org/student-funding About the conference -------------------- SciPy 2009, the 8th Python in Science conference, will be held from August 18-23, 2009 at Caltech in Pasadena, CA, USA. The conference starts with two days of tutorials to the scientific Python tools. There will be two tracks, one for introduction of the basic tools to beginners, and one for more advanced tools. The tutorials will be followed by two days of talks. Both days of talks will begin with a keynote address. The first day?s keynote will be given by Peter Norvig, the Director of Research at Google; while, the second keynote will be delivered by Jon Guyer, a Materials Scientist in the Thermodynamics and Kinetics Group at NIST. The program committee will select the remaining talks from submissions to our call for papers. All selected talks will be included in our conference proceedings edited by the program committee. After the talks each day we will provide several rooms for impromptu birds of a feather discussions. Finally, the last two days of the conference will be used for a number of coding sprints on the major software projects in our community. For the 8th consecutive year, the conference will bring together the developers and users of the open source software stack for scientific computing with Python. Attendees 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. For further information, please visit the conference homepage: http://conference.scipy.org. Important Dates --------------- * Friday, July 3: Abstracts Due * Friday, July 10: Announce accepted talks, post schedule * Friday, July 10: Early Registration ends * Tuesday-Wednesday, August 18-19: Tutorials * Thursday-Friday, August 20-21: Conference * Saturday-Sunday, August 22-23: Sprints * Friday, September 4: Papers for proceedings due Executive Committee ------------------- * Jarrod Millman, UC Berkeley, USA (Conference Chair) * Ga?l Varoquaux, INRIA Saclay, France (Program Co-Chair) * St?fan van der Walt, University of Stellenbosch, South Africa (Program Co-Chair) * Fernando P?rez, UC Berkeley, USA (Tutorial Chair) From info at egenix.com Mon Jun 29 11:07:12 2009 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Mon, 29 Jun 2009 11:07:12 +0200 Subject: ANN: eGenix mxODBC Connect 1.0.2 - Python Database Interface Message-ID: <4A488440.5040107@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Connect Python Database Interface Version 1.0.2 Our new client-server product for connecting Python applications to relational databases - from all major platforms This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-Connect-1.0.2-GA.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. Unlike our mxODBC Python extension, mxODBC Connect is designed as client-server application, so you no longer need to find production quality ODBC drivers for all the platforms you target with your Python application. Instead you use an easy to install Python client library which connects directly to the mxODBC Connect database server over the network. This makes mxODBC Connect the ideal basis for writing cross-platform database programs and utilities in Python, especially if you run applications that need to communicate with databases such as MS SQL Server and MS Access, Oracle Database, IBM DB2 and Informix, Sybase ASE and Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many more, that run on Windows or Linux machines. By removing the need to install and configure ODBC drivers on the client side, mxODBC Connect 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. For more information, please see the product page: http://www.egenix.com/products/python/mxODBCConnect/ ________________________________________________________________________ NEWS mxODBC Connect 1.0.2 is a patch-level release of our new mxODBC Connect product. * More Secure We have upgraded the server to our latest eGenix pyOpenSSL release 0.9.0-0.9.8k, which includes a number of important bug fixes to both pyOpenSSL and the used OpenSSL library. * More Robust Previous versions had a timeout issue that we have solved with this release. We have have also added a special case for shutting down the client with a broken server connection. In such cases, the client will no longer wait for a timeout and terminate much faster. * Ideal for Building Bridges mxODBC Connect Client now works on all major Python platforms. As a result, connecting from e.g. Linux or Mac OS X to an SQL Server database has never been easier. You can even keep the data sources you already have configured on your Windows machine and connect to them as if your application were running on the database server itself. ________________________________________________________________________ UPGRADING You are encouraged to upgrade to this latest mxODBC Connect release. When upgrading, please always upgrade both the server and the client installations to the same version - even for patch level releases. Customers who have purchased mxODBC Connect 1.0 licenses can download and upgrade their existing installations without having to purchase new licenses or upgrades. The licenses will continue to work with version 1.0.2. Users of our stand-alone mxODBC product will have to purchase new licenses from our online shop in order to use mxODBC Connect. You can request 30-day evaluation licenses by visiting our web-site or writing to sales at egenix.com, stating your name (or the name of the company) and the number of eval licenses that you need. http://www.egenix.com/products/python/mxODBCConnect/#Evaluation ________________________________________________________________________ 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/ If you want to try the package, jump straight to the download instructions: https://cms.egenix.com/products/python/mxODBCConnect/#Download Fully functional evaluation licenses for the mxODBC Connect Server are available free of charge: http://www.egenix.com/products/python/mxODBCConnect/#Evaluation mxODBC Connect Client is always free of charge. _______________________________________________________________________ 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. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Jun 29 2009) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ ::: Try our new mxODBC.Connect Python Database Interface 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 http://www.egenix.com/company/contact/ From python-url at phaseit.net Mon Jun 29 16:16:24 2009 From: python-url at phaseit.net (Gabriel Genellina) Date: Mon, 29 Jun 2009 14:16:24 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 29) Message-ID: QOTW: "Fortunately, I have assiduously avoided the real wor[l]d, and am happy to embrace the world from our 'bot overlords. Congratulations on another release from the hydra-like world of multi-head development." - Scott David Daniels, on release of 3.1 http://groups.google.com/group/comp.lang.python/msg/620d014fb549dbe6 A success story (involving a game server): http://groups.google.com/group/comp.lang.python/browse_thread/thread/11abba7af6e266b0/ Floats and Decimal objects demythified: http://groups.google.com/group/comp.lang.python/browse_thread/thread/77a9ecc671602e79/ Converting Python code to C/C++: how to do it, alternatives, and when it would be advisable: http://groups.google.com/group/comp.lang.python/browse_thread/thread/7152ab4f1c7dbced/ A generator expression declared at class scope: the namespace resolution rules aren't so intuitive: http://groups.google.com/group/comp.lang.python/browse_thread/thread/e1ab6188673fc623/ A look at 2.1 sample code shows how much (or how little) the language evolved over time: http://groups.google.com/group/comp.lang.python/browse_thread/thread/3e2139c2191bb191/ No "tree" data structure is available in the standard library - should one exist? http://groups.google.com/group/comp.lang.python/browse_thread/thread/c632217cfc7c7dcc/ Correctly implementing rich comparisons so 'set' membership works as expected: http://groups.google.com/group/comp.lang.python/browse_thread/thread/c0b1c58585c110eb/ Python threading and the GIL (again): http://groups.google.com/group/comp.lang.python/browse_thread/thread/9e22ab012388b538/ In ElementTree, XML() and fromstring() aren't the same thing: http://groups.google.com/group/comp.lang.python/browse_thread/thread/397f410b060afca2/ Open source Python projects that need help: http://groups.google.com/group/comp.lang.python/browse_thread/thread/667b9922a60ea836/ Meta issue: some posts appear to be missing, depending on where you read this (the mailing list, the newsgroup, the gmane gateway...) http://groups.google.com/group/comp.lang.python/browse_thread/thread/6cc24ff07dfd3afd/e7ad466392094c8c?#e7ad466392094c8c http://groups.google.com/group/comp.lang.python/browse_thread/thread/f67e695fa6364ec9/9174d8c5b4f07f74?#9174d8c5b4f07f74 [OT] Measuring Fractal Dimension (mad mathematicians only): http://groups.google.com/group/comp.lang.python/browse_thread/thread/a258b6c9005146c5/ ======================================================================== 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 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 enthusiasts": 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/group/comp.lang.python.announce/topics 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/ 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/donations/ The Summary of Python Tracker Issues is an automatically generated report summarizing new bugs, closed ones, and patch submissions. http://search.gmane.org/?author=status%40bugs.python.org&group=gmane.comp.python.devel&sort=date 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://code.activestate.com/recipes/langs/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, see: http://www.python.org/channews.rdf 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/ 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 Enjoy the *Python Magazine*. http://pymag.phparch.com/ *Py: the Journal of the Python Language* http://www.pyzine.com Dr.Dobb's Portal is another source of Python news and articles: http://www.ddj.com/TechSearch/searchResults.jhtml?queryText=python and Python articles regularly appear at IBM DeveloperWorks: http://www.ibm.com/developerworks/search/searchResults.jsp?searchSite=dW&searchScope=dW&encodedQuery=python&rankprofile=8 Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://search.gmane.org/?query=python+URL+weekly+news+links&group=gmane.comp.python.general&sort=date http://groups.google.com/groups/search?q=Python-URL!+group%3Acomp.lang.python&start=0&scoring=d& http://lwn.net/Search/DoSearch?words=python-url&ctype3=yes&cat_25=yes 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 gslindstrom at gmail.com Mon Jun 29 17:36:10 2009 From: gslindstrom at gmail.com (Greg Lindstrom) Date: Mon, 29 Jun 2009 10:36:10 -0500 Subject: pyArkansas 2009 Message-ID: pyArkansas 2009 is set for Saturday, November 14 and is once again being hosted by our friends in the Computer Science Department at the University of Central Arkansas. This year we are planning classes GIS, Image Processing using Jython, Introduction to Python and Django. More details will be announced as we continue, but I wanted to get the date announced to the community. From opossumnano at gmail.com Tue Jun 30 15:26:31 2009 From: opossumnano at gmail.com (Tiziano Zito) Date: Tue, 30 Jun 2009 15:26:31 +0200 Subject: Modular toolkit for Data Processing 2.5 released! Message-ID: <20090630132631.GE1988@notami.bccn-berlin> We are glad to announce release 2.5 of the Modular toolkit for Data Processing (MDP). MDP is a Python library of widely used data processing algorithms that can be combined according to a pipeline analogy to build more complex data processing software. The base of available algorithms includes, to name but the most common, Principal Component Analysis (PCA and NIPALS), several Independent Component Analysis algorithms (CuBICA, FastICA, TDSEP, JADE, and XSFA), Slow Feature Analysis, Restricted Boltzmann Machine, and Locally Linear Embedding. What's new in version 2.5? -------------------------------------- - New nodes for XSFA, Linear Regression, Histogram, Cutoffs - The parallel package has grown more features - Tons of bug fixes Resources --------- Download: http://sourceforge.net/project/showfiles.php?group_id=116959 Homepage: http://mdp-toolkit.sourceforge.net Mailing list: http://sourceforge.net/mail/?group_id=116959 -- Pietro Berkes Volen Center for Complex Systems Brandeis University Waltham, MA, USA Niko Wilbert Institute for Theoretical Biology Humboldt-University Berlin, Germany Tiziano Zito Bernstein Center for Computational Neuroscience Humboldt-University Berlin, Germany From SridharR at activestate.com Tue Jun 30 21:20:46 2009 From: SridharR at activestate.com (Sridhar Ratnakumar) Date: Tue, 30 Jun 2009 12:20:46 -0700 Subject: ANN: ActivePython 3.1.0.1 is now available Message-ID: I'm happy to announce that ActivePython 3.1.0.1 is now available for download from: http://www.activestate.com/activepython/python3/ This is a major release that updates ActivePython3 to core Python 3.1. What is ActivePython? --------------------- ActivePython is ActiveState's binary distribution of Python. Builds for Windows, Mac OS X, Linux, HP-UX and AIX are made freely available. ActivePython includes the Python core and the many core extensions: zlib and bzip2 for data compression, the Berkeley DB (bsddb) and SQLite (sqlite3) database libraries, OpenSSL bindings for HTTPS support, the Tix GUI widgets for Tkinter, ElementTree for XML processing, ctypes (on supported platforms) for low-level library access, and others. The Windows distribution ships with PyWin32 -- a suite of Windows tools developed by Mark Hammond, including bindings to the Win32 API and Windows COM. See this page for full details: http://docs.activestate.com/activepython/3.1/whatsincluded.html As well, ActivePython ships with a wealth of documentation for both new and experienced Python programmers. In addition to the core Python docs, ActivePython includes the "What's New in Python" series, "Dive into Python", the Python FAQs & HOWTOs, and the Python Enhancement Proposals (PEPs). An online version of the docs can be found here: http://docs.activestate.com/activepython/3.1/ We would welcome any and all feedback to: ActivePython-feedback at activestate.com Please file bugs against ActivePython at: http://bugs.activestate.com/query.cgi?set_product=ActivePython On what platforms does ActivePython run? ---------------------------------------- ActivePython includes installers for the following platforms: - Windows/x86 - Windows/x64 (aka "AMD64") - Mac OS X - Linux/x86 - Linux/x86_64 (aka "AMD64") Extra Bits ---------- ActivePython releases also include the following: - ActivePython31.chm: An MS compiled help collection of the full ActivePython documentation set. Linux users of applications such as xCHM might find this useful. This package is installed by default on Windows. Extra bits are available from: http://downloads.activestate.com/ActivePython/etc/ Thanks, and enjoy! The Python Team -- Sridhar Ratnakumar sridharr at activestate.com