From robin at alldunn.com Sun Jan 1 03:15:44 2012 From: robin at alldunn.com (Robin Dunn) Date: Sat, 31 Dec 2011 18:15:44 -0800 Subject: ANNOUNCE: wxPython (classic) 2.9.3.1 Message-ID: <4EFFC1D0.3040608@alldunn.com> Announcing ---------- wxPython 2.9.3.1 (classic) has been released and is now available for download at http://wxpython.org/download.php. This build fixes some problems with the installers and documentation for 2.9.3.0 and a few other bugs that were discovered in that release. More details are below. Various binaries are available for 32-bit and 64-bit Windows, and also for OSX using the Carbon and Cocoa APIs, for Python 2.6 and 2.7. Source code is also available at http://wxpython.org/download.php of course, for building your own. What is wxPython? ----------------- wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a set of Python extension modules that wrap the GUI components of the popular wxWidgets cross platform library, which is written in C++. wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit and 64-bit Microsoft Windows, most Linux or other Unix-like systems using GTK2, and Mac OS X 10.4+. In most cases the native widgets are used on each platform to provide a 100% native look and feel for the application. Changes in 2.9.3.1 ------------------- Corrected some problems in the installer scripts that were not including some new files. Re-enabled the wrappers for the wx.GenericDatePickerCtrl class. Applied some patches from Werner Bruhin for the sized controls classes and demo, and which also adds the SizedScrolledPanel class. Fixed several other minor bugs discovered in the last release. -- Robin Dunn Software Craftsman http://wxPython.org From aahz at pythoncraft.com Mon Jan 2 15:59:22 2012 From: aahz at pythoncraft.com (Aahz) Date: Mon, 2 Jan 2012 09:59:22 -0500 (EST) Subject: REMINDER: OSCON Call for Proposals (deadline 1/12) Message-ID: <20120102145922.8A8D5285AD@mailbackend.panix.com> DEADLINE Thursday January 12 Ring in the Gnu year with a proposal for OSCON! OSCON (O'Reilly Open Source Convention), the premier Open Source gathering, will be held in Portland, OR July 16-20. We're looking for people to deliver tutorials and shorter presentations. http://www.oscon.com/oscon2012 http://www.oscon.com/oscon2012/public/cfp/197 Hope to see you there! -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ "Do not taunt happy fun for loops. Do not change lists you are looping over." --Remco Gerlich From linjiao at caltech.edu Tue Jan 3 17:25:55 2012 From: linjiao at caltech.edu (Jiao Lin) Date: Tue, 3 Jan 2012 08:25:55 -0800 Subject: luban 1.0.0 Message-ID: <4134CFB6-5DB5-45F0-B2CC-642F32C53717@caltech.edu> Luban (http://lubanui.org) is a compact, generic UI "language". It is a python package for building (web) user interface. It is NOT yet-another web framework. Features: * Dynamic, ajax-based web user interface can be created using pure python (no knowledge of javascript/ajax/etc is required) * A compact set of simple concepts and rules * Simple, natural syntax for describing UI * A set of basic and advanced widgets --- see demo and API of widgets at http://lubanui.org/aokuang * Write "bindings" of your favorite js widgets to use them in python. Python versions: * Luban 1.0.0 mainly supports python 3.1+ * Experimental support for python 2 exists. Tested and working under python 2.7 Installation: $ pip install luban Bug reports and any comments are appreciated! -- Jiao Lin linjiao at caltech.edu From reingart at gmail.com Wed Jan 4 06:49:54 2012 From: reingart at gmail.com (Mariano Reingart) Date: Wed, 4 Jan 2012 02:49:54 -0300 Subject: pg8000 1.09 maintenance version (fork) released Message-ID: pg8000 is a DB-API 2.0 compatible Pure-Python interface to the PostgreSQL database engine. It is one of many PostgreSQL interfaces for the Python programming language. pg8000 is somewhat distinctive in that it is written entirely in Python and does not rely on any external libraries (such as a compiled python module, or PostgreSQL?s libpq library). This pure-python connector approach allows to run it where C compiled libraries cannot be installed, it allows deeper access to PostgreSQL protocol internals and it enables easier flexibility and extensibility for Python developers (like support for parameterized prepared statements using qmark, numeric, named, format or pyformat DBAPI paramstyle). The highlights of this 1.09 maintenance release are: two-phase commit support, autocommit feature, server_version property and bug fixes for almost all reported issues since 1.08 (2010-06-08) For details of the changes in this release, please see the notes at: http://html.pg8000.googlecode.com/hg/changelog.html pg8000 maintenance version may be downloaded from: http://code.google.com/p/pg8000/downloads/list For more information see: http://code.google.com/p/pg8000/ For the original version see: https://github.com/mfenniak/pg8000 Acknowledgements to Mathieu Fenniak for the original version and thanks to the contributors that reported and/or sent patches applied for this release. Best regards, Mariano Reingart http://www.sistemasagiles.com.ar http://reingart.blogspot.com From ralf at systemexit.de Fri Jan 6 14:59:14 2012 From: ralf at systemexit.de (Ralf Schmitt) Date: Fri, 06 Jan 2012 14:59:14 +0100 Subject: [ANNOUNCE] greenlet 0.3.3 Message-ID: <874nw9gcel.fsf@winserver.brainbot.com> Hi, I have uploaded greenlet 0.3.3 to PyPI: http://pypi.python.org/pypi/greenlet What is it? ----------- The greenlet module provides coroutines for python. coroutines allow suspending and resuming execution at certain locations. concurrence[1], eventlet[2] and gevent[3] use the greenlet module in order to implement concurrent network applications. Documentation can be found here: http://greenlet.readthedocs.org The code is hosted on github: https://github.com/python-greenlet/greenlet Changes in version 0.3.3 ------------------------ The NEWS file lists these changes for release 0.3.3: * Use sphinx to build documentation and publish it on greenlet.rtfd.org * Prevent segfaults on openbsd 4/i386 * Workaround gcc-4.0 not allowing to clobber rbx * Enhance test infrastructure * Fix possible compilation problems when including greenlet.h in C++ mode * Make the greenlet module work on x64 windows * Add a test for greenlet C++ exceptions * Fix compilation on Solaris with SunStudio [1] http://opensource.hyves.org/concurrence/ [2] http://eventlet.net/ [3] http://www.gevent.org/ -- Cheers Ralf Schmitt From mmueller at python-academy.de Fri Jan 6 15:32:13 2012 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Fri, 06 Jan 2012 15:32:13 +0100 Subject: Python Courses by Python Academy till April 2012 Message-ID: <4F0705ED.8060204@python-academy.de> 10 Python Courses till April ============================ There are ten Python courses within the first four months of this year. Lets have a look at the variety we offer: Python for Non-Programmers -------------------------- Never programmed before? Than this is your chance to get started with Python. A gentle introduction to programming. Date: 16.01.-18.01.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: English Link: http://www.python-academy.com/course/python_course_nonprogrammers.html Python for Scientists and Engineers ----------------------------------- A three-day course covering all the basic tools scientists and engineers need. This course requires basic Python knowledge. Date: 19.01.-21.01.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: English Link: http://www.python-academy.com/courses/python_course_scientists.html Python for Programmers ---------------------- You know another programming language and would like to learn Python? This course teaches you all the basics to write useful Python programs. It is hands-on with plenty of exercises and also provides sound knowledge how Python does things. Date: 06.02.-08.02.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: English Link: http://www.python-academy.com/courses/python_course_programmers.html SQLAlchemy Course ----------------- One-day in-depth SQLAlchemy training with guest trainer Erik Janssens. Date: 09.02.2012 Location: Leipzig, Germany Trainer: Erik Janssens Course Language: English Link: http://www.python-academy.com/courses/specialtopics/python_course_sqlalchemy.html Camelot Course -------------- Camelot (http://www.python-camelot.com/) is an open source RAD framework for rich desktop applications. Basic ingredients are Python, SQLAlchemy and Qt. This course is best combined with the SQLAlchemy course just the day before (see above). The course is presented by guest trainer and Camelot expert Erik Janssens. Date: 10.02.2012 Location: Leipzig, Germany Trainer: Erik Janssens Course Language: English Link: http://www.python-academy.com/courses/specialtopics/python_course_camelot.html Python for Scientists and Engineers (USA) ----------------------------------------- This is an extend version of our well-received course for scientists and engineers. Five days of intensive training will give you a solid basis for using Python for scientific an technical problems. The course is hosted by David Beazley (http://www.dabeaz.com). Date: 27.02.-02.03.2012 Location: Chicago, IL, USA Trainer: Mike M?ller Course Language: English Link: http://www.dabeaz.com/chicago/science.html Python f?r Programmierer ------------------------ The German version of our Python introduction for people who know programming. Learn how to write pythonic programs from day one. Date: 16.04.-18.04.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: German Link: http://www.python-academy.de/Kurse/python_kurs_programmierer.html Python f?r Wissenschaftler und Ingenieure ----------------------------------------- German engineers do use Python to construct cars, for example. In this course they can learn how to leverage import Python libraries for this. Date: 19.04.-21.04.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: German Link: http://www.python-academy.de/Kurse/python_kurs_wissenschaftler.html Einstieg in Django ------------------ Learn Django, the famous Python web framework. This course starts at the beginning; no prior Django knowlegde required. Date: 23.04.-25.04.2012 Location: Leipzig, Germany Trainer: Markus Zapke-Gr?ndemann Course Language: German Link: http://www.python-academy.de/Kurse/django_kurs_einstieg.html Django f?r Fortgeschrittene --------------------------- You would like to get deeper into Django? This course provides advanced concepts. Ask the Django expert your specific questions. Date: 26.04.-27.04.2012 Location: Leipzig, Germany Trainer: Markus Zapke-Gr?ndemann Course Language: German Link: http://www.python-academy.de/Kurse/django_kurs_fortgeschrittene.html Questions? ---------- If you have any questions about the courses, please feel free to ask me. Cheers, Mike From tundra at tundraware.com Fri Jan 6 16:17:22 2012 From: tundra at tundraware.com (Tim Daneliuk) Date: Fri, 06 Jan 2012 09:17:22 -0600 Subject: [ANN]: 'tsshbatch', Batch ssh Tool, Version 1.134 Released Message-ID: <2tfjt8-rnc.ln1@ozzie.tundraware.com> 'tsshbatch' Version 1.134 is now released and available for download at: http://www.tundraware.com/Software/tsshbatch This is the first public release. --------------------------------------------------------------------- What Is 'tsshbatch'? ------------------ 'tsshbatch' is a tool to enable you to issue a command to many servers without having to log into each one separately. When writing scripts, this overcomes the 'ssh' limitation of not being able to specify the password on the command line. 'tsshbatch' also understands basic 'sudo' syntax and can be used to access a server, 'sudo' a command, and then exit. 'tsshbatch' thus allows you to write complex, hands-off scripts that issue commands to many servers without the tedium of manual login and 'sudo' promotion. System administrators, especially, will find this helpful when working in large server farms. 'tsshbatch' is written in Python and requires the 'paramiko library. It has been tested on various Linux and FreeBSD variants as well as cygwin on MS-Windows. --------------------------------------------------------------------- Complete details of all fixes, changes, and new features can be found in the WHATSNEW.txt and documentation files included in the distribution. A FreeBSD port has been submitted as well. From mwojc at p.lodz.pl Sat Jan 7 01:19:46 2012 From: mwojc at p.lodz.pl (Marek Wojciechowski) Date: Sat, 07 Jan 2012 01:19:46 +0100 Subject: ffnet-0.7.1 released Message-ID: <6088887.It3PMIJg09@think> ffnet-0.7.1 has been released. ffnet is a fast and easy-to-use feed-forward neural network training solution for python This release contains mainly documentation improvements and changes in examples. Look at the new sphinx-based website: http://ffnet.sourceforge.net for installation instructions and documentation. Regards, -- Marek Wojciechowski From doug.hellmann at gmail.com Sat Jan 7 17:25:57 2012 From: doug.hellmann at gmail.com (Doug Hellmann) Date: Sat, 7 Jan 2012 11:25:57 -0500 Subject: sphinxcontrib-sqltable 1.0 Message-ID: <8F75CF0C-FD22-4928-9BE9-37FF0376E762@gmail.com> What's New in 1.0 ================== This is the first public release of sphinxcontrib-sqltable. What is sphinxcontrib-sqltable? =============================== sphinxcontrib-sqltable is a Sphinx extension that allows authors to embed SQL statements in source documents and produce tabular output in rendered documents. For more details, see http://www.doughellmann.com/projects/sphinxcontrib-sqltable/ From reingart at gmail.com Sun Jan 8 04:07:09 2012 From: reingart at gmail.com (Mariano Reingart) Date: Sun, 8 Jan 2012 00:07:09 -0300 Subject: PySimpleSOAP 1.05a released Message-ID: Python Simple SOAP library for client and server webservices interfaces, aimed to be as small and easy as possible, supporting most common functionality. Version 1.05a changelog: * support for SOAP Headers and WS-Security (WSSE) * several WSDL fixes and enhancements (anyType, multiRef, etc.) * SimpleXmlElement object-like xml manipulation new features * improved project structure: test suite, separated http transports * many bugfixes Thanks to the contributors that send their patches along the last year. More information and downloads at: http://code.google.com/p/pysimplesoap/ Best regards, Mariano Reingart http://www.sistemasagiles.com.ar http://reingart.blogspot.com From mmueller at python-academy.de Mon Jan 9 00:47:25 2012 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Mon, 09 Jan 2012 00:47:25 +0100 Subject: [ANN] Leipzig Python User Group - Meeting, January 10, 2012, 08:00pm Message-ID: <4F0A2B0D.6070409@python-academy.de> === Leipzig Python User Group === We will meet on Tuesday, January 10 at 8:00 pm at the training center of Python Academy in Leipzig, Germany ( http://www.python-academy.com/center/find.html ). 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 will be mainly German, we will provide English translation if needed. Food and soft drinks are provided. Please send a short confirmation mail to info at python-academy.de, so we can prepare appropriately. Current information about the meetings are at http://www.python-academy.com/user-group . Mike == Leipzig Python User Group === Wir treffen uns am Dienstag, 10.01.2012 um 20:00 Uhr im Schulungszentrum der Python Academy in Leipzig ( http://www.python-academy.de/Schulungszentrum/anfahrt.html ). Willkommen ist jeder, der Interesse an Python hat, die Sprache bereits nutzt oder nutzen m?chte. F?r das leibliche Wohl wird gesorgt. Eine Anmeldung unter info at python-academy.de w?re nett, damit wir genug Essen besorgen k?nnen. Aktuelle Informationen zu den Treffen sind unter http://www.python-academy.de/User-Group zu finden. Viele Gr??e Mike From aahz at pythoncraft.com Mon Jan 9 16:19:09 2012 From: aahz at pythoncraft.com (Aahz) Date: Mon, 9 Jan 2012 10:19:09 -0500 (EST) Subject: FINAL REMINDER: OSCON Call for Proposals (deadline 1/12) Message-ID: <20120109151909.BA0C02841F@mailbackend.panix.com> DEADLINE Thursday January 12 OSCON (O'Reilly Open Source Convention), the premier Open Source gathering, will be held in Portland, OR July 16-20. We're looking for people to deliver tutorials and shorter presentations. http://www.oscon.com/oscon2012 http://www.oscon.com/oscon2012/public/cfp/197 Hope to see you there! -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ "Do not taunt happy fun for loops. Do not change lists you are looping over." --Remco Gerlich From albrecht.andi at googlemail.com Mon Jan 9 21:05:14 2012 From: albrecht.andi at googlemail.com (Andi Albrecht) Date: Mon, 9 Jan 2012 21:05:14 +0100 Subject: pyCologne Python User Group Cologne - Meeting, January 11, 6.30pm Message-ID: We will meet Wednesday, January, 11th starting about 6.30 pm - 6.45 pm at Room 0.14, Benutzerrechenzentrum (RRZK-B) University of Cologne, Berrenrather Str. 136, 50937 K?ln, Germany Any presentations, news, book presentations etc. are welcome on each of our meetings! At about 8.30 pm we will as usual enjoy the rest of the evening in a nearby restaurant. Further information including directions how to get to the location can be found at: http://www.pycologne.de (Sorry, the web-links are in German only.) Regards, Andi From dmalcolm at redhat.com Tue Jan 10 20:58:39 2012 From: dmalcolm at redhat.com (David Malcolm) Date: Tue, 10 Jan 2012 14:58:39 -0500 Subject: ANN: gcc-python-plugin 0.8 Message-ID: <1326225520.2123.79.camel@surprise> gcc-python-plugin is a plugin for GCC 4.6 onwards which embeds the CPython interpreter within GCC, allowing you to write new compiler warnings in Python, generate code visualizations, etc. It ships with "gcc-with-cpychecker", which implements static analysis passes for GCC aimed at finding bugs in CPython extensions. In particular, it can automatically detect reference-counting errors: http://gcc-python-plugin.readthedocs.org/en/latest/cpychecker.html Detailed release notes can be seen at: http://gcc-python-plugin.readthedocs.org/en/latest/0.8.html Some highlights of the 0.8 release: * it's much easier than before to emit compilation warnings * initial support for analyzing C++ code from a Python script * gcc-with-cpychecker has gained additional tests. It now has knowledge of which CPython API calls will crash when passed NULL, and will warn you (with details) about code paths that can trigger such a call. It can also now detect certain subtle errors in PyMethodDef tables. * numerous bug fixes and other improvements Tarball releases are available at: https://fedorahosted.org/releases/g/c/gcc-python-plugin/ Prebuilt-documentation can be seen at: http://gcc-python-plugin.readthedocs.org/en/latest/index.html The project's homepage is: https://fedorahosted.org/gcc-python-plugin/ The plugin and checker are Free Software, licensed under the GPLv3 or later. Thanks to Red Hat for funding their development, and to David Narvaez and Tom Tromey for their contributions to this release. Enjoy! Dave Malcolm From info at egenix.com Wed Jan 11 10:41:54 2012 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Wed, 11 Jan 2012 10:41:54 +0100 Subject: ANN: eGenix mx Base Distribution 3.2.2 (mxDateTime, mxTextTools, etc.) Message-ID: <4F0D5962.8010307@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mx Base Distribution Version 3.2.2 for Python 2.4 - 2.7 Open Source Python extensions providing important and useful services for Python programmers. This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.2-GA.html ________________________________________________________________________ ABOUT The eGenix.com mx Base Distribution for Python is a collection of professional quality software tools which enhance Python's usability in many important areas such as fast text searching, date/time processing and high speed data types. The tools have a proven record of being portable across many Unix and Windows platforms. You can write applications which use the tools on Windows and then run them on Unix platforms without change due to the consistent platform independent interfaces. Contents of the distribution: * mxDateTime - Easy to use Date/Time Library for Python * mxTextTools - Fast Text Parsing and Processing Tools for Python * mxProxy - Object Access Control for Python * mxBeeBase - On-disk B+Tree Based Database Kit for Python * mxURL - Flexible URL Data-Type for Python * mxUID - Fast Universal Identifiers for Python * mxStack - Fast and Memory-Efficient Stack Type for Python * mxQueue - Fast and Memory-Efficient Queue Type for Python * mxTools - Fast Everyday Helpers for Python The package also include a number of helpful smaller modules in the mx.Misc subpackage, such as mx.Misc.ConfigFile for config file parsing or mx.Misc.CommandLine to quickly write command line applications in Python. All available packages have proven their stability and usefulness in many mission critical applications and various commercial settings all around the world. For more information, please see the distribution page: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ NEWS The 3.2.2 release of the eGenix mx Base Distribution is the latest release of our open-source Python extensions. The new patch-level version includes a few important fixes: * mxDateTime seconds rounding is now more careful to not show 60.00 or 61.00 as second value. * mxDateTime will now correctly work with numeric arrays (numpy) again. Thanks to Christian Marquardt for reporting the problem. * mxDateTime's DateTimeFromAbsDateTime() now accepts leap second values (86400.0 - <86401.0) as well. Thanks to Christian Marquardt for reporting the problem. * Enhanced mx.Misc.ConfigFile. Please see the changelog for details (URL listed below). If you are upgrading from eGenix mx Base 3.1.x, please also see the eGenix mx Base Distribution 3.2.0 release notes for details on what has changed and which new features are available: http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.html As always, we are providing pre-built binaries for all common platforms: Windows 32/64-bit, Linux 32/64-bit, FreeBSD 32/64-bit, Mac OS X 32/64-bit. Source code archives are available for installation on all other Python platforms, such as Solaris, AIX, HP-UX, etc. To simplify installation in Zope/Plone and other egg-based systems, we have also precompiled egg distributions for all platforms. These are available on our own PyPI-style index server for easy and automatic download. Whether you are using a pre-built package or the source distribution, installation is a simple "python setup.py install" command in all cases. The only difference is that the pre-built packages do not require a compiler or the Python development packages to be installed. For a full list of changes, please refer to the eGenix mx Base Distribution change log at http://www.egenix.com/products/python/mxBase/changelog.html and the change logs of the various included Python packages. ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the packages can be found on the eGenix mx Base Distribution page: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ LICENSE The eGenix mx Base package is distributed under the eGenix.com Public License 1.1.0 which is an Open Source license similar to the Python license. You can use the packages in both commercial and non-commercial settings without fee or charge. The package comes with full source code ________________________________________________________________________ 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, Jan 11 2012) >>> 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 krister.hedfors at gmail.com Wed Jan 11 23:22:54 2012 From: krister.hedfors at gmail.com (Krister Hedfors) Date: Wed, 11 Jan 2012 14:22:54 -0800 (PST) Subject: pytickets 0.9.0 - light-weight cryptographically signed data containers Message-ID: <27468313-f1da-4ce0-8084-a5e4141ef5be@k8g2000yqk.googlegroups.com> pytickets are light-weight symmetrically signed data containers with optional encryption, serialization and compression of their contents. A sample anti-XSRF-library (tickets.web.forms.FormTokenService) based on pytickets is included. It's stateless (as tickets are stand-alone signed containers) and provides more security options than most anti- XSRF-libraries in use today, for instance only allowing pre-declared parameter names to be submitted. http://pypi.python.org/pypi/pytickets/0.9.0 Documentation: http://pytickets.tripleaes.com/ From jendrikseipp at web.de Thu Jan 12 14:11:47 2012 From: jendrikseipp at web.de (Jendrik Seipp) Date: Thu, 12 Jan 2012 14:11:47 +0100 Subject: Pogo 0.5 Message-ID: <4F0EDC13.8060605@web.de> I am proud to announce the release of Pogo, probably the simplest and fastest audio player for Linux. The tarball and an Ubuntu PPA are available at http://launchpad.net/pogo What is Pogo? -------------------- Pogo plays your music. Nothing else. It tries to be fast and easy-to-use. Pogo's elementary-inspired design uses the screen-space very efficiently. It is especially well-suited for people who organize their music by albums on the harddrive. The main interface components are a directory tree and a playlist that groups albums in an innovative way. Pogo is a fork of Decibel Audio Player. Supported file formats include Ogg Vorbis, MP3, FLAC, Musepack, Wavpack, and MPEG-4 AAC. Pogo is written in Python and uses GTK+ and gstreamer. What's new in 0.5 "Rolling in the deep" (2012-01-12) ======================================= * Export tracks in playlist into a directory (with subdirectories) * Save playlist periodically to prevent losing it during a shutdown (LP:669132) * Usability: Select new track when old selected is deleted * Fix: Playback after pause should show the play icon, not the pause icon * Fix: Never interrupt playing song when appending new ones (lp:735619) * Cache music folders repeatedly to speedup searches * Let user remove music folders that were deleted from the hard disk * Do not add music folders that have been deleted * Apply fix from decibel: Skipping track just before the end skips the following track * Apply fix from decibel: Sort files case-independently * Apply fix from decibel: Raise the window of the already running instance if there is one * Apply fix from decibel: Create symbolic links to covers so that external apps can access them * Log all messages to log file * Updated translations Cheers, Jendrik From menno at freshfoo.com Thu Jan 12 15:54:45 2012 From: menno at freshfoo.com (Menno Smits) Date: Thu, 12 Jan 2012 14:54:45 +0000 Subject: IMAPClient 0.8.1 Message-ID: <4F0EF435.8020306@freshfoo.com> Version 0.8.1 of IMAPClient is out. IMAPClient is an easy-to-use, Pythonic and complete IMAP client library that takes the pain out of doing IMAP with Python. Highlights for version 0.8.1: * IMAPClient wasn't installing on Windows due to an extra trailing slash in MANIFEST.in * MANIFEST.in was fixed so that the main documentation index file is included the source distribution. * distribute_setup.py was updated to the 0.6.24 version. * Various documentation enhancements IMAPClient currently works with Python 2.4 through 2.7. Version 0.8.1 can be installed from PyPI (pip install imapclient) or downloaded from http://freshfoo.com/projects/IMAPClient/IMAPClient-0.8.1.zip For further information see: Project website: http://imapclient.freshfoo.com/ Documentation: http://imapclient.readthedocs.org/ NEWS: http://imapclient.freshfoo.com/browser/NEWS README: http://imapclient.freshfoo.com/browser/README -Menno From info at wingware.com Thu Jan 12 21:01:43 2012 From: info at wingware.com (Wingware) Date: Thu, 12 Jan 2012 15:01:43 -0500 Subject: Wing IDE 4.1.3 released Message-ID: <4F0F3C27.8070808@wingware.com> Hi, Wingware has released version 4.1.3 of Wing IDE, an integrated development environment designed specifically for the Python programming language. Wing IDE is a cross-platform Python IDE that provides a professional code editor with vi, emacs, and other key bindings, auto-completion, call tips, refactoring, context-aware auto-editing, a powerful graphical debugger, version control, unit testing, search, and many other features. **Changes in Version 4.1.3** Highlights of this release include: * Added move-line-up and move-line-down line editing commands * Added Open From Project option to search only on the file name * Added goto-overridden-method command * Added copy-reference command to copy filename, line number(s), scope, and optionally the current or selected lines to the clipboard * Added experimental Eclipse style key binding * Several auto-editing improvements * 12 vi mode fixes * Avoid grouping snippets and arg entry into a single undo action * Speed up auto-completion and auto-editing * About 25 other bug fixes and minor improvements Complete change log: http://wingware.com/pub/wingide/4.1.3/CHANGELOG.txt **New Features in Version 4** Version 4 adds the following new major features: * Refactoring -- Rename/move symbols, extract to function/method, and introduce variable * Find Uses -- Find all points of use of a symbol * Auto-Editing -- Reduce typing burden by auto-entering expected code * Diff/Merge -- Graphical file and repository comparison and merge * Django Support -- Debug Django templates, run Django unit tests, and more * matplotlib Support -- Maintains live-updating plots in shell and debugger * Simplified Licensing -- Includes all OSes and adds Support+Upgrades subscriptions Details on licensing changes: http://wingware.com/news/2011-02-16 **About Wing IDE** Wing IDE is an integrated development environment designed specifically for the Python programming language. It provides powerful editing, testing, and debugging features that help reduce development and debugging time, cut down on coding errors, and make it easier to understand and navigate Python code. Wing IDE can be used to develop Python code for web, GUI, and embedded scripting applications. Wing IDE is available in three product levels: Wing IDE Professional is the full-featured Python IDE, Wing IDE Personal offers a reduced feature set at a low price, and Wing IDE 101 is a free simplified version designed for teaching beginning programming courses with Python. Version 4.0 of Wing IDE Professional includes the following major features: * Professional quality code editor with vi, emacs, and other keyboard personalities * Code intelligence for Python: Auto-completion, call tips, find uses, goto-definition, error indicators, refactoring, context-aware auto-editing, smart indent and rewrapping, and source navigation * Advanced multi-threaded debugger with graphical UI, command line interaction, conditional breakpoints, data value tooltips over code, watch tool, and externally launched and remote debugging * Powerful search and replace options including keyboard driven and graphical UIs, multi-file, wild card, and regular expression search and replace * Version control integration for Subversion, CVS, Bazaar, git, Mercurial, and Perforce * Integrated unit testing with unittest, nose, and doctest frameworks * Django support: Debugs Django templates, provides project setup tools, and runs Django unit tests * Many other features including project manager, bookmarks, code snippets, diff/merge tool, OS command integration, indentation manager, PyLint integration, and perspectives * Extremely configurable and may be extended with Python scripts * Extensive product documentation and How-Tos for Django, matplotlib, Plone, wxPython, PyQt, mod_wsgi, Autodesk Maya, and many other frameworks Please refer to http://wingware.com/wingide/features for a detailed listing of features by product level. System requirements are Windows 2000 or later, OS X 10.3.9 or later (requires X11 Server), or a recent Linux system (either 32 or 64 bit). Wing IDE supports Python versions 2.0.x through 3.2.x and Stackless Python. For more information, see the http://wingware.com/ **Downloads** Wing IDE Professional and Wing IDE Personal are commercial software and require a license to run. A free trial can be obtained directly from the product when launched. Wing IDE Pro -- Full-featured product: http://wingware.com/downloads/wingide/4.1 Wing IDE Personal -- A simplified IDE: http://wingware.com/downloads/wingide-personal/4.1 Wing IDE 101 -- For teaching with Python: http://wingware.com/downloads/wingide-101/4.1 **Purchasing and Upgrading** Wing 4.x requires an upgrade for Wing IDE 2.x and 3.x users at a cost of 1/2 the full product pricing. Upgrade a license: https://wingware.com/store/upgrade Purchase a new license: https://wingware.com/store/purchase Optional Support+Upgrades subscriptions are available for expanded support coverage and free upgrades to new major releases: http://wingware.com/support/agreement Thanks! -- The Wingware Team Wingware | Python IDE Advancing Software Development www.wingware.com From g.rodola at gmail.com Thu Jan 12 22:04:41 2012 From: g.rodola at gmail.com (=?ISO-8859-1?Q?Giampaolo_Rodol=E0?=) Date: Thu, 12 Jan 2012 22:04:41 +0100 Subject: ANN: pysendfile 0.2.0 released Message-ID: Hi folks, I'm pleased to announce the 0.2.0 release of pysendfile: http://code.google.com/p/pysendfile === About === This is a python interface to sendfile(2) system call available on most UNIX systems. sendfile(2) provides a "zero-copy" way of copying data from one file descriptor to another (a socket). The phrase "zero-copy" refers to the fact that all of the copying of data between the two descriptors is done entirely by the kernel, with no copying of data into userspace buffers, resuting in file transfers being from 2x to 3x faster. Basically, any application sending files over the network can take advantage of it. HTTP and FTP servers are a typical example. === Supported platforms === * Linux * Mac OSX * FreeBSD * Dragon Fly BSD * Sun OS * AIX (not properly tested) === Supported python versions === >From 2.5 to 3.3. === Links === * Home page: http://code.google.com/p/pysendfile * Source tarball: http://pysendfile.googlecode.com/files/pysendfile-0.2.0.tar.gz --- Giampaolo Rodola' http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ http://code.google.com/p/pysendfile/ From mmueller at python-academy.de Fri Jan 13 12:09:35 2012 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Fri, 13 Jan 2012 12:09:35 +0100 Subject: SQLAlchemy and Camelot Trainings in Germany Message-ID: <4F1010EF.6020406@python-academy.de> Get up to Speed with SQLAlchemy and More ======================================== SQLAlchemy is a great library that combines the power of Python with the well-establish world of relational databases in a powerful manner. If you would like to learn more about SQLAlchemy, you might be interested in our course in Germany. This course is followed by a Camelot course. Camelot uses SQLAlchemy for building rich desktop applications. If you would like to improve your Python knowledge before taking these courses, we recommend our "Python for Programmers" course that you can attend just before the SQLAlchemy course. All three courses can be booked separately or combined. See below for details. Mike SQLAlchemy Course ----------------- One-day in-depth SQLAlchemy training with guest trainer Erik Janssens. Date: 09.02.2012 Location: Leipzig, Germany Trainer: Erik Janssens Course Language: English Link: http://www.python-academy.com/courses/specialtopics/python_course_sqlalchemy.html Camelot Course -------------- Camelot (http://www.python-camelot.com/) is an open source RAD framework for rich desktop applications. Basic ingredients are Python, SQLAlchemy and Qt. This course is best combined with the SQLAlchemy course just the day before (see above). The course is presented by guest trainer and Camelot expert Erik Janssens. Date: 10.02.2012 Location: Leipzig, Germany Trainer: Erik Janssens Course Language: English Link: http://www.python-academy.com/courses/specialtopics/python_course_camelot.html Python for Programmers ---------------------- You know another programming language and would like to learn Python? This course teaches you all the basics to write useful Python programs. It is hands-on with plenty of exercises and also provides sound knowledge how Python does things. Date: 06.02.-08.02.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: English Link: http://www.python-academy.com/courses/python_course_programmers.html From reingart at gmail.com Fri Jan 13 23:40:01 2012 From: reingart at gmail.com (Mariano Reingart) Date: Fri, 13 Jan 2012 19:40:01 -0300 Subject: Qdb: a small & simple remote client/server debugger, released Message-ID: FYI Just released Qdb, a small & simple remote client/server debugger based on Bdb (Pdb style), wich could be used from a remote terminal to any server (and in the near future, with a nice visual IDE): http://code.google.com/p/rad2py/wiki/QdbRemotePythonDebugger It uses multiprocessing.connection to communicate between the backend and frontend, with a simple JSONRPC-like stream protocol. It could use also Queues or Pipes for communication, and includes a basic frontend (Cmd command line based) that can be replaced with a visual interface (currently working on a wxPython one, but it could be adapted to any framework/toolkit) Quick start guide: 1. Download qdb.py (put in your python path / local folder) 2. Add the following line: import qdb; qdb.set_trace() 3. In a terminal, run: python qdb.py Then run the main program, when the qdb.set_trace() line is reached, you'll see the debugger prompt in your terminal. Also, it can invoke a program to be debugged using pdb like syntax: python -m qdb yourscript.py To connect to a remote server, just change addres and password in the source file. ASAP that will be more configurable. This work was started as a research thesis, but I think it can be used for other purposes too. Comments and contributions are welcome ;-) Best regards Mariano Reingart http://www.sistemasagiles.com.ar http://reingart.blogspot.com From linjiao at caltech.edu Sat Jan 14 19:20:31 2012 From: linjiao at caltech.edu (Jiao Lin) Date: Sat, 14 Jan 2012 10:20:31 -0800 Subject: luban 1.0.1 released In-Reply-To: <2158DBE1-D89D-4FFE-BBCC-C20DAF896256@caltech.edu> References: <4134CFB6-5DB5-45F0-B2CC-642F32C53717@caltech.edu> <2158DBE1-D89D-4FFE-BBCC-C20DAF896256@caltech.edu> Message-ID: <48DF53FC-77DD-4A74-8F80-AB71BC3D2858@caltech.edu> Luban 1.0.1 was released. In this release, "Workflow" was introduced to make it easier for users to build their applications using workflows as building blocks. A tutorial of "workflow" is here: http://lubanui.org/current/workflow-tutorial.html. The first three workflows introduced were: registration, login, and feedback; see http://lubanui.org/current/workflow.html. These workflow examples also show how luban could work with models and database. Once luban is installed, you can read its source code to find out how those workflows were implemented to work with database models. They are under luban python sub-packages "luban.workflows.". Or you can find source code of workflows here: http://bazaar.launchpad.net/~jiao-lin/luban/trunk/files/head:/workflows/luban.workflows. Please keep in mind, however, luban is not intended to be a full-featured python web framework. Its main purpose is to help (web) UI developers to specify their UI applications in a generic and concise way. So these workflows are just examples, and are not the main functionality of luban. They can be used as scaffolding tools for your applications, but in no way they should limit you from finding creative ways of using luban with stuff typically found in a python web framework -- database, orm, etc. There are some new developments for the luban API documentation and demo, "aokuang" (http://lubanui.org/aokuang) as well. API/demo for individual widget is now available at http://aokuang.lubanui.org/. For example, http://aokuang.lubanui.org/document. Also, you could get a sneak peak at one new widget for the next release, luban 1.0.2, "sketchcanvas", at http://aokuang.lubanui.org/sketchcanvas. ------- Luban (http://lubanui.org) is a compact, generic UI "language". It is a python package for building (web) user interface. It is NOT yet-another web framework. Features: * Dynamic, ajax-based web user interface can be created using pure python (no knowledge of javascript/ajax/etc is required) * A compact set of simple concepts and rules * Simple, natural syntax for describing UI * A set of basic and advanced widgets --- see demo and API of widgets at http://lubanui.org/aokuang * Write "bindings" of your favorite js widgets to use them in python. Python versions: * Luban 1.0.1 mainly supports python 3.1+ * Experimental support for python 2.6+ exists. Installation: $ pip install luban Bug reports and any comments are appreciated! -- Jiao Lin linjiao at caltech.edu From viktor at ferenczi.eu Mon Jan 16 03:54:14 2012 From: viktor at ferenczi.eu (Ferenczi Viktor) Date: Mon, 16 Jan 2012 03:54:14 +0100 Subject: Genshi Compiler - Speed up your markup templates Message-ID: <1326682454.4020.12.camel@sirius> Genshi Compiler 0.1.2 ===================== Genshi Compiler allows for compiling your Genshi templates to Python source code typically running ~40x faster than rendering the same template using Genshi. Some features of Genshi are not supported. Please see the project Wiki for the details. Project home: http://code.google.com/p/genshi-compiler/ Downloads: http://code.google.com/p/genshi-compiler/downloads/ PyPI entry: http://pypi.python.org/pypi/genshi_compiler Tutorial: http://code.google.com/p/genshi-compiler/wiki/tutorial Easy installation: easy_install genshi_compiler License: MIT software license Quality: Alpha with good unit test coverage. Its API might change. Regards, Viktor Ferenczi software consultant viktor at ferenczi.eu From r.w.lincoln at gmail.com Mon Jan 16 04:49:31 2012 From: r.w.lincoln at gmail.com (Richard Lincoln) Date: Mon, 16 Jan 2012 03:49:31 +0000 Subject: [ANN] Muntjac 1.1 released Message-ID: <4F139E4B.2000903@gmail.com> Hello, I am pleased to announce the release of Muntjac version 1.1. Highlights of this release include: * ColorPicker, CodeMirror and GoogleMaps add-ons * All code being under the Apache Software License, Version 2.0 Regards, Richard From nathan.alexander.rice at gmail.com Mon Jan 16 18:31:06 2012 From: nathan.alexander.rice at gmail.com (Nathan Rice) Date: Mon, 16 Jan 2012 12:31:06 -0500 Subject: Elementwise 0.120116 -//- beta release -//- Lazily compute functions, method calls and operations on all elements of an iterable (or graph). Message-ID: Elementwise provides helpful proxy objects which let you perform a series of computations on every element of an iterable or graph, in a lazy manner. Docs: http://packages.python.org/elementwise/ GitHub: https://github.com/nathan-rice/Elementwise Examples: The standard ElementwiseProxy: >>> nums = ElementwiseProxy([1, 2, 3, 4) >>> print nums.bit_length() 1, 2, 2, 3 >>> nums + 1 2, 3, 4, 5 >>> print nums * 2 2, 4, 6, 8 >>> print nums == 2 False, True, False, False >>> print ((nums + 1) * 2 + 3).apply(float) 7.0, 9.0, 11.0, 13.0 >>> print (nums.apply(float) + 0.0001).apply(round, 2) 1.0, 2.0, 3.0, 4.0 >>> print abs(nums - 3) 2, 1, 0, 1 >>> print (nums * 2 + 3) / 4 >>> print efoo2.undo(3) 1, 2, 3, 4 >>> print ((nums * 2 + 3) / 4).replicate([2, 2, 3, 3]) 1, 1, 2, 2 >>> words = ElementwiseProxy(["one", "two", "three", "four"]) >>> print (words + " little indians").upper().split(" ").apply(reversed).apply("_".join) * 2 'INDIANS_LITTLE_ONEINDIANS_LITTLE_ONE', 'INDIANS_LITTLE_TWOINDIANS_LITTLE_TWO', 'INDIANS_LITTLE_THREEINDIANS_LITTLE_THREE', 'INDIANS_LITTLE_FOURINDIANS_LITTLE_FOUR' The PairwiseProxy: >>> nums = PairwiseProxy([1, 2, 3, 4]) >>> nums + [1, 2, 3, 4] 2, 4, 6, 8 >>> nums * [2, 2, 3, 3] 2, 4, 9, 12 >>> nums == [2, 2, 3, 5] False, True, True, False >>> (nums.apply(float) / itertools.count(2) + itertools.count(1)).apply(round, args=itertools.repeat([2])) 1.5, 2.67, 3.75, 4.8 >>> abs(nums - [3, 2, 1, 1]) 2, 0, 2, 3 >>> (nums * [2, 2, 1, 5] + [3, 5, 9, 0]) / [4, 1, 2, 3] 1, 9, 6, 6 >>> ((nums * itertools.repeat(2) + itertools.repeat(3)) / itertools.repeat(4)).replicate([2, 2, 3, 3]) 1, 0, 0, 0 >>> ((nums * [2, 3, 4, 5]) > [5, 6, 7, 8]) != [True, True, False, True] True, True, True, False The RecursiveElementwiseProxy: >>> treenums = RecursiveElementwiseProxy([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) >>> treenums + 1 ((2, 3, 4), (5, 6, 7), (8, 9, 10)) >>> treenums * 2 ((2, 4, 6), (8, 10, 12), (14, 16, 18)) >>> (treenums * 2 + 1).apply(float) ((3.0, 5.0, 7.0), (9.0, 11.0, 13.0), (15.0, 17.0, 19.0)) Feedback is welcome. From alain.poirier at net-ng.com Tue Jan 17 18:20:48 2012 From: alain.poirier at net-ng.com (Alain Poirier) Date: Tue, 17 Jan 2012 18:20:48 +0100 Subject: Nagare web framework 0.4.0 Message-ID: <06416B98-7773-4A7B-BD5A-AB00CBA0613B@net-ng.com> Hi all, Version 0.4.0 of the Nagare web framework is now released! 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 aware 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. To read more 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 Release info and download page of the pure web IDE: http://www.nagare.org/trac/wiki/NagareIde http://pypi.python.org/pypi/nagare.ide 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 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 Enjoy! A. Poirier From chris at simplistix.co.uk Wed Jan 18 09:48:28 2012 From: chris at simplistix.co.uk (Chris Withers) Date: Wed, 18 Jan 2012 08:48:28 +0000 Subject: MailingLogger 3.7.0 Released! Message-ID: <4F16875C.9080603@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 a configurable headers 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 This release fixes a long standing bug that occurred when logging unicode messages. It also provides support for sending colourised HTML emails: http://packages.python.org/mailinglogger/html.html Full docs can be found here: http://packages.python.org/mailinglogger/ 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 bthate at gmail.com Wed Jan 18 23:34:03 2012 From: bthate at gmail.com (Bart Thate) Date: Wed, 18 Jan 2012 14:34:03 -0800 (PST) Subject: GOZERBOT 1.0 RELEASED Message-ID: <8117487.2569.1326926043181.JavaMail.geo-discussion-forums@yqkc2> I am proud ! Version 1.0 of GOZERBOT is here in the world. 7 years of evolutionary code development. The eagle has landed, the egg is layed See http://gozerbot.org - WELCOME TO GOZERBOT ? GOZERBOT v1.0.1 FINAL documentation WELCOME TO GOZERBOT?. I am pleased to present to you version 1.0 of GOZERBOT, a IRC and Jabber(XMPP) bot. This is the final and last release of GOZERBOT, new development will continue with the JSONBOT... From cdevienne at gmail.com Thu Jan 19 16:39:40 2012 From: cdevienne at gmail.com (Christophe de Vienne) Date: Thu, 19 Jan 2012 16:39:40 +0100 Subject: WSME 0.3b1 Message-ID: <4F18393C.2070902@gmail.com> About WSME ---------- WSME (Web Service Made Easy) is a very easy way to implement webservices in your python web application (or standalone). Main Changes ------------ * Per-call database transaction handling. * Attributes of complex types can now have a different name in the public api and in the implementation. * Complex arguments can now be sent as GET/POST params in the rest protocols. * The restjson protocol do not nest the results in an object anymore. * Improved the documentation More details on http://packages.python.org/WSME/changes.html. Documentation ------------- http://packages.python.org/WSME/ Download -------- http://pypi.python.org/pypi/WSME/ http://pypi.python.org/pypi/WSME-Soap/ http://pypi.python.org/pypi/WSME-ExtDirect/ Cheers, Christophe de Vienne From michael at stroeder.com Thu Jan 19 20:45:09 2012 From: michael at stroeder.com (=?ISO-8859-1?Q?Michael_Str=F6der?=) Date: Thu, 19 Jan 2012 20:45:09 +0100 Subject: ANN: python-ldap 2.4.7 Message-ID: <4F1872C5.2040808@stroeder.com> Find a new release of python-ldap: http://pypi.python.org/pypi/python-ldap/2.4.4 python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema). Project's web site: http://www.python-ldap.org/ Ciao, Michael. ---------------------------------------------------------------- Released 2.4.7 2012-12-19 Changes since 2.4.6: Lib/ * Separate classes for request/response controls for RFC 3829 * Fixed ldap.schema.subentry.SubSchema.attribute_types() to also eliminate double attribute types in MAY clause of DIT content rule Modules/ * Fixed memory leak (thanks to David Malcolm) ---------------------------------------------------------------- Released 2.4.6 2011-11-27 Changes since 2.4.5: Lib/ * ldap.controls.ppolicy: Another fix for decoding the password policy response control From chris at chrisarndt.de Thu Jan 19 21:32:31 2012 From: chris at chrisarndt.de (Christopher Arndt) Date: Thu, 19 Jan 2012 21:32:31 +0100 Subject: ANN: 8. Feb. 2012 Presentation / Question Time re Python Software Verband at pyCologne Message-ID: <4F187DDF.3050900@chrisarndt.de> The following announcement, concerning a presentation and question time about the Python Software Verband Deutschland (http://python-verband.org/), a new German Python association, is in the German Language and directed mostly at the German audience of this list. If you have any questions regarding this event, feel free to write to the author in English or German! Hallo liebe Python-Freunde, ich habe im Namen der pyCologne, der Python User Group K?ln [1], Jan Ulrich Haesecke vorgeschlagen, doch mal den neuen *Python Software Verband* [2] vorzustellen und er hat sich freundlicherweise bereit erkl?rt, bei unserer n?chsten Sitzung am 8. Februar 2012 [3] den Verband kurz vorzustellen und auf eure Fragen Rede und Antwort zu stehen. In seiner Pr?sentation wird Jan Ulrich kurz (15-20 min) die Geschichte und aktuelle Struktur des Verbandes, seine Aktivit?ten und vor allem die Ergebnisse des Organisations-Workshops vom 25. bis 27. Januar [4] vorstellen, zu dem ?brigens jeder Interessierte herzlich eingeladen ist (Um Anmeldung wird gebeten). Danach wird er f?r Eure Fragen zur Verf?gung stehen (ca. 30 min.). Daher hiermit der Aufruf an euch, eure Fragen schon im Voraus auf der pyCologne Mailingliste [5] einzureichen, damit Jan Ulrich wei?, was auf ihn zukommt und er sich entsprechend vorbereiten kann. Dabei k?nnt und sollt ihr alles rund um den Python Software Verband fragen, also zu Zielen, Organisation, "was bringt mir der Verband" [6], welche Ansprechpartner gibt es, usw. Weiterhin bitte ich euch, diese Ank?ndigung an geeigneten Stellen weiter zu ver?ffentlichen und auf den Vortrag hinzuweisen. F?r die Python Community in Deutschland wird der Verband meiner Meinung nach potentiell eine sehr wichtige Rolle spielen und ich w?nsche ihm allen Erfolg und hoffe, ihr nutzt diese Gelegenheit, seine Bekanntheit zu vergr??ern und ihn gleichzeitig selbst besser kennenzulernen. raise EOFError, Christopher Arndt Mailinglistenmoderator pyCologne [1] http://pycologne.de/ [2] http://python-verband.org/ [3] http://pycologne.de/#Termine [4] http://python-verband.org/events/organisations-workshop [5] https://lists.uni-koeln.de/mailman/listinfo/python-users [6] F?r eine individuelle Karriereberatung w?re dies aber sicher nicht der richtige Platz! ;) From btimby at gmail.com Fri Jan 20 20:35:31 2012 From: btimby at gmail.com (Ben Timby) Date: Fri, 20 Jan 2012 14:35:31 -0500 Subject: Announcing python-libarchive. Message-ID: Python-libarchive is a wrapper around the excellent libarchive library. It allows you to work with many different archive formats using a single API. http://code.google.com/p/python-libarchive/ Python-libarchive is a SWIG wrapper around the library as well as some high-level Python classes to make usage easier. There are also compatibility modules for zipfile and tarfile. These modules use libarchive to deal with the archive files, but provide an interface as similar as possible to the stdlib versions. The library is usable, but by no means complete. This library was written against libarchive 3.0.X and will not work with libarchive 2. Some instructions on installing libarchive and python-libarchive are available in the Wiki. http://code.google.com/p/python-libarchive/wiki/Building There is a Google Group for feedback. http://groups.google.com/group/python-libarchive-users Thank you! From mike at mv3d.com Mon Jan 23 03:23:20 2012 From: mike at mv3d.com (Michael Handverger) Date: Sun, 22 Jan 2012 21:23:20 -0500 (EST) Subject: ANN: Announcing MV3D 0.70! In-Reply-To: <12861633.638.1327285303742.JavaMail.root@verity> Message-ID: <4312078.640.1327285400359.JavaMail.root@verity> I am pleased to announce the release version 0.70 of MV3D! This release includes a massive amount of new features and over 70 bugfixes. The main focus was on usability and involved a large amount of work on tools. In 0.70, Panda3D support was brought up to par with animation, terrain texture splatting, and skydomes. One of the things we are most excited about is the Windows development environment installer. This is an easy installer that will quickly set up any Windows system to develop MV3D. MV3D is an open source multiplayer game and virtual world framework written in Python which uses Twisted for networking. It encompasses a scalable server with dynamic load balancing, a robust set of content creation tools, and an extensible 3D client application. MV3D provides the foundation to build anything from 3D chat rooms to full MMORPGs with the goal of letting you concentrate on creating a unique virtual world instead of the infrastructure to support it. For more information on MV3D and this or future releases, please visit the website at http://www.mv3d.com . The full release notes for version 0.70 are available online at this URL: http://www.mv3d.com/trac/browser/tags/mv3d-0.70/release-notes.txt . For further inquiries, feel free to stop by our IRC channel on irc.freenode.net #MV3D. New screenshots of our demo world and the Composer tool: http://www.mv3d.com/trac/screenshots/46 http://www.mv3d.com/trac/screenshots/47 Release 0.75 will be focused on bugfixing and adding full support for Linux + Ogre and OS X + Panda. We are currently looking for help porting and testing on these platforms. Enjoy, Mike From jendrikseipp at web.de Tue Jan 24 18:07:35 2012 From: jendrikseipp at web.de (Jendrik Seipp) Date: Tue, 24 Jan 2012 18:07:35 +0100 Subject: RedNotebook 1.3 Message-ID: <4F1EE557.8050109@web.de> A new RedNotebook version has been released. You can get the tarball, the Windows installer and links to distribution packages at http://rednotebook.sourceforge.net/downloads.html What is RedNotebook? -------------------- RedNotebook is a **graphical journal** and diary helping you keep track of notes and thoughts. It includes a calendar navigation, customizable templates, export functionality and word clouds. You can also format, tag and search your entries. RedNotebook is available in the repositories of most common Linux distributions and a Windows installer is available. It is written in Python and uses GTK+ for its interface. What's new? ----------- * Let tags be categories without entries. This greatly simplifies and in fact unifies tags and categories. * Unify clouds and search -> Show the search bar above the clouds When a search is made, substitute the word cloud with the search results. * Apply styling for thick horizontal lines - Thin line: -------------------- - Thick line: ==================== * Apply formatting only once if a format button is clicked multiple times * Allow "Close to tray" only on Windows as most modern Linux distros don't have a tray anymore (lp:902228) If you still want the tray icon, set closeToTray=1 in the configuration file. * Make journal saving more than twice as fast by using libyaml. * Change Ctrl-PageUp(Down) directions to be more intuitive * Update and revise help text * Fix: utf-8 special chars not displayed correctly in html export for firefox (LP:910094) * Fix: Do not abort if a wrong regex is entered * Fix: Correctly highlight all picture formats in edit mode * Fix: When the format button is clicked and a tag is selected, format it instead of the editor pane * Write month only if changes are actually made (LP:871730) * Call categories tags in more places * Print PDF export path after export * Do not warn if second instance is suspected (too many false-positives) * Updated translations Cheers, Jendrik From mmueller at python-academy.de Tue Jan 24 21:48:35 2012 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Tue, 24 Jan 2012 21:48:35 +0100 Subject: Course "Python for Scientists and Engineers" in Chicago Message-ID: <4F1F1923.5020008@python-academy.de> Course "Python for Scientists and Engineers" in Chicago ======================================================= There will be a comprehensive Python course for scientists and engineers in Chicago end of February / beginning of March 2012. It consists of a 3-day intro and a 2-day advanced section. Both sections can be taken separately or combined. More details below and here: http://www.dabeaz.com/chicago/science.html Please let friends or colleagues who might be interested in such a course know about it. 3-Day Intro Section ------------------- - Overview of Scientific and Technical Libraries for Python. - Numerical Calculations with NumPy - Storage and Processing of Large Amounts of Data - Graphical Presentation of Scientific Data with matplotlib - Object Oriented Programming for Scientific and Technical Projects - Open Time for Problem Solving 2-Day Advanced Section ---------------------- - Extending Python with Other Languages - Unit Testing - Version Control with Mercurial The Details ----------- The course is hosted by David Beazley (http://www.dabeaz.com). Date: Feb 27 - Mar 2, 2012 Location: Chicago, IL, USA Trainer: Mike M?ller Course Language: English Link: http://www.dabeaz.com/chicago/science.html From mmueller at python-academy.de Wed Jan 25 16:46:24 2012 From: mmueller at python-academy.de (=?UTF-8?B?TWlrZSBNw7xsbGVy?=) Date: Wed, 25 Jan 2012 16:46:24 +0100 Subject: Matplotlib and optimization tutorials at PyCon US Message-ID: <4F2023D0.1040309@python-academy.de> Hi, I will be giving a matplotlib and a optimization tutorial at PyCon in March. The first tutorial is a compact introduction to matplotlib. The optimization tutorial gives an overview over this topic. BTW, the early bird deadline is today. Mike Plotting with matplotlib ------------------------ Instructor: Mike M?ller Type:Tutorial Audience level:Novice Category:Useful libraries March 8th 9 a.m. ? 12:20 p.m. https://us.pycon.org/2012/schedule/presentation/238/ When it comes to plotting with Python many people think about matplotlib. It is widely used and provides a simple interface for creating a wide variety of plots from very simple diagrams to sophisticated animations. This tutorial is a hands-on introduction that teaches the basics of matplotlib. Students will learn how to create publication-ready plots with just a few lines of Python. Faster Python Programs through Optimization ------------------------------------------- Instructor: Mike M?ller Type:Tutorial Audience level:Experienced Category:Best Practices/Patterns March 7th 9 a.m. ? 12:20 p.m. https://us.pycon.org/2012/schedule/presentation/245/ This tutorial provides an overview of techniques to improve the performance of Python programs. The focus is on concepts such as profiling, difference of data structures and algorithms as well as a selection of tools and libraries that help to speed up Python. From g.rodola at gmail.com Wed Jan 25 21:11:49 2012 From: g.rodola at gmail.com (=?ISO-8859-1?Q?Giampaolo_Rodol=E0?=) Date: Wed, 25 Jan 2012 21:11:49 +0100 Subject: ANN: pyftpdlib 0.7.0 released Message-ID: Hi, I'm pleased to announce release 0.7.0 of Python FTP Server library (pyftpdlib). http://code.google.com/p/pyftpdlib/ === About === Python FTP server library provides an high-level portable interface to easily write asynchronous FTP/S servers with Python. pyftpdlib is currently the most complete RFC-959 FTP server implementation available for Python programming language. === sendfile() === sendfile(2) system call usage has finally been introduced. sendfile(2) provides a "zero-copy" way of copying data from one file descriptor to another (a socket). The phrase "zero-copy" refers to the fact that all of the copying of data between the two descriptors is done entirely by the kernel, with no copying of data into userspace buffers, resuting in file transfers (RETR, hence from server to client) being from 2x to 3x faster. A simple benchmark: pyftpdlib 0.6.0: 693.41 MB/sec pyftpdlib 0.7.0: 1694.14 MB/sec proftpd 1.3.4rc2: 1313.77 MB/sec vsftpd 2.3.2: 1505.18 MB/sec In order to use sendfile(2) you'll have to install pysendfile module first (UNIX only): http://code.google.com/p/pysendfile/ === Faster scheduler === The internal scheduler, governed by CallLater and CallEvery classes, has been rewritten from scratch and it is an order of magnitue faster, especially for operations like cancel() which are involved when clients are disconnected (hence invoked very often). Some benchmarks: schedule: +0.5x reschedule: +1.7x cancel: +477x (with 1 milion scheduled functions) run: +8x Also, a single scheduled function now consumes 1/3 of the memory thanks to __slots__ usage. For further details see: http://code.google.com/p/pyftpdlib/issues/detail?id=189 === SITE CHMOD === This new version supports SITE CHMOD command, meaning the client is now able to change file mode bits by issuing "SITE CHMOD path mode" command. The authorizer now accepts a new "M" permission bit, which, when specified, enables SITE CHMOD usage: >>> authorizer = DummyAuthorizer() >>> authorizer.add_user('user', 'password', '/home/user', perm='elradfmwM') === Other improvements === * on_failed_login() callback: this is called when user provides wrong credentials. * CallEvery class: same as CallLater, but keeps calling a function every X seconds. * A benchmark script: http://code.google.com/p/pyftpdlib/source/browse/trunk/test/bench.py * Anti flood demo script: http://pyftpdlib.googlecode.com/svn/trunk/demo/anti_flood_ftpd.py A complete list of changes including enhancements and bug fixes is available here: http://code.google.com/p/pyftpdlib/wiki/ReleaseNotes07 === More links === * Source tarball: http://pyftpdlib.googlecode.com/files/pyftpdlib-0.7.0.tar.gz * Online docs: http://code.google.com/p/pyftpdlib/wiki/Tutorial * FAQs: http://code.google.com/p/pyftpdlib/wiki/FAQ * RFCs compliance paper: http://code.google.com/p/pyftpdlib/wiki/RFCsCompliance * Issue tracker: http://code.google.com/p/pyftpdlib/issues/list If you think pyftpdlib is worth a donation you can do so by going here: http://code.google.com/p/pyftpdlib/wiki/Donate Thanks, --- Giampaolo Rodola' http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ http://code.google.com/p/pysendfile/ From dinov at microsoft.com Thu Jan 26 18:17:43 2012 From: dinov at microsoft.com (Dino Viehland) Date: Thu, 26 Jan 2012 17:17:43 +0000 Subject: [ANN] Python Tools for Visual Studio 1.1 RC Message-ID: <6C7ABA8B4E309440B857D74348836F2E54C63A85@TK5EX14MBXC294.redmond.corp.microsoft.com> We're pleased to announce the release of Python Tools for Visual Studio 1.1 RC. Python Tools for Visual Studio (PTVS) is an open-source plug-in for Visual Studio which supports programming with the Python programming language. This release includes new core IDE features, a couple of new sample libraries for interacting with Kinect and Excel, and many bug fixes for issues reported since the release of 1.0. The 1.1 release altogether contains over 150 bug fixes and new features since 1.0. For the core IDE features we've added many new features which improve the basic editing experience. This includes a smart tag feature for automatically adding imports, a command for cleaning up unused imports, support for recognizing isinstance() calls and using them for providing improved completions. We've also updated goto definition to go to members defined in the standard library. We've also made several improvements to the project system. Some improvements which should help just about everyone include support for linked files that live outside of the project directory. This makes it easy to keep your project file separate from your code files. For IronPython users you can now add references to .NET projects or .NET assemblies and we'll automatically reload and re-analyze the references when they're rebuilt. For CPython users you can now add a reference to a .pyd extension module and we'll analyze the extension module and provide completions. We've also improved intellisense across multiple Python projects in the same solution. This release also includes some improvements to the interactive REPL window. This includes improvements to IPython REPL support including support for inline graphs and proper support for IPython's numbered prompts. We've added support for using IPython mode w/o PyLab - this enables out-of-line graphs and improves the startup time of the interactive window. The debugger has also seen several small improvements in this release. There's a new option to step into the Python standard library while debugging, another option to not break on SystemExit exception with exit codes of zero. Finally we've added support for displaying Python thread name in the threads window. We've also improved the Debug->Attach support and made it easier to attach to a process which is not actively running Python code. Another major addition to 1.1 includes the addition of two additional sample libraries available as separate downloads: PyKinect for working with the Kinect Beta SDK and Pyvot for working with Excel spreadsheets. Once downloaded and installed these plug-in to Visual Studio and provide templates; and they provide built-in support for installing into one of the recognized Python interpreters via Tools->Python Tools->Samples. The PyKinect sample is a wrapper around the Kinect SDK and enables development with the Kinect SDK directly from Python. The sample includes a new template for quickly getting started creating games using PyGame with PyKinect. PyKinect is licensed under a license similar to the existing Kinect SDK. Pyvot (pronounced Pivot) connects familiar data-exploration and visualization tools in Excel with the powerful data analysis and transformation capabilities of Python, with an emphasis on tabular data. It provides a simple and Pythonic interface to Excel, smoothing over the pain points in using the existing Excel object model as exposed via COM. We'd like to thank all of the users who took the time to report issues and feedback for this release: 445363200, adv12, Andrew, AphexSA, benpmorgan, chadbr, dgkbny, drgn, holmboe, hyh, jimpeak, juanalumni, kingnaoufal, lblanchon, liuzhenhai, mahpour, MichaelBaker, po6856, pztrick44, RobertMcGinley, salerio, slide_o_mix, somini, SoonStudios, stakemura, stephenkennedy, sumitbasu, swift_dev, synergetic, teebot, tiphon, timeisaparallax, tonyandrewmeyer, xavier_grundus, and Zooba. Thanks, The Python Tools for Visual Studio Team From nathan.alexander.rice at gmail.com Thu Jan 26 20:36:29 2012 From: nathan.alexander.rice at gmail.com (Nathan Rice) Date: Thu, 26 Jan 2012 14:36:29 -0500 Subject: Constraints -//- first release -//- Flexible abstract class based validation for attributes, functions and code blocks Message-ID: PyPi name: constraintslib (you'll be dissapointed if you get constraints by accident) Docs: http://packages.python.org/constraintslib/ Github: https://github.com/nathan-rice/Constraints >From the docs: Constraints - Sleek contract-style validation tools =================================================== Constraints provides flexible validation tools for a variety of circumstances. All validation in constraints is done by type checking. Constraints provides a special abstract base class (Constraints) which facilitates on the fly construction of validation types. Constraints also provides a special class (Symbol) which can be used to generate natural, easy to read constraint expressions. for example:: >>> from constraints.proxy import Symbol >>> from constraints.constraints import Constraints >>> X = Symbol() >>> SizeConstraint = Constraints(X * 2 + 1 >= 5) >>> ModuloConstraint = Constraints(X % 2 != 0, X != 3) >>> CharacterConstraint = Constraints(X[-1] == "h") # My apologies for the lambda spam. I provide some functions in # constraints.util for this purpose... >>> callable_expr = lambda x: all(lambda x: isinstance(x, SizeConstraint), x) >>> CollectionConstraint = Constraint(callable_expr) >>> isinstance(1, SizeConstraint) False >>> isinstance(2, SizeConstraint) True >>> isinstance(1, ModuloConstraint) True >>> isinstance("blah", CharacterConstraint) True >>> isinstance([2, 3, 4, 5], CollectionConstraint) True Constraint instances also provide descriptors which will verify values at set time. For example:: >>> class Foo(object): ... x = Constraints(X > 2) ... >>> bar = Foo() >>> bar.x = 1 Traceback (most recent call last): ... AssertionError: Specified value (1) does not satisfy this constraint Design by contract style preconditions, postconditions and invariants are also supported, and can be used either as context managers or function decorators:: >>> x_pre = SizeConstraint.precondition("x") >>> x_post = SizeConstraint.postcondition("x") >>> x = 1 >>> with x_pre: ... do_stuff() ... Traceback (most recent call last): ... AssertionError: The value (1) did not meet the specified pre-condition >>> x = 5 >>> with x_post: ... x -= 4 ... Traceback (most recent call last): ... AssertionError: The value (1) did not meet the specified post-condition >>> @x_pre ... def foo(x): ... return x ... >>> foo(1) Traceback (most recent call last): ... AssertionError: The value (1) did not meet the specified pre-condition >>> @x_post ... def foo(x): ... return x - 5 ... >>> foo(6) Traceback (most recent call last): ... AssertionError: The value (1) did not meet the specified post-condition Symbol objects are very flexible, and provide a nice way to specify your constraints without resorting to a domain specific language. Symbol objects are fairly simple; whenever an operation is performed on them, they capture it and return a new Symbol object wrapping the operation so that it can be performed with concrete input at a later time. There are exceptions to this, for example isinstance, which uses the metaclass method, and the type constructors (str, int, bool, etc) which throw an error if the correct type is not returned. From ralexander at nvidia.com Fri Jan 27 00:01:03 2012 From: ralexander at nvidia.com (Robert Alexander) Date: Thu, 26 Jan 2012 15:01:03 -0800 Subject: pyNVML - GPU Monitoring and Management Message-ID: <4F051DB6295EF94D8B2E3CBDB1A7018B19DC16F02F@HQMAIL01.nvidia.com> I'm pleased to announce the release of pyNVML 2.285: Python Bindings for the NVIDIA Management Library. pyNVML provides programmatic access to static information and monitoring data for NVIDIA GPUs, as well as management capabilities. It exposes the functionality of the NVML library. See http://developer.nvidia.com/nvidia-management-library-nvml for more information about NVML. The pyNVML download package and its documentation can be found at: http://pypi.python.org/pypi/nvidia-ml-py/ http://packages.python.org/nvidia-ml-py/ pyNVML is currently used to report GPU information in Ganglia. Check it out at http://developer.nvidia.com/ganglia-monitoring-system Requires Python 2.5, or an earlier version with the ctypes module. Released under the BSD license. Robert Alexander NVIDIA Tesla Software Engineer ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- From doug.hellmann at gmail.com Mon Jan 30 16:34:28 2012 From: doug.hellmann at gmail.com (Doug Hellmann) Date: Mon, 30 Jan 2012 10:34:28 -0500 Subject: virtualenvwrapper 3.0 - Python 3 support Message-ID: <51A204C5-11A3-41D4-AFEB-3FA4F441B926@gmail.com> What is virtualenvwrapper ========================= virtualenvwrapper is a set of extensions to Ian Bicking's virtualenv tool. The extensions include wrappers for creating and deleting virtual environments and otherwise managing your development workflow, making it easier to work on more than one project at a time without introducing conflicts in their dependencies. What's New in 3.0 ================= This release adds Python 3 support, thanks in large part to the efforts of Daniel Kraus. Tested under Python 2.6, 2.7, and 3.2. Installing ========== Visit the virtualenvwrapper project page (http://www.doughellmann.com/projects/virtualenvwrapper/) for download links and installation instructions. From solipsis at pitrou.net Mon Jan 30 21:14:44 2012 From: solipsis at pitrou.net (Antoine Pitrou) Date: Mon, 30 Jan 2012 21:14:44 +0100 Subject: pathlib 0.4 Message-ID: <1327954484.3393.10.camel@localhost.localdomain> Hello, I'm releasing pathlib 0.4 for Python 3.2 and later. * Download: http://pypi.python.org/pypi/pathlib/ (you can probably use "pip install pathlib" or "easy_install pathlib" instead) * Documentation: http://readthedocs.org/docs/pathlib/en/latest/ * Issue tracker, repository: https://bitbucket.org/pitrou/pathlib/ What is pathlib --------------- pathlib offers a set of classes to handle filesystem paths. It offers the following advantages over using string objects: * No more cumbersome use of os and os.path functions. Everything can be done easily through operators, attribute accesses, and method calls. * Embodies the semantics of different path types. For example, comparing Windows paths ignores casing. * Well-defined semantics, eliminating any warts or ambiguities (forward vs. backward slashes, etc.). Examples -------- Importing the module classes:: >>> from pathlib import * Listing Python source files in a directory:: >>> p = Path('.') >>> [x for x in p if x.ext == '.py'] [PosixPath('test_pathlib.py'), PosixPath('setup.py'), PosixPath('pathlib.py')] Listing subdirectories:: >>> [x for x in p if x.is_dir()] [PosixPath('.hg'), PosixPath('docs'), PosixPath('dist'), PosixPath('__pycache__'), PosixPath('build')] Navigating inside a directory tree:: >>> p = Path('/etc') >>> q = p['init.d/reboot'] >>> q PosixPath('/etc/init.d/reboot') >>> q.resolve() PosixPath('/etc/rc.d/init.d/halt') Querying path properties:: >>> q.exists() True >>> q.is_dir() False >>> q.st_mode 33261 Opening a file:: >>> with q.open() as f: f.readline() ... '#!/bin/bash\n' Regards Antoine Pitrou. From opossumnano at gmail.com Tue Jan 31 13:42:58 2012 From: opossumnano at gmail.com (Tiziano Zito) Date: Tue, 31 Jan 2012 13:42:58 +0100 Subject: [ANN] Summer School "Advanced Scientific Programming in Python" in Kiel, Germany Message-ID: <20120131124258.GF12374@multivac.zonafranca> Advanced Scientific Programming in Python ========================================= a Summer School by the G-Node and the Institute of Experimental and Applied Physics, Christian-Albrechts-Universit?t zu Kiel Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved, only few scientists actually use them. As a result, instead of doing their research, they spend far too much time writing deficient code and reinventing the wheel. In this course we will present a selection of advanced programming techniques, incorporating theoretical lectures and practical exercises tailored to the needs of a programming scientist. New skills will be tested in a real programming project: we will team up to develop an entertaining scientific computer game. We use the Python programming language for the entire course. Python works as a simple programming language for beginners, but more importantly, it also works great in scientific simulations and data analysis. We show how clean language design, ease of extensibility, and the great wealth of open source libraries for scientific computing and data visualization are driving Python to become a standard tool for the programming scientist. This school is targeted at Master or PhD students and Post-docs from all areas of science. Competence in Python or in another language such as Java, C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of Python is assumed. Participants without any prior experience with Python should work through the proposed introductory materials before the course. Date and Location ================= September 2?7, 2012. Kiel, Germany. Preliminary Program =================== Day 0 (Sun Sept 2) ? Best Programming Practices - Best Practices, Development Methodologies and the Zen of Python - Version control with git - Object-oriented programming & design patterns Day 1 (Mon Sept 3) ? Software Carpentry - Test-driven development, unit testing & quality assurance - Debugging, profiling and benchmarking techniques - Best practices in data visualization - Programming in teams Day 2 (Tue Sept 4) ? Scientific Tools for Python - Advanced NumPy - The Quest for Speed (intro): Interfacing to C with Cython - Advanced Python I: idioms, useful built-in data structures, generators Day 3 (Wed Sept 5) ? The Quest for Speed - Writing parallel applications in Python - Programming project Day 4 (Thu Sept 6) ? Efficient Memory Management - When parallelization does not help: the starving CPUs problem - Advanced Python II: decorators and context managers - Programming project Day 5 (Fri Sept 7) ? Practical Software Development - Programming project - The Pelita Tournament Every evening we will have the tutors' consultation hour: Tutors will answer your questions and give suggestions for your own projects. Applications ============ You can apply on-line at http://python.g-node.org Applications must be submitted before 23:59 UTC, May 1, 2012. Notifications of acceptance will be sent by June 1, 2012. No fee is charged but participants should take care of travel, living, and accommodation expenses. Candidates will be selected on the basis of their profile. Places are limited: acceptance rate last time was around 20%. Prerequisites: You are supposed to know the basics of Python to participate in the lectures. You are encouraged to go through the introductory material available on the website. Faculty ======= - Francesc Alted, Continuum Analytics Inc., USA - Pietro Berkes, Enthought Inc., UK - Valentin Haenel, Blue Brain Project, ?cole Polytechnique F?d?rale de Lausanne, Switzerland - Zbigniew J?drzejewski-Szmek, Faculty of Physics, University of Warsaw, Poland - Eilif Muller, Blue Brain Project, ?cole Polytechnique F?d?rale de Lausanne, Switzerland - Emanuele Olivetti, NeuroInformatics Laboratory, Fondazione Bruno Kessler and University of Trento, Italy - Rike-Benjamin Schuppner, Technologit GbR, Germany - Bartosz Tele?czuk, Unit? de Neurosciences Information et Complexit?, Centre National de la Recherche Scientifique, France - St?fan van der Walt, Helen Wills Neuroscience Institute, University of California Berkeley, USA - Bastian Venthur, Berlin Institute of Technology and Bernstein Focus Neurotechnology, Germany - Niko Wilbert, TNG Technology Consulting GmbH, Germany - Tiziano Zito, Institute for Theoretical Biology, Humboldt-Universit?t zu Berlin, Germany Organized by Christian T. Steigies and Christian Drews of the Institute of Experimental and Applied Physics, Christian-Albrechts-Universit?t zu Kiel , and by Zbigniew J?drzejewski-Szmek and Tiziano Zito for the German Neuroinformatics Node of the INCF. Website: http://python.g-node.org Contact: python-info at g-node.org