From doug at doughellmann.com Tue Apr 1 17:25:10 2014 From: doug at doughellmann.com (Doug Hellmann) Date: Tue, 1 Apr 2014 11:25:10 -0400 Subject: cliff -- Command Line Interface Formulation Framework -- version 1.6.0 Message-ID: cliff -- Command Line Interface Formulation Framework -- version 1.6.0 cliff is a framework for building command line programs. It uses setuptools entry points to provide subcommands, output formatters, and other extensions. What's New In This Release? * Add max-width support for table formatter * Add value only output formatter * Fix doc build with Python 2.6.x * Fix interactive mode with command line args * Escape double quotes in shell formatter * Rename private attribute to avoid conflict * Sync with OpenStack's global requirements * Add integration tests with known consumers * Make the formatters a private part of the command Documentation [1]Documentation for cliff is hosted on [2]readthedocs.org Installation Use pip: $ pip install cliff See [3]the installation guide for more details. References 1. http://readthedocs.org/docs/cliff/en/latest/ 2. http://readthedocs.org/ 3. http://cliff.readthedocs.org/en/latest/install.html From nd at perlig.de Wed Apr 2 18:38:18 2014 From: nd at perlig.de (=?iso-8859-1?q?Andr=E9_Malo?=) Date: Wed, 2 Apr 2014 18:38:18 +0200 Subject: Template Data Interface (tdi) 0.9.9.8 Message-ID: <201404021838.18783.nd@perlig.de> Hello World! I'm pleased to announce version 0.9.9.8 of TDI. About TDI ========= TDI is a markup templating system written in python with (optional but recommended) speedup code written in C. It features strict markup / logic separation, is very fast and provides powerful tools for template manipulation. About Release 0.9.9.8 ===================== TDI grew a new tool collection which handles template dependencies. This release also provides various API and performance improvements and a few bug fixes. Supported Python Versions ========================= * Python 2.4 - 2.7 * PyPy 1.9, 2.0 (Python only) * Jython 2.5, 2.7 (Python only) License ======= TDI is available under the terms and conditions of the "Apache License, Version 2.0." TODO ==== * better framework integration * python 3 support Links ===== * Homepage + Documentation: http://opensource.perlig.de/tdi/ * PyPI: https://pypi.python.org/pypi/tdi * License: http://www.apache.org/licenses/LICENSE-2.0 Andr? "nd" Malo From josiah.carlson at gmail.com Thu Apr 3 08:03:35 2014 From: josiah.carlson at gmail.com (Josiah Carlson) Date: Wed, 2 Apr 2014 23:03:35 -0700 Subject: ANN: rom 0.26.1 - Redis object mapper for Pthon Message-ID: Hey everyone, The "rom" package is a Redis object mapper for Python. It sports an interface similar to Django's ORM, SQLAlchemy with the declarative base, or Appengine's datastore. The changelog for recent releases can be seen below my signature. You can find the package at: https://www.github.com/josiahcarlson/rom https://pypi.python.org/pypi/rom And docs can be found at: http://pythonhosted.org/rom/ Please CC me on any replies if you have any questions or comments. Thank you, - Josiah #---------------------------------- 0.26.1 ----------------------------------- [fixed] issue with deleted entity resurrection, bug report and fix thanks to Justin Mayfield https://github.com/mayfield [fixed] issue with deleted entities not being completely cleared out during delete with Lua writes enabled, bug report and fix also courtesy of Justin Mayfield https://github.com/mayfield #---------------------------------- 0.26.0 ----------------------------------- [added] support for Python 3.3 thanks to the six library and porting effort from Justin Mayfield https://github.com/mayfield, which also includes some additional tests. [remove] String column from Python 3.3, use the Text column instead. [changed] Both String and Text columns can use unique columns. [fixed] rom's behavior with long ints in some situations. [fixed] rom's behavior with unicode suffixes in Python 2.x. [added] tests for unicode text indexes, unique indexes, prefix indexes, and suffix indexes. [updated] relevant docs regarding the Text column and unique indexes. [fixed] improperly labeled 0.25.1 release in this changelog. #---------------------------------- 0.25.1 ----------------------------------- [fixed] an issue where Lua writing wouldn't properly update unique indexes on deletion was fixed. Thank you to https://github.com/thedrow for the report. [changed] added a link to the full Python docs to the Readme. #----------------------------- 0.23 (unreleased) ----------------------------- [changed] reduced number of round trips for single-filter queries by 1, thanks to https://github.com/MickeyKim for the report. From geoff.bache at gmail.com Thu Apr 3 22:30:02 2014 From: geoff.bache at gmail.com (Geoff Bache) Date: Thu, 3 Apr 2014 22:30:02 +0200 Subject: CaptureMock 1.0 - true record/replay mocking for Python (and other things...) Message-ID: Hi all, CaptureMock has come of age at last and reached 1.0. Many things have been fixed and improved since the last release. Notably: - Supports python callbacks in a limited fashion (i.e. intercepted code calling back into non-intercepted code) Makes it possible to e.g. intercept Tkinter and use CaptureMock for a limited kind of GUI testing. - Should work better in Python 3 - Mock files are more readable, we use pprint to ensure it doesn't get too wide. Naming of "variables" is more intelligent and descriptive, make use of strings provided when the objects first appear - Client-server support now handles XMLRPC servers Regards, Geoff Bache More detail: CaptureMock is a tool for creating mocks via a "true" capture-replay style approach. It records interactions to a separate file which can then be used for replay in future runs. It is thus not another "EasyMock" clone. Interaction can be recaptured from a real system at any point, and no mock code needs to be written. It handles Python calls, command-line programs, and synchronous messaging over networks. Custom clients can now also be written for any language. Website: http://www.texttest.org/index.php?page=capturemock Examples: https://github.com/msabramo/capturemock_examples/ Mailing list: https://lists.sourceforge.net/lists/listinfo/texttest-users From info at wingware.com Mon Apr 7 16:35:23 2014 From: info at wingware.com (Wingware) Date: Mon, 07 Apr 2014 10:35:23 -0400 Subject: Wing IDE 5.0.5 released Message-ID: <5342B7AB.1080501@wingware.com> Hi, Wingware has released version 5.0.5 of Wing IDE, our cross-platform integrated development environment for the Python programming language. Wing IDE includes a professional quality code editor with vi, emacs, visual studio, and other key bindings, auto-completion, call tips, goto-definition, find uses, refactoring, context-aware auto-editing, a powerful graphical debugger, version control, unit testing, search, and many other features. For details see http://wingware.com/ Changes in this minor release include: * Preference to control auto-spacing inside argument lists * Palette color and preference for changing occurrences color * Detect and flag unit tests that crash before running to completion * Fix Compare to Repository with recent SVN versions * Syntax highlighting for .scss CSS extension language files * Fix scraping extension modules in recent numpy versions * Fixed restarting after patch installation * Fix auto-editor and auto-completion context detection problems in the shells * Correctly show PEP 287 docstrings when indentation causes parse errors * Expand fold points on any edited line to avoid inaccessible folded lines * Improve and clarify validation of Python Executable in Project Properties * Several color adjustment fixes * About 25 other bug fixes For details see http://wingware.com/pub/wingide/5.0.5/CHANGELOG.txt A summary of new features in Wing 5: * Redesigned GUI based on Qt and PySide * Native GUI on OS X (and better overall OS-native look and feel) * Tools and editors can be dragged around * Toolbar and editor and Project context menus are configurable * Optional mode that opens different sets of files in each editor split * Sharable color palettes and syntax highlighting configurations * Auto-editing is on by default (except some operations that have a learning curve) * Named file sets * Sharable launch configurations * Named entry points * More control over unit testing environment * Lockable editor splits * Initial preferences dialog for new users * Support for Python 3.4 * Support for Django 1.6 * Support for matplotlib on Anaconda and with MacOSX backend * Improved Source Assistant with PEP 287 docstring rendering and return types * Improved integrated and PDF documentation For more information on what's new in Wing 5, see http://wingware.com/wingide/whatsnew Free trial: http://wingware.com/wingide/trial Downloads: http://wingware.com/downloads Feature list: http://wingware.com/wingide/features Sales: http://wingware.com/store/purchase Upgrades: https://wingware.com/store/upgrade Questions? Don't hesitate to email us at support at wingware.com. Thanks, -- Stephan Deibel Wingware | Python IDE The Intelligent Development Environment for Python Programmers wingware.com From info at egenix.com Tue Apr 8 09:18:21 2014 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Tue, 08 Apr 2014 09:18:21 +0200 Subject: ANN: eGenix mxODBC 3.3.0 - Python ODBC Database Interface Message-ID: <5343A2BD.5050807@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Python ODBC Database Interface Version 3.3.0 mxODBC is our commercially supported Python extension providing ODBC database connectivity to Python applications on Windows, Mac OS X, Unix and BSD platforms This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-3.3.0-GA.html ________________________________________________________________________ INTRODUCTION mxODBC provides an easy-to-use, high-performance, reliable and robust Python interface to ODBC compatible databases such as MS SQL Server, MS Access, Oracle Database, IBM DB2 and Informix , Sybase ASE and Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many more: http://www.egenix.com/products/python/mxODBC/ The "eGenix mxODBC - Python ODBC Database Interface" product is a commercial extension to our open-source eGenix mx Base Distribution: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ NEWS The 3.3.0 release of our mxODBC is a new release of our popular Python ODBC Interface for Windows, Linux, Mac OS X and FreeBSD. New Features in 3.3 ------------------- Stored Procedures * mxODBC now has full support for input, output and input/output parameters in stored procedures and stored functions, allowing easy integration with existing databases systems. User Customizable Row Objects * Added support for user customizable row objects by adding cursor/connection .rowfactory and .row constructor attributes. When set, these are used to wrap the normal row tuples returned by the .fetch*() methods into dynamically created row objects. * Added new RowFactory classes to support cursor.rowfactory and cursor.row. These allow dynamically creating row classes that provide sequence as well as mapping and attribute access to row fields - similar to what namedtuples implement, but specific to result sets. Fast Cursor Types * Switched to forward-only cursor types for all database backends, since this provides a much better performance for MS SQL Server and IBM DB2 drivers. * Added a new .cursortype attribute to allow adjusting and inspecting the ODBC cursor type to be used for an mxODBC cursor object. Default is to use forward-only cursors, but mxODBC also support several other useful cursor types such as static cursors with full support for result set scrolling. More new Features * Custom errorhandlers are now also called very early during the connection process. This makes it possible to debug e.g. ODBC driver/manager setup problems from within Python, without having to resort to ODBC trace files. * Enhanced cursor.prepare() to allow querying cursor.description right after the prepare step and not only after calling a cursor.execute*() method. * Added iterator/generator support to .executemany(). The parameters list can now be an iterator/generator, if needed. * Added new connection.dbapi property to easily access module level symbols from the connection object. * Timestamp seconds fraction resolution is now determined from the scale of a datetime/timestamp SQL column, using the connection.timestampresolution as lower bound, when using SQL type binding. In Python type binding, the connection.timestampresolution determines the scale with which a variable is bound. This allows for greater flexibility when dealing with database backends that don't provide full nano-second second resolution, such as e.g. MS SQL Server. * mxODBC now accepts Unicode string values for date/time/datetime/timestamp column types in SQL type binding mode. Previous versions already did in Python type binding mode. * mxODBC now uses unicode(obj, encoding) semantics when binding Python objects to SQLWCHAR database parameters. Additionally, it ignores the encoding in case obj is a number, to avoid conversion errors. * Added new cursor.encoding and (read-only) cursor.converter attributes. Both inherit their default values from the connection the cursor was created on. * Added cursor.bindmethod which inherits from connection.bindmethod when creating the cursor. This allows adjusting the variable bind method on a per-cursor basis, rather than only on a per connection basis as in previous mxODBC versions. * mxODBC is now built against unixODBC 2.3.2. * The SQL lookup object now supports ODBC 3.8 symbols and values, including driver specific symbols used by the MS SQL Server Native Client and IBM DB2 ODBC drivers. * Updated the DataDirect binding to version 7.1.2 of the DataDirect ODBC manager. For the full set of features mxODBC has to offer, please see: http://www.egenix.com/products/python/mxODBC/#Features Driver Compatibility Enhancements --------------------------------- Oracle * Added work-around for Oracle Instant Client to be able to use integer output parameters. * Added a work-around for Oracle Instant Client to have it return output parameters based on the input placeholder Python parameter types. It would otherwise return all parameters as strings. * Disabled a test for Oracle Instant Client which tries to set a pre-connect connection option for timeouts, since the ODBC driver segfaults with this option. MS SQL Server * mxODBC now defaults to 100ns connection.timestampresolution for MS SQL Server 2008 and later, and 1ms resolution for MS SQL server 2005 and earlier. This simplifies interfacing to SQL Server timestamp columns by preventing occasional precision errors. * Tested mxODBC successfully with new MS SQL Server Native Client 11 for Linux. Unicode connection strings still don't work, but everything else does. * Added documentation on how to use Kerberos with mxODBC and SQL Server fo authentication on both Windows and Linux. * Added note about problems of the FreeTDS ODBC driver dealing with TIME and DATE columns to the documentation. Sybase ASE * Added work-around for the Sybase ASE ODBC driver, which doesn't always pass back NULL correctly to mxODBC on 64-bit Unix systems. * Changed the variable type binding mode default for the Sybase ASE ODBC driver from Python type binding to SQL type binding, which resolves issues with e.g. the Unicode support for that driver. * Added note about a segfault problem with the Sybase ASE 15.7 ODBC driver which is caused by the driver corrupting the heap. IBM DB2 * Added work-around for the IBM DB2 ODBC driver, which doesn't always pass back NULL correctly to mxODBC on 64-bit Unix systems. PostgreSQL * Added work-around to force Python type binding for the PostgreSQL ODBC drivers. More recent versions of the driver report supporting SQL type binding, but they don't implement it. * Added work-around to have PostgreSQL ODBC drivers properly work with binary data for BYTEA columns. MySQL * mxODBC now supports native Unicode with the recent MySQL ODBC drivers - provided you use the Unicode variants of the drivers. * Changed the default binding mode for MySQL ODBC drivers to Python type binding. This works around a problem with date/time values when talking to MySQL 5.6 servers. For the full set of changes please check the mxODBC change log: http://www.egenix.com/products/python/mxODBC/changelog.html The Future --------------- * Please note that this will be the last release of mxODBC for Python 2.4, 2.5 and 2.6. For the next release of mxODBC, we are focusing on making the code Python 2.7 and Python 3.x compatible, dropping support for earlier Python versions. * If you need long term support for these older Python versions, please contact sales at egenix.com. We can then arrange custom support contracts for you. mxODBC Editions --------------- mxODBC is available in these two editions: * The Professional Edition, which gives full access to all mxODBC features. * The Product Development Edition, which allows including mxODBC in applications you develop. For a complete overview of the new editions, please see the product page. http://www.egenix.com/products/python/mxODBC/#mxODBCEditions ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing the package can be found at: http://www.egenix.com/products/python/mxODBC/ In order to use the eGenix mxODBC package you will first need to install the eGenix mx Base package: http://www.egenix.com/products/python/mxBase/ ________________________________________________________________________ UPGRADING Users are encouraged to upgrade to this latest mxODBC release to benefit from the new features and updated ODBC driver support. We have taken special care, not to introduce backwards incompatible changes, making the upgrade experience as smooth as possible. For upgrade purchases, we will give out 20% discount coupons going from mxODBC 2.x to 3.3 and 50% coupons for upgrades from mxODBC 3.x to 3.3. After upgrade, use of the original license from which you upgraded is no longer permitted. Please contact the eGenix.com Sales Team at sales at egenix.com with your existing license serials for details for an upgrade discount coupon. If you want to try the new release before purchace, you can request 30-day evaluation licenses by visiting our web-site http://www.egenix.com/products/python/mxODBC/#Evaluation or by writing to sales at egenix.com, stating your name (or the name of the company) and the number of eval licenses that you need. _______________________________________________________________________ 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. _______________________________________________________________________ INFORMATION About Python (http://www.python.org/): Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges. About eGenix (http://www.egenix.com/): eGenix is a software project, consulting and product company focusing on expert services and professional quality products for companies, Python users and developers. PS: If you want to meet with eGenix at PyCon 2014, please send an email and we can arrange a meeting. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Apr 08 2014) >>> Python Projects, Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope/Plone.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2014-04-09: PyCon 2014, Montreal, Canada ... tomorrow 2014-04-29: Python Meeting Duesseldorf ... 21 days to go ::::: Try our 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 doug at doughellmann.com Tue Apr 8 15:13:52 2014 From: doug at doughellmann.com (Doug Hellmann) Date: Tue, 8 Apr 2014 09:13:52 -0400 Subject: cliff -- Command Line Interface Formulation Framework -- version 1.6.1 Message-ID: <24DADE86-0F8E-49DB-B15B-9E799621EFD1@doughellmann.com> cliff -- Command Line Interface Formulation Framework -- version 1.6.1 cliff is a framework for building command line programs. It uses setuptools entry points to provide subcommands, output formatters, and other extensions. What's New In This Release? * Fix a bug in ShellFormatter's escaping of double quotes in strings * Remove PrettyTable from documentation requirements * add doc requirements to venv Documentation [1]Documentation for cliff is hosted on [2]readthedocs.org Installation Use pip: $ pip install cliff See [3]the installation guide for more details. References 1. http://readthedocs.org/docs/cliff/en/latest/ 2. http://readthedocs.org/ 3. http://cliff.readthedocs.org/en/latest/install.html From g.rodola at gmail.com Wed Apr 9 18:13:31 2014 From: g.rodola at gmail.com (Giampaolo Rodola') Date: Wed, 9 Apr 2014 18:13:31 +0200 Subject: ANN: psutil 2.1.0 released Message-ID: Hi folks, I'm pleased to announce the 2.1.0 release of psutil including netstat-like functionalities: http://code.google.com/p/psutil/ Detailed blog post is here: http://grodola.blogspot.com/2014/04/reimplementing-netstat-in-cpython.html === About === psutil (python system and process utilities) is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python. It currently supports Linux, Windows, OSX, FreeBSD and Sun Solaris, both 32-bit and 64-bit architectures, with Python versions from 2.4 to 3.4. Pypi is also known to work. === Links === * Home page: http://code.google.com/p/psutil * Doc: https://pythonhosted.org/psutil/ * Forum: https://groups.google.com/forum/#!forum/psutil -- Giampaolo - http://grodola.blogspot.com From cbc at unc.edu Wed Apr 9 23:16:15 2014 From: cbc at unc.edu (Chris Calloway) Date: Wed, 09 Apr 2014 17:16:15 -0400 Subject: 2014 PyCamps Message-ID: <5345B89F.7040405@unc.edu> PyCamp is an ultra-low-cost, five-day, intensive Python boot camp program by a user group for user groups. PyCamp has taught Python fundamentals to thousands of beginners for nine years while sponsoring Python regional conferences, symposia, sprints, scholarships, and user groups. You can get up to speed on the most modern programming language at PyCamp. This year choose from two PyCamps: Wisconsin PyCamp 2014, June 13-17, University of Wisconsin-Oshkosh http://tripython.org/wiscpy14 Wisconsin PyCamp 2014 is a training program of Plone Symposium Midwest. http://midwest.plonesymp.org Wisconsin PyCamp 2014 is all-day catered (breakfast, lunch, snacks). or PyOhio PyCamp 2014, July 21-25, The Ohio State University http://tripython.org/pyohio14 PyOhio PyCamp 2014 is a pre-conference training program of PyOhio http://pyohio.org Scholarships for women and minorities are available for PyOhio PyCamp. -- Sincerely, Chris Calloway http://nccoos.org/Members/cbc office: 3313 Venable Hall phone: (919) 599-3530 mail: Campus Box #3300, UNC-CH, Chapel Hill, NC 27599 From Ekaterina at it-people.ru Thu Apr 10 12:20:24 2014 From: Ekaterina at it-people.ru (=?UTF-8?B?0JXQutCw0YLQtdGA0LjQvdCwINCo0YPQu9GL0L3QtNC40L3QsA==?=) Date: Thu, 10 Apr 2014 16:20:24 +0600 Subject: PyCon Russia 2014 Message-ID: Hello, Great news: June 2-3 in Yekaterinburg will be the second conference PyCon Russia 2014. Conference website: http://pycon.ru/2014/en/ -- Ekaterina Shulyndina it-people.ru +7 909 004 74 84 From info at egenix.com Thu Apr 10 22:44:44 2014 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Thu, 10 Apr 2014 22:44:44 +0200 Subject: ANN: eGenix pyOpenSSL Distribution 0.13.3.1.0.1.7 Message-ID: <534702BC.4010907@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com pyOpenSSL Distribution Version 0.13.3.1.0.1.7 An easy-to-install and easy-to-use distribution of the pyOpenSSL Python interface for OpenSSL - available for 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.13.3.1.0.1.7.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, making your application independent of OS provided OpenSSL libraries: http://www.egenix.com/products/python/pyOpenSSL/ pyOpenSSL is an open-source Python add-on that allows writing SSL/TLS- aware network applications as well as certificate management tools: https://launchpad.net/pyopenssl/ OpenSSL is an open-source implementation of the SSL/TLS protocol: http://www.openssl.org/ ________________________________________________________________________ NEWS This new release of the eGenix.com pyOpenSSL Distribution updates only the included OpenSSL version to address a serious bug in OpenSSL 1.0.1 versions: New in OpenSSL -------------- * Updated included OpenSSL libraries from OpenSSL 1.0.1e to 1.0.1f. See http://www.openssl.org/news/news.html and http://www.openssl.org/news/vulnerabilities.html for a complete list of changes, most important: - CVE-2014-0160 ("Heartbleed Bug"): A missing bounds check in the handling of the TLS heartbeat extension can be used to reveal up to 64kB of memory to a connected client or server. This issue did not affect versions of OpenSSL prior to 1.0.1. For information, also have a look at the Heartbeet Bug website: http://heartbleed.com/ As always, we provide binaries that include both pyOpenSSL and the necessary OpenSSL libraries for all supported platforms: Windows x86 and x64, Linux x86 and x64, Mac OS X PPC, x86 and x64. We've also added egg-file distribution versions of our eGenix.com pyOpenSSL Distribution for Windows, Linux and Mac OS X to the available download options. These make setups using e.g. zc.buildout and other egg-file based installers a lot easier. ________________________________________________________________________ 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. ________________________________________________________________________ MORE INFORMATION For more information about the eGenix pyOpenSSL Distribution, licensing and download instructions, please visit our web-site or write to sales at egenix.com. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source >>> 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 paulogpoiati at gmail.com Mon Apr 7 21:06:51 2014 From: paulogpoiati at gmail.com (Paulo Poiati) Date: Mon, 7 Apr 2014 16:06:51 -0300 Subject: ANN: vim-pythontest Message-ID: Available at?https://github.com/poiati/vim-pythontest. This is basically a version of the excellent?https://github.com/skalnik/vim-vroom?for python projects. This script is context aware, if you are in the root of a Django project (the directory where?manage.py?is located) it will run the Django test runner, otherwise it will run the command?python -m unittest. --? Paulo Poiati Sent with Airmail From g.rodola at gmail.com Sat Apr 12 00:30:42 2014 From: g.rodola at gmail.com (Giampaolo Rodola') Date: Sat, 12 Apr 2014 00:30:42 +0200 Subject: ANN: pyftpdlib 1.3.1 released Message-ID: Hello, I'm pleased to announce release 1.3.1 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 very fast asynchronous FTP/S servers with Python. === Changes === - #282: async IO loop now uses /dev/poll on Solaris (far more scalable than poll()) - #262: FTPS is now able to load a certificate chain file. - #277: added a make file for running tests and for other repetitive tasks (also for Windows). - #281: source tarballs are now hosted on PYPI to make "pip install pyftpdlib" easier. - #283: fixed a pretty annoying logging-related issue. - #261: (FTPS) SSL shutdown() was broken on Windows. === Links === * Online docs: http://code.google.com/p/pyftpdlib/wiki/Tutorial * FAQs: http://code.google.com/p/pyftpdlib/wiki/FAQ * Issue tracker: http://code.google.com/p/pyftpdlib/issues/list -- Giampaolo - http://grodola.blogspot.com From inigoserna at gmail.com Sun Apr 13 14:10:09 2014 From: inigoserna at gmail.com (=?UTF-8?B?ScOxaWdvIFNlcm5h?=) Date: Sun, 13 Apr 2014 14:10:09 +0200 Subject: ANN: MyNewspaper v4.0 Message-ID: Hi there, I'm really pleased to announce a new release of MyNewspaper, a web-based personal ATOM/RSS aggregator and feeds reader. This new version has been completely rewritten from scratch. It's under GNU Affero GPL License version 3 or later. Some technical points of interest: - written in Python 3.2+ - backend based on BottlePy web micro framework, FeedParser, SQLite, DateUtil - frontend with javascript (jQuery, jQueryUI) More information, and download link at: - [main] https://inigo.katxi.org/devel/mynewspaper - [code repository] https://bitbucket.org/inigoserna/mynewspaper4 BLURB: MyNewspaper can be considered an old project, as first version dates from 2005, and since then it has adopted and adapted different web paradigms: CGI running on a web server in v1.0, pure web app in v2.0, javascript and AJAX for v3.0. A couple of years after v3.0 release I abandoned it to join Google Reader wave, but since the announce of its shutdown I turned to MyNewspaper as I didn't like any of the alternatives. Thus I rewrote from scratch all the code. It was fast, I had a working version in a month, many weeks before Google Reader closed, but then it took about 10 months more to write the documentation? Anyway, this is now version 4.0, a very fast and nice web-based feeds reader for personal use. Of course, all comments, suggestions etc. are welcome. Best regards, I?igo Serna From phd at phdru.name Sun Apr 13 14:28:52 2014 From: phd at phdru.name (Oleg Broytman) Date: Sun, 13 Apr 2014 14:28:52 +0200 Subject: SQLObject 1.5.2 Message-ID: <20140413122852.GB7243@phdru.name> Hello! I'm pleased to announce version 1.5.2, the second bugfix release of branch 1.5 of SQLObject. What's new in SQLObject ======================= * Adapt duplicate error message strings for SQLite 3.8. Contributor for this release is Neil Muller. For a more complete list, please see the news: http://sqlobject.org/News.html What is SQLObject ================= SQLObject is an object-relational mapper. Your database tables are described as classes, and rows are instances of those classes. SQLObject is meant to be easy to use and quick to get started with. SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB). Where is SQLObject ================== Site: http://sqlobject.org Development: http://sqlobject.org/devel/ Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Archives: http://news.gmane.org/gmane.comp.python.sqlobject Download: https://pypi.python.org/pypi/SQLObject/1.5.2 News and changes: http://sqlobject.org/News.html Oleg. -- Oleg Broytman http://phdru.name/ phd at phdru.name Programmers don't die, they just GOSUB without RETURN. From inigoserna at gmail.com Sun Apr 13 17:10:27 2014 From: inigoserna at gmail.com (=?UTF-8?B?ScOxaWdvIFNlcm5h?=) Date: Sun, 13 Apr 2014 17:10:27 +0200 Subject: ANN: Bookmarks v1.0 Message-ID: Hi there, Bookmarks is a simple personal web-based application to manage web bookmarks. It's written in Python 3.2+ and uses BottlePy web microframework and jQuery javascript library. Both are included with the package. It was coded as a funny practice, but it includes some nice features: advanced search, tags cloud, years cloud. I think this little application can be useful for anyone learning Python web programming. It's under GNU Affero GPL License version 3 or later. More information, and download link at: - [main] https://inigo.katxi.org/devel/bookmarks - [code repository] https://bitbucket.org/inigoserna/bookmarks Of course, all comments, suggestions etc. are welcome. Best regards, I?igo Serna From doug.blank at gmail.com Mon Apr 14 05:52:34 2014 From: doug.blank at gmail.com (Doug Blank) Date: Sun, 13 Apr 2014 23:52:34 -0400 Subject: Calico Scheme in Python Message-ID: We are writing to let you know of a recent spin-off from our Scheme implementation work: we now have a version implemented in Python. This is a full Scheme with proper tail-call recursion handling written in Python. We also added some interesting Python-Scheme interactions: * Scheme can use Python functions and libraries * You can define Scheme functions for use in Python * Python's list class serves the role for Scheme's vector class Some sample uses: You can just use calicoscheme.py as a script in Python, IronPython, or Jython: $ python calicoscheme.py Calico Scheme, version 3.0.0 ---------------------------- Use (exit) to exit ==> (+ 1 1) 2 This environment has access to Python's built-ins through calicoscheme.ENVIRONMENT: ==> (sum '(1 2 3)) sum is found in the Python environment. You can also import and use Python libraries directly: ==> (using "math" "numpy") (math numpy) ==> (math.sin 3.14) 0.0015926529164868282 ==> (numpy.array 10) array(100) ==> (exit) # or control+d You can also use calicoscheme inside Python: $ python >>> import calicoscheme >>> calicoscheme.ENVIRONMENT = globals() # set the environment to the locals here >>> calicoscheme.start_rm() ==> (+ 1 1) 2 ==> (define! f (lambda (n) (+ n 1))) ### define! puts it in the external env ==> (exit) goodbye And back in Python you can call the define! function using Scheme's infrastructure: >>> f(100) 101 You can also call into Scheme like so: >>> calicoscheme.execute_string_rm("(define x 23)") >>> calicoscheme.execute_string_rm("x") 23 To download and get more information, please see: http://calicoproject.org/Calico_Scheme From faltet at gmail.com Mon Apr 14 11:32:53 2014 From: faltet at gmail.com (Francesc Alted) Date: Mon, 14 Apr 2014 11:32:53 +0200 Subject: ANN: numexpr 2.4 is out Message-ID: <534BAB45.3090906@gmail.com> ======================== Announcing Numexpr 2.4 ======================== 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. It wears multi-threaded capabilities, as well as support for Intel's MKL (Math Kernel Library), which allows an extremely fast evaluation of transcendental functions (sin, cos, tan, exp, log...) while squeezing the last drop of performance out of your multi-core processors. Look here for a some benchmarks of numexpr using MKL: https://github.com/pydata/numexpr/wiki/NumexprMKL Its only dependency is NumPy (MKL is optional), so it works well as an easy-to-deploy, easy-to-use, computational engine for projects that don't want to adopt other solutions requiring more heavy dependencies. What's new ========== A new `contains()` function has been added for detecting substrings in strings. Only plain strings (bytes) are supported for now (see ticket #142). Thanks to Marcin Krol. You can have a glimpse on how `contains()` works in this notebook: http://nbviewer.ipython.org/gist/FrancescAlted/10595974 where it can be seen that this can make substring searches more than 10x faster than with regular Python. You can find the source for the notebook here: https://github.com/FrancescAlted/ngrams Also, there is a new version of setup.py that allows better management of the NumPy dependency during pip installs. Thanks to Aleks Bunin. Windows related bugs have been addressed and (hopefully) squashed. Thanks to Christoph Gohlke. In case you want to know more in detail what has changed in this version, see: https://github.com/pydata/numexpr/wiki/Release-Notes or have a look at RELEASE_NOTES.txt in the tarball. Where I can find Numexpr? ========================= The project is hosted at GitHub in: https://github.com/pydata/numexpr You can get the packages from PyPI as well (but not for RC releases): http://pypi.python.org/pypi/numexpr Share your experience ===================== Let us know of any bugs, suggestions, gripes, kudos, etc. you may have. Enjoy data! -- Francesc Alted -- Francesc Alted From itamar at itamarst.org Mon Apr 14 16:31:02 2014 From: itamar at itamarst.org (Itamar Turner-Trauring) Date: Mon, 14 Apr 2014 10:31:02 -0400 Subject: Crochet 1.2.0 - Use Twisted Anywhere! Message-ID: Crochet is an MIT-licensed library that makes it easier to use Twisted from regular blocking code. Some use cases include: * Easily use Twisted from a blocking framework like Django or Flask. * Write a library that provides a blocking API, but uses Twisted for its implementation. * Port blocking code to Twisted more easily, by keeping a backwards compatibility layer. * Allow normal Twisted programs that use threads to interact with Twisted more cleanly from their threaded parts. For example this can be useful when using Twisted as a WSGI container. New in this release: * crochet.wait_for implements the timeout/cancellation pattern documented in previous versions of Crochet. * Functions wrapped with wait_for and run_in_reactor can now be accessed via the wrapped_function attribute, to ease unit testing of the underlying Twisted code. * Bug fixes, documentation improvements and more - for a full list see the Crochet can be downloaded from https://pypi.python.org/pypi/crochet [1] Documentation can be found at http://crochet.readthedocs.org [2] Bugs and feature requests should be filed at the project https://github.com/itamarst/crochet [3] Here's an example of a program using Crochet. Notice that you get a completely blocking interface to Twisted and do not need to run the Twisted reactor, the event loop, yourself. #!/usr/bin/python """ Do a DNS lookup using Twisted's APIs. """ from __future__ import print_function # The Twisted code we'll be using: from twisted.names import client from crochet import setup, wait_for setup() # Crochet layer, wrapping Twisted's DNS library in a blocking call. @wait_for(timeout=5.0) def gethostbyname(name): """Lookup the IP of a given hostname. Unlike socket.gethostbyname() which can take an arbitrary amount of time to finish, this function will raise crochet.TimeoutError if more than 5 seconds elapse without an answer being received. """ d = client.lookupAddress(name) d.addCallback(lambda result: result[0][0].payload.dottedQuad()) return d if __name__ == '__main__': # Application code using the public API - notice it works in a normal # blocking manner, with no event loop visible: import sys name = sys.argv[1] ip = gethostbyname(name) print(name, "->", ip) Run on the command line: > $ python blockingdns.py twistedmatrix.com > twistedmatrix.com -> 66.35.39.66 Links: ------ [1] https://pypi.python.org/pypi/crochet [2] https://crochet.readthedocs.org/ [3] https://github.com/itamarst/crochet From bryanv at continuum.io Thu Apr 17 17:39:17 2014 From: bryanv at continuum.io (Bryan Van de Ven) Date: Thu, 17 Apr 2014 10:39:17 -0500 Subject: ANN: Bokeh 0.4.4 released Message-ID: <04ABA224-2EFD-44E5-8C73-D0277E393C6E@continuum.io> I am happy to announce the release of Bokeh version 0.4.4! Bokeh is a Python library for visualizing large and realtime datasets on the web. Its goal is to provide elegant, concise construction of novel graphics in the style of Protovis/D3, while delivering high-performance interactivity to thin clients. Bokeh includes its own Javascript library (BokehJS) that implements a reactive scenegraph representation of the plot, and renders efficiently to HTML5 Canvas. Bokeh works well with IPython Notebook, but can generate standalone graphics that embed into regular HTML. If you are a Matplotlib user, you can just use %bokeh magic to start interacting with your plots in the notebook immediately! Check out the full documentation, interactive gallery, and tutorial at http://bokeh.pydata.org If you are using Anaconda, you can install with conda: conda install bokeh Alternatively, you can install with pip: pip install bokeh We are still working on some bigger features but want to get new fixes and functionality out to users as soon as we can. Some notable features of this release are: * Additional Matplotlib, ggplot, and Seaborn compatibility (styling, more examples) * TravisCI testing integration at https://travis-ci.org/ContinuumIO/bokeh * Tool enhancements, constrained pan/zoom, more hover glyphs * Server remote data and downsampling examples * Initial work for Bokeh "app" concept Also, we've also made lots of little bug fixes and enhancements - see the CHANGELOG for full details. BokehJS is also available by CDN for use in standalone javascript applications: http://cdn.pydata.org/bokeh-0.4.4.js http://cdn.pydata.org/bokeh-0.4.4.css http://cdn.pydata.org/bokeh-0.4.4.min.js http://cdn.pydata.org/bokeh-0.4.4.min.css Some examples of BokehJS use can be found on the Bokeh JSFiddle page: http://jsfiddle.net/user/bokeh/fiddles/ The release of Bokeh 0.5 is planned for early May. Some notable features we plan to include are: * Abstract Rendering for semantically meaningful downsampling of large datasets * Better grid-based layout system, using Cassowary.js * More MPL/Seaborn/ggplot.py compatibility and examples, using MPLExporter * Additional tools, improved interactions, and better plot frame * Touch support Issues, enhancement requests, and pull requests can be made on the Bokeh Github page: https://github.com/continuumio/bokeh Questions can be directed to the Bokeh mailing list: bokeh at continuum.io If you have interest in helping to develop Bokeh, please get involved! Special thanks to recent contributors: Amy Troschinetz and Gerald Dalley Bryan Van de Ven Continuum Analytics http://continuum.io From ptmcg at austin.rr.com Sat Apr 19 08:44:03 2014 From: ptmcg at austin.rr.com (Paul McGuire) Date: Fri, 18 Apr 2014 23:44:03 -0700 (PDT) Subject: ANN: pyparsing 2.0.2 released Message-ID: I'm happy to announce a new release of pyparsing, version 2.0.2. This release contains some small enhancements and some bugfixes. Change summary: --------------- - Extended "expr(name)" shortcut (same as "expr.setResultsName(name)") to accept "expr()" as a shortcut for "expr.copy()". - Added "locatedExpr(expr)" helper, to decorate any returned tokens with their location within the input string. Adds the results names locn_start and locn_end to the output parse results. - Added "pprint()" method to ParseResults, to simplify troubleshooting and prettified output. Now instead of importing the pprint module and then writing "pprint.pprint(result)", you can just write "result.pprint()". This method also accepts additional positional and keyword arguments (such as indent, width, etc.), which get passed through directly to the pprint method (see http://docs.python.org/2/library/pprint.html#pprint.pprint). - Removed deprecation warnings when using '<<' for Forward expression assignment. '<<=' is still preferred, but '<<' will be retained for cases where '<<=' operator is not suitable (such as in defining lambda expressions). - Expanded argument compatibility for classes and functions that take list arguments, to now accept generators as well. - Extended list-like behavior of ParseResults, adding support for append and extend. NOTE: if you have existing applications using these names as results names, you will have to access them using dict-style syntax: res["append"] and res["extend"] - ParseResults emulates the change in list vs. iterator semantics for methods like keys(), values(), and items(). Under Python 2.x, these methods will return lists, under Python 3.x, these methods will return iterators. - ParseResults now has a method haskeys() which returns True or False depending on whether any results names have been defined. This simplifies testing for the existence of results names under Python 3.x, which returns keys() as an iterator, not a list. - ParseResults now supports both list and dict semantics for pop(). If passed no argument or an integer argument, it will use list semantics and pop tokens from the list of parsed tokens. If passed a non-integer argument (most likely a string), it will use dict semantics and pop the corresponding value from any defined results names. A second default return value argument is supported, just as in dict.pop(). - Fixed bug in markInputline, thanks for reporting this, Matt Grant! - Cleaned up my unit test environment, now runs with Python 2.6 and 3.3. Download pyparsing 2.0.2 at http://sourceforge.net/projects/pyparsing/, or use 'easy_install pyparsing'. You can also access pyparsing's epydoc documentation online at http://packages.python.org/pyparsing/. The pyparsing Wiki is at http://pyparsing.wikispaces.com. -- Paul ======================================== Pyparsing is a pure-Python class library for quickly developing recursive-descent parsers. Parser grammars are assembled directly in the calling Python code, using classes such as Literal, Word, OneOrMore, Optional, etc., combined with operators '+', '|', and '^' for And, MatchFirst, and Or. No separate code-generation or external files are required. Pyparsing can be used in many cases in place of regular expressions, with shorter learning curve and greater readability and maintainability. Pyparsing comes with a number of parsing examples, including: - "Hello, World!" (English, Korean, Greek, and Spanish(new)) - chemical formulas - Verilog parser - Google protobuf parser - time expression parser/evaluator - configuration file parser - web page URL extractor - 5-function arithmetic expression parser - subset of CORBA IDL - chess portable game notation - simple SQL parser - Mozilla calendar file parser - EBNF parser/compiler - Python value string parser (lists, dicts, tuples, with nesting) (safe alternative to eval) - HTML tag stripper - S-expression parser - macro substitution preprocessor From perica.zivkovic at gmail.com Sat Apr 19 17:48:16 2014 From: perica.zivkovic at gmail.com (Perica Zivkovic) Date: Sat, 19 Apr 2014 08:48:16 -0700 (PDT) Subject: ANN: Portable Python 2.7.6.1 Message-ID: <1d0a0c76-3f17-47ad-b8ce-28b41b9fc8d0@googlegroups.com> Dear people, I would like to announce new release of the Portable Python based on Python 2.7.6 Included in this release: ------------------------- * PyScripter v2.5.3 * PyCharm Community Edition 3.1.2 (Thanks to cebik) * NymPy 1.8.1 * SciPy 0.13.3 * Matplotlib 1.3.1 * PyWin32 218 * Django 1.6.2 * PIL 1.1.7 * Py2Exe 0.6.9 * wxPython 3.0.0.0 * NetworkX 1.7 * Lxml 3.3.4 * PySerial 2.7 * PyODBC 3.0.7 * PyGame 1.9.1 * PyGTK 2.24.2 * PyQt 4.10.4 * IPython 1.2.1 * Pandas 0.11.0 * Dateutil 2.2 * PyParsing 2.0.1 * Six 1.6.1 * XLRD 0.9.2 * XLWT 0.7.5 * XLUtils 1.7.0 * OpenPyXL 1.8.5 Improvements since last release: -------------------------------- Upgraded most of the libraries to the latest available versions and fixed lots of configuration bugs. Added * PyCharm (kudos to Cebik!) * Dateutil * PyParsing * Six * Libraries for Excel (XLRD, XLWT, XLUtils and OpenPyXL) Installation and use: --------------------- After downloading, run the installer, select the packages you would like to install, select the target folder and you are done! In the root folder of the distribution you will find shortcuts for selected applications. Some of the most popular free Python IDE's come preinstalled and preconfigured with Portable Python. How to use and configure them further please consult their documentation or project sites. Download location: http://portablepython.com/wiki/PortablePython2.7.6.1 Warning: Default installation installs all packages - make sure to review packages selection during installation process as it can take quite some time to install 800+MB on the USB drive(s). Please use "feedback and support" section on the portal to request new packages or to report issues. Keep pythoning ! Perica Zivkovic http://www.PortablePython.com From sylvain.thenault at logilab.fr Tue Apr 22 12:05:17 2014 From: sylvain.thenault at logilab.fr (Sylvain =?utf-8?B?VGjDqW5hdWx0?=) Date: Tue, 22 Apr 2014 12:05:17 +0200 Subject: =?utf-8?B?W0FOTl3CoFB5bGlu?= =?utf-8?Q?t?= 1.2 released Message-ID: <20140422100517.GE9494@logilab.fr> Hi there, Pylint 1.2 has been uploaded to pypi by the end of the last week! More info on this heavy release on http://www.logilab.org/blogentry/240019. As usual, feedback and comments welcome. Enjoy! -- Sylvain Th?nault, LOGILAB, Paris (01.45.32.03.12) - Toulouse (05.62.17.16.42) Formations Python, Debian, M?th. Agiles: http://www.logilab.fr/formations D?veloppement logiciel sur mesure: http://www.logilab.fr/services CubicWeb, the semantic web framework: http://www.cubicweb.org From stagi.andrea at gmail.com Tue Apr 22 20:18:51 2014 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Tue, 22 Apr 2014 20:18:51 +0200 Subject: ANN Nanpy 0.9 Message-ID: Hi all, I'm glad to announce you Nanpy 0.9 release! https://pypi.python.org/pypi/nanpy/0.9 The main purpose of Nanpy is making programmers' life easier, giving them something to create prototypes faster and use Arduino in a simpler way, thanks to a simple and powerful language like Python. Also Nanpy can run on RaspberryPi (tested with Raspbian http://www.raspbian.org/) so you can use it for communicating with Arduino :) Let's start with a classic example, turn on a led placed in the 13th pin.. from nanpy import (ArduinoApi, SerialManager) connection = SerialManager() a = ArduinoApi(connection=connection) a.pinMode(13, a.OUTPUT) a.digitalWrite(13, a.HIGH) NOTE: you can also use the old serial_manager global object There are a lot of projects able to do that. Nanpy can do more! Nanpy is easily extensible and can theoretically use every library, allowing you to create how many objects you want. We started supporting OneWire, Lcd, Stepper and Servo library and they're still incomplete. Let's try to connect our 16x2 lcd screen on pins 7, 8, 9, 10, 11, 12 and print something! connection = SerialManager() lcd = Lcd([7, 8, 9, 10, 11, 12], [16, 2], connection=connection) lcd.printString("Hello World!") really straightforward now, isn't it? :) Multithreading -------------- What happens if you call methods in an async context? Nothing bad, all works! every call is mutually exclusive.. For example, suppose that two threads need to write on the same Lcd and in different positions at the same time... well, just call printString on the Lcd object specifying the position (row and column) #Thread_1 ... lcd.printString("Hello First Row!", 0, 0) ... #Thread_2 .... lcd.printString("Hello Second Row!", 0, 1) ... How to build and install ------------------------ You need to build the firmware for your Arduino first, just clone the firmware repository at https://github.com/nanpy/firmware and follow the README to configure and build it. To install Nanpy Python library just type (as root): python setup.py install How to use ---------- ### Serial communication Nanpy autodetects the serial port for you, anyway you can specify another serial port manually: from nanpy import SerialManager connection = SerialManager(device='/dev/ttyACM1') ### Import modules Import all the modules you need :) from nanpy import Arduino from nanpy import (OneWire, Lcd) ... How to contribute ----------------- Nanpy needs a lot of work to be a great tool. You can contribute with patches (bugfixing, writing improvements, creating support for a new library not included in Nanpy yet, writing examples and so on), writing documentation, reporting bugs, creating packages or simply spreading Nanpy through the web if you like it :) If you have any doubt or problem, please contact me at Do you want to support us with a coffee? We need it to code all night long! if you like this project and you want to support it with some cents, please donate :) https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TDTPP5JHVJK8J -- Andrea Stagi (@4stagi) - Develer S.r.l Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From info at egenix.com Thu Apr 24 10:47:16 2014 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Thu, 24 Apr 2014 10:47:16 +0200 Subject: ANN: eGenix mxODBC Connect 2.0.5 - Python ODBC Database Interface Message-ID: <5358CF94.9000208@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mxODBC Connect Python ODBC Database Interface Version 2.0.5 mxODBC Connect is our commercially supported client-server product for connecting Python applications to relational databases in a truly platform independent way. This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.0.5-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, convenient and secure way. Python Database Connectivity the Easy 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 royalty-free Python client library which connects directly to the mxODBC Connect database server over the network. This makes mxODBC Connect a great basis for writing cross-platform multi-tier database applications 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. Ideal for Database Driven Client Applications --------------------------------------------- By removing the need to install and configure ODBC drivers on the client side and dealing with complicated network setups for each set of drivers, mxODBC Connect greatly simplifies deployment 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 have a look at the mxODBC Connect product page, in particular, the full list of available features. For more information, please see the product page: http://www.egenix.com/products/python/mxODBCConnect/ ________________________________________________________________________ NEWS The 2.0.5 release of mxODBC Connect includes the following enhancements and fixes: Security Enhancements --------------------- * Upgraded client and server to the most recent eGenix pyOpenSSL Distribution 0.13.3.1.0.1.7 (see http://egenix.com/go54 for details) to address the recently found Heartbleed Bug in OpenSSL 1.0.1 - 1.0.1f: - CVE-2014-0160 ("Heartbleed Bug"): A missing bounds check in the handling of the TLS heartbeat extension can be used to reveal up to 64kB of memory to a connected client or server. This issue did not affect versions of OpenSSL prior to 1.0.1. For information, also have a look at the Heartbleed Bug website: http://heartbleed.com/ For the full set of changes, please check the mxODBC Connect change log: http://www.egenix.com/products/python/mxODBCConnect/changelog.html mxODBC Connect 2.0 Highlights ----------------------------- mxODBC Connect 2.0 was released on 2012-08-20. These are the most important highlights: * mxODBC Connect Server now uses mxODBC 3.2 internally and makes its API available in the mxODBC Connect Client. This is a major step forward from the mxODBC 3.0 version used in mxODBC Connect Server 1.0. * We've added native Windows x64 builds. * mxODBC Connect Client now integrates directly with gevent, allowing client applications to run asynchronous tasks while performing remote database queries. Please see the release announcement for full details: http://www.egenix.com/company/news/eGenix-mxODBC-Connect-2.0.0-GA.html ________________________________________________________________________ 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 2.0 licenses can continue to use their licenses with this patch level release. Customers who have purchased mxODBC Connect 1.x licenses can request 20% discount coupons for upgrade purchases. Please contact the eGenix.com Sales Team (sales at egenix.com) with your existing license serials for details. 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. _______________________________________________________________________ INFORMATION About Python (http://www.python.org/): Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges. About eGenix (http://www.egenix.com/): eGenix is a software project, consulting and product company focusing on expert project services and professional quality products for companies, Python users and developers. Enjoy, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source >>> 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 info at egenix.com Thu Apr 24 11:56:10 2014 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Thu, 24 Apr 2014 11:56:10 +0200 Subject: ANN: Python Meeting =?UTF-8?B?RMO8c3NlbGRvcmYgLSAyOS4wNC4yMDE0?= Message-ID: <5358DFBA.9050409@egenix.com> [This announcement is in German since it targets a local user group meeting in D?sseldorf, Germany] ________________________________________________________________________ ANK?NDIGUNG Python Meeting D?sseldorf http://pyddf.de/ Ein Treffen von Python Enthusiasten und Interessierten in ungezwungener Atmosph?re. Dienstag, 29.04.2014, 19:00 Uhr Raum 1, 2.OG im B?rgerhaus Stadtteilzentrum Bilk D?sseldorfer Arcaden, Bachstr. 145, 40217 D?sseldorf Diese Nachricht ist auch online verf?gbar: http://www.egenix.com/company/news/Python-Meeting-Duesseldorf-2014-04-29 ________________________________________________________________________ NEUIGKEITEN * Bereits angemeldete Vortr?ge: Charlie Clark "Status openpyxl, bzw. L?sung neuer Probleme" "IndexedList - eine Liste optimiert f?r "in" Abfragen" "Bericht von der PyCon 2014 in Montreal" Marc-Andre Lemburg "Python Code mit lib2to3 modernisieren" "DDOS Attacken mit Python bek?mpfen" "Bericht von der FOSDEM 2014" Wir suchen noch weitere Vortr?ge. Bei Interesse, bitte unter info at pyddf.de melden. * Ge?nderte Startzeit: Dieses Mal treffen wir uns erst um 19:00 Uhr im B?rgerhaus in den D?sseldorfer Arcaden, da wir keinen Termin f?r 18 Uhr bekommen haben. Hier eine kurze Beschreibung: Das B?rgerhaus teilt sich den Eingang mit dem Schwimmbad und befindet sich an der Seite der Tiefgarageneinfahrt der D?sseldorfer Arcaden. ?ber dem Eingang steht ein gro?es ?Schwimm?'in Bilk? Logo. Hinter der T?r direkt links zu den zwei Aufz?gen, dann in den 2. Stock hochfahren. Der Eingang zum Raum 1 liegt direkt links, wenn man aus dem Aufzug kommt. Google Street View: http://bit.ly/11sCfiw ________________________________________________________________________ EINLEITUNG Das Python Meeting D?sseldorf ist eine regelm??ige Veranstaltung in D?sseldorf, die sich an Python Begeisterte aus der Region wendet: * http://pyddf.de/ Einen guten ?berblick ?ber die Vortr?ge bietet unser YouTube-Kanal, auf dem wir die Vortr?ge nach den Meetings ver?ffentlichen: * http://www.youtube.com/pyddf/ Veranstaltet wird das Meeting von der eGenix.com GmbH, Langenfeld, in Zusammenarbeit mit Clark Consulting & Research, D?sseldorf: * http://www.egenix.com/ * http://www.clark-consulting.eu/ ________________________________________________________________________ PROGRAMM Das Python Meeting D?sseldorf nutzt eine Mischung aus Open Space und Lightning Talks, wobei die Gewitter bei uns auch schon mal 20 Minuten dauern k?nnen ;-). Lightning Talks k?nnen vorher angemeldet werden, oder auch spontan w?hrend des Treffens eingebracht werden. Ein Beamer mit XGA Aufl?sung steht zur Verf?gung. Folien bitte als PDF auf USB Stick mitbringen. Lightning Talk Anmeldung bitte formlos per EMail an info at pyddf.de ________________________________________________________________________ KOSTENBETEILIGUNG Das Python Meeting D?sseldorf wird von Python Nutzern f?r Python Nutzer veranstaltet. Um die Kosten zumindest teilweise zu refinanzieren, bitten wir die Teilnehmer um einen Beitrag in H?he von EUR 10,00 inkl. 19% Mwst, Sch?ler und Studenten zahlen EUR 5,00 inkl. 19% Mwst. Wir m?chten alle Teilnehmer bitten, den Betrag in bar mitzubringen. ________________________________________________________________________ ANMELDUNG Da wir nur f?r ca. 20 Personen Sitzpl?tze haben, m?chten wir bitten, sich per EMail anzumelden. Damit wird keine Verpflichtung eingegangen. Es erleichtert uns allerdings die Planung. Meeting Anmeldung bitte formlos per EMail an info at pyddf.de ________________________________________________________________________ WEITERE INFORMATIONEN Weitere Informationen finden Sie auf der Webseite des Meetings: http://pyddf.de/ Mit freundlichen Gr??en, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source >>> 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 info at wingware.com Thu Apr 24 14:55:52 2014 From: info at wingware.com (Wingware) Date: Thu, 24 Apr 2014 08:55:52 -0400 Subject: Wing IDE 5.0.6 released Message-ID: <535909D8.3080402@wingware.com> Hi, Wingware has released version 5.0.6 of Wing IDE, our cross-platform integrated development environment for the Python programming language. Wing IDE includes a professional quality code editor with vi, emacs, visual studio, and other key bindings, auto-completion, call tips, goto-definition, find uses, refactoring, context-aware auto-editing, a powerful graphical debugger, version control, unit testing, search, and many other features. For details see http://wingware.com/ Changes in this minor release include: * New auto-editing operation for starting a new block when ':' is pressed while a range of lines is selected. This also auto-enters 'except:' if 'try' is then entered. * Offer completion on argument names in a def * New Editor > Block Comment Style preference option to use PEP8 style indented '# ' for commenting out code * On OS X, Wing no longer quits when the last window is closed, to match the standard for Mac applications * Restart correctly after downloading patches * Pick up changes made in the debug dialog when debugging a named entry point * Avoid hiding file selection auto-completer popup too soon * Set sys.path[0] correctly in Python Shell on OS X and Linux * Fix cleanup after auto-invocation that spans multiple lines * About 15 other bug fixes For details see http://wingware.com/pub/wingide/5.0.6/CHANGELOG.txt A summary of new features in Wing 5: * Redesigned GUI based on Qt and PySide * Native GUI on OS X (and better overall OS-native look and feel) * Tools and editors can be dragged around * Toolbar and editor and Project context menus are configurable * Optional mode that opens different sets of files in each editor split * Sharable color palettes and syntax highlighting configurations * Auto-editing is on by default (except some operations that have a learning curve) * Named file sets * Sharable launch configurations * Named entry points * More control over unit testing environment * Lockable editor splits * Initial preferences dialog for new users * Support for Python 3.4 * Support for Django 1.6 * Support for matplotlib on Anaconda and with MacOSX backend * Improved Source Assistant with PEP 287 docstring rendering and return types * Improved integrated and PDF documentation For more information on what's new in Wing 5, see http://wingware.com/wingide/whatsnew Free trial: http://wingware.com/wingide/trial Downloads: http://wingware.com/downloads Feature list: http://wingware.com/wingide/features Sales: http://wingware.com/store/purchase Upgrades: https://wingware.com/store/upgrade Questions? Don't hesitate to email us at support at wingware.com. Thanks, -- Stephan Deibel Wingware | Python IDE The Intelligent Development Environment for Python Programmers wingware.com From thomas.calmant at gmail.com Mon Apr 28 11:37:07 2014 From: thomas.calmant at gmail.com (Thomas Calmant) Date: Mon, 28 Apr 2014 02:37:07 -0700 (PDT) Subject: [ANN] iPOPO 0.5.6 Message-ID: =========== iPOPO 0.5.6 =========== iPOPO v0.5.6 has been released ! About iPOPO =========== iPOPO is a service-oriented component model (SOCM) framework for Python, inspired from the Java project iPOJO and from the OSGi specification. What's new in 0.5.6 =================== The Remote Services implementation has been heavily rewritten since 0.5.5. It now supports interactions with Java OSGi services using either: Cohorte Remote Services (https://github.com/isandlaTech/cohorte-remote-services) Eclipse ECF (http://wiki.eclipse.org/ECF) and the Jabsorb-RPC Provider (https://github.com/isandlaTech/cohorte-remote-services/tree/master/org.cohorte.ecf.provider.jabsorb) New features: Added the @BundleActivator decorator, to declare a class as a bundle activator Added the @RequiresMap iPOPO handler Added an iPOPO Waiting List service Added a 'misc' package with utility modules, e.g. an MQTT client Added support for remote services Endpoint Description files (EDEF format) Added MQTT and mDNS remote services discoveries Added Jabsorb-RPC and MQTT-RPC remote services transports You can take a look at the documentation at https://ipopo.coderxpress.net/ iPOPO is available on PyPI: https://pypi.python.org/pypi/iPOPO Feel free to send feedback on your experience of Pelix/iPOPO, via the mailing lists: User list : http://groups.google.com/group/ipopo-users Development list : http://groups.google.com/group/ipopo-dev Have fun ! Thomas From nick at reportlab.com Tue Apr 29 16:04:15 2014 From: nick at reportlab.com (Andy Robinson) Date: Tue, 29 Apr 2014 07:04:15 -0700 (PDT) Subject: ANN: ReportLab PLUS and open source 3.1 released with Python 3 support Message-ID: <30fae0f8-19ae-4539-96e5-83783265bcd7@googlegroups.com> ReportLab are pleased to announce the release of the Python 3-compatible version of our PDF generation toolkit. After an extensive rewrite, both our open-source and commercial frameworks now run under Python 2.7, 3.3 and 3.4, and can be installed with pip or easy_install and managed from standard requirements.txt. The open source code is available with "pip install reportlab", and also from Bitbucket (https://bitbucket.org/rptlab/reportlab/src). Our commercial package - ReportLab PLUS - which sits on top of the ReportLab toolkit - lets you develop documents very quickly directly from your preferred web framework (we use Django for the majority of our projects). - design PDF templates in RML, our own XML dialect, exactly as you would web templates. - include professionally designed artwork and background pages with a single tag using our PageCatcher technology. - create business and custom graphics with identical style in print and web using our Diagra charts. The ability to create personalised, publication quality PDF documents from a CMS in real-time is a game-changer, opening new communication channels and allowing clients to streamline work and save on print. ReportLab PLUS can be tried freely with a nag line, but needs an annual subscription before production use. All subscriptions include support hours and hot-fixes as standard. ReportLab are happy to provide support, mentoring and a design-and-build service. Use the following links for more information: ReportLab software https://www.reportlab.com/software/ RML and other support documents https://www.reportlab.com/software/documentation/ Andy Robinson CEO / Chief Architect ReportLab From duncan at grisby.org Tue Apr 29 23:42:58 2014 From: duncan at grisby.org (Duncan Grisby) Date: Tue, 29 Apr 2014 21:42:58 GMT Subject: New major omniORBpy release, version 4.2.0 Message-ID: I am pleased to announce the release of a new major version of omniORBpy, version 4.2.0. omniORBpy is a high performance free CORBA implementation for Python. omniORB 4.2 has a number of new features compared to omniORB 4.1.x, both large and small. Here are the highlights: - Full Asynchronous Method Invocation (AMI) support. - Support for ZIOP, which compresses large messages. - Call timeouts are indicated with the CORBA.TIMEOUT exception, rather than CORBA.TRANSIENT (unless suppressed with the throwTransientOnTimeout configuration parameter). - Servers can be limited to a range of ports to listen on. - In Python, IDL attributes can now be accessed as properties of object references. i.e. IDL attribute 'example' can be accessed as obj.example as well as with obj._get_example() and obj._set_example(). - Ancient Python versions are no longer supported. omniidl and omniORBpy now only work with Python 2.5 or later. The releases can be downloaded in source and Windows binary forms from SourceForge: https://sourceforge.net/projects/omniorb/files/omniORBpy/omniORBpy-4.2.0/ Thank you to everyone who contributed to these releases in one way or another. Enjoy! Duncan. -- -- Duncan Grisby -- -- duncan at grisby.org -- -- http://www.grisby.org --