From fabiofz at gmail.com Wed Feb 1 20:43:12 2012 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Wed, 1 Feb 2012 17:43:12 -0200 Subject: PyDev 2.4.0 Released Message-ID: Hi All, PyDev 2.4.0 has been released Details on PyDev: http://pydev.org Details on its development: http://pydev.blogspot.com Release Highlights: ------------------------------- PyDev is now faster and uses less memory (many performance and memory improvements were done)! The contents of the homepage are now migrated to a wiki at https://wiki.appcelerator.org/display/tis/Python+Development ... (later most of the homepage will become a mirror of the wiki). Others * Organize imports: Fixed issue where other statements in a commit line got lost (now such a line is ignored). * PyDev Package Explorer: closed project no longer remains with old icons. * Fixed deadlock when setting project as Django. * Fixed issue in code formatting *args on lambda statement. * TODO tags: only searched now in a string/comment partition. * Fixed issue when saving empty document (bad location on code-formatter). * Fixed issue removing comments from document. * Applied patch for internal Jython 2.2.1 to fix list.sort (http://bugs.jython.org/issue1835099). * Fixed resolution of template variable prev_class_or_method and next_class_or_method. What is PyDev? --------------------------- PyDev is a plugin that enables users to use Eclipse for Python, Jython and IronPython development -- making Eclipse a first class Python IDE -- It comes with many goodies such as code completion, syntax highlighting, syntax analysis, refactor, debug and many others. Cheers, -- Fabio Zadrozny ------------------------------------------------------ Software Developer Appcelerator http://appcelerator.com/ Aptana http://aptana.com/ PyDev - Python Development Environment for Eclipse http://pydev.org http://pydev.blogspot.com From chris at chrisarndt.de Thu Feb 2 18:32:54 2012 From: chris at chrisarndt.de (Christopher Arndt) Date: Thu, 02 Feb 2012 18:32:54 +0100 Subject: ANN: pyCologne - next Meeting Wednesday, February 8, 2012, 6:30pm Message-ID: <4F2AC8C6.2050503@chrisarndt.de> It's February, bloody cold and the Carnival season is upon us but that won't deter us from having our monthly pyCologne (Python User Group Cologne) meeting. Don't worry though, we have a "strictly no schunkeln" policy at our session! When: Wednesday, February 8, 2012, 6:30pm Where: Pool 0.14, Benutzerrechenzentrum (computing centre RRZK-B) University of Cologne, Berrenrather Str. 136, 50937 K?ln I'd like to announce the following presentation (in German) for this meeting: - Der Python Software Verband (German Python Association, http://python-verband.org/) by member of the board Jan Ulrich Hasecke After his presentation Jan Ulrich will gladly answer your questions concerning the Python Verband. Additional presentations, lightning talks, news, book presentations etc. are welcome at each of our meetings! >From about 8.30pm we will 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.) See you, Chris From stefan at bytereef.org Thu Feb 2 21:54:04 2012 From: stefan at bytereef.org (Stefan Krah) Date: Thu, 2 Feb 2012 21:54:04 +0100 Subject: [ANN] cdecimal-2.3 released Message-ID: <20120202205404.GA18353@sleipnir.bytereef.org> Hi, I'm pleased to announce the release of cdecimal-2.3. cdecimal is a fast drop-in replacement for the decimal module in Python's standard library. Blurb ===== cdecimal is a complete implementation of IBM's General Decimal Arithmetic Specification. With the appropriate context parameters, cdecimal will also conform to the IEEE 754-2008 Standard for Floating-Point Arithmetic. Typical performance gains over decimal.py are between 30x for I/O heavy benchmarks and 80x for numerical programs. In a PostgreSQL database benchmark, the speedup is 12x. +---------+-------------+--------------+-------------+ | | decimal | cdecimal | speedup | +=========+=============+==============+=============+ | pi | 42.75s | 0.58s | 74x | +---------+-------------+--------------+-------------+ | telco | 172.19s | 5.68s | 30x | +---------+-------------+--------------+-------------+ | psycopg | 3.57s | 0.29s | 12x | +---------+-------------+--------------+-------------+ In the pi benchmark, cdecimal often performs better than Java's BigDecimal running on Java HotSpot(TM) 64-Bit Server VM. What's New ========== o The underlying library - libmpdec - now has a very comprehensive test suite against decNumber. o libmpdec now has full support for compilers without uint64_t. o Code coverage of cdecimal has been increased to 100%. Now both libmpdec and cdecimal have 100% coverage. o Improved code for conversion of small Python integers to Decimals leads to a performance gain of around 15%. o Added real(), imag(), conjugate(), __complex__() methods. o Add Fraction and complex comparisons (enabled for Python 3.2). o Support for DecimalTuple output. Stability ========= Both cdecimal and libmpdec have an extremely conservative release policy. When new features are added, the complete test suite is run both with and without Valgrind on many different platforms. With the added tests against decNumber, this takes around 8 months on four cores. Install ======= Since cdecimal is listed on PyPI, it can be installed using pip: pip install cdecimal Windows installers are available at: http://www.bytereef.org/mpdecimal/download.html Links ===== http://www.bytereef.org/mpdecimal/index.html http://www.bytereef.org/mpdecimal/changelog.html http://www.bytereef.org/mpdecimal/download.html Checksums of the released packages ================================== 03f76f4acbb6e7f648c6efc6e424bbc1b4afb5632dac5196f840e71f603a2b4a mpdecimal-2.3.tar.gz b0fd5bec2cc6a6035bc406339d020d2f4200a7dce8e8136a2850612a06508ed1 mpdecimal-2.3.zip d737cbe43ed1f6ad9874fb86c3db1e9bbe20c0c750868fde5be3f379ade83d8b cdecimal-2.3.tar.gz 84afd94126549a3c67c3bab7437d085347f9d05c cdecimal-2.3.win-amd64-py2.6.msi ba0fbb1f9314dcef29481414a5c3496ec159df2e cdecimal-2.3.win-amd64-py2.7.msi d11bbd560e9cb9d34b0e7a068ac1c1eac5371428 cdecimal-2.3.win-amd64-py3.1.msi d024148ea603dc8e82f8371ebdfaa0e65f5a9945 cdecimal-2.3.win-amd64-py3.2.msi d196a9e0b44dcb75bbf4eda44078b766e6113f72 cdecimal-2.3.win32-py2.6.msi e2b044da6c241df0911059216821c9865cb9e4f0 cdecimal-2.3.win32-py2.7.msi 7e8b47eb3a2f50191e76f981fbe55050f13495e8 cdecimal-2.3.win32-py3.1.msi 61be767b91aab0ba0d602fb2b23f6d882cafec05 cdecimal-2.3.win32-py3.2.msi a2278910a5b447af963e1d427dbeb48f49e377be cdecimal-2.3-no-thread.win-amd64-py2.6.msi 8da96d2f1ab1a98062cd43cb4f381b47309d8c22 cdecimal-2.3-no-thread.win-amd64-py2.7.msi 85cd3ff4496aa7e0d0979d1695eef27cc7735c28 cdecimal-2.3-no-thread.win-amd64-py3.1.msi 6c179a1284aceb3a7bfc481daae1d7d60359d487 cdecimal-2.3-no-thread.win-amd64-py3.2.msi 40f245e907512c5d3602ba5993755a0b4b67ca80 cdecimal-2.3-no-thread.win32-py2.6.msi 960eb9bfd9fcf0faee6493506c1917d46536193a cdecimal-2.3-no-thread.win32-py2.7.msi 42b651ee1bf4c94611c43522d69f1965515949b8 cdecimal-2.3-no-thread.win32-py3.1.msi ec26f14c35502d1d5488d440d7bc22ad41e9ac65 cdecimal-2.3-no-thread.win32-py3.2.msi From software.buy.design at gmail.com Fri Feb 3 03:13:18 2012 From: software.buy.design at gmail.com (Python_Junkie) Date: Thu, 2 Feb 2012 18:13:18 -0800 (PST) Subject: os.stat last accessed attribute Message-ID: I am using the os.stat module to determine a number of file properties. I am finding that a significant number of files are having their last accessed date dynamically modified to the time that the script determines its attributes. I am not opening the files, and the script is not applying this property for all of the files. Any suggestions as to why this might be occurring. Thanks From btimby at gmail.com Fri Feb 3 18:18:44 2012 From: btimby at gmail.com (Ben Timby) Date: Fri, 3 Feb 2012 12:18:44 -0500 Subject: Announcing fulltext. Message-ID: Fulltext is a simple Python library for converting document and media files to text. It's main purpose is for use with full-text indexing systems. https://github.com/btimby/fulltext http://pypi.python.org/pypi/fulltext/0.1-1 For example, to easily extract text from a PDF file: > python > import fulltext > fulltext.get('resume.pdf') 'Experience: ...' From holger at merlinux.eu Mon Feb 6 00:36:28 2012 From: holger at merlinux.eu (holger krekel) Date: Sun, 5 Feb 2012 23:36:28 +0000 Subject: pytest-2.2.2: bug fixes, collectonly improvements Message-ID: <20120205233628.GK26028@merlinux.eu> pytest-2.2.2 is a minor backward-compatible release of the py.test testing tool. It contains bug fixes and a few refinements particularly to reporting with "--collectonly", see below for betails. For general information see here: http://pytest.org/ To install or upgrade pytest: pip install -U pytest # or easy_install -U pytest Special thanks for helping on this release to Ronny Pfannschmidt and Ralf Schmitt and the contributors of issues. best, holger krekel Changes between 2.2.1 and 2.2.2 ---------------------------------------- - fix issue101: wrong args to unittest.TestCase test function now produce better output - fix issue102: report more useful errors and hints for when a test directory was renamed and some pyc/__pycache__ remain - fix issue106: allow parametrize to be applied multiple times e.g. from module, class and at function level. - fix issue107: actually perform session scope finalization - don't check in parametrize if indirect parameters are funcarg names - add chdir method to monkeypatch funcarg - fix crash resulting from calling monkeypatch undo a second time - fix issue115: make --collectonly robust against early failure (missing files/directories) - "-qq --collectonly" now shows only files and the number of tests in them - "-q --collectonly" now shows test ids - allow adding of attributes to test reports such that it also works with distributed testing (no upgrade of pytest-xdist needed) From info at egenix.com Mon Feb 6 14:46:48 2012 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Mon, 06 Feb 2012 14:46:48 +0100 Subject: ANN: eGenix mx Base Distribution 3.2.3 (mxDateTime, mxTextTools, etc.) Message-ID: <4F2FD9C8.3070408@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mx Base Distribution Version 3.2.3 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.3-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.3 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: * Fixed a possible segfault when using the .pydate(), .pydatetime() and .pytime() methods. Thanks to Daniel Szoska for reporting this. 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, Feb 06 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 dmalcolm at redhat.com Mon Feb 6 19:12:12 2012 From: dmalcolm at redhat.com (David Malcolm) Date: Mon, 06 Feb 2012 13:12:12 -0500 Subject: ANN: gcc-python-plugin 0.9 Message-ID: <1328551933.3741.86.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 This release (0.9) is mostly about internal fixes: * support for gcc 4.7 prereleases * the plugin is now properly integrated with GCC's garbage collector, fixing segfaults that could happen when compiling large files (the Python wrapper objects no longer have their underlying GCC objects swept away from under them) * gcc-with-cpychecker's analysis logic has been reworked, fixing numerous bugs, and extending the scope of the checker enough to find 8 previously-missed memory-leak bugs when run upon itself. There are many other improvements. Detailed release notes can be seen at: http://gcc-python-plugin.readthedocs.org/en/latest/0.9.html 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. Enjoy! Dave Malcolm From jason at tishler.net Tue Feb 7 15:53:21 2012 From: jason at tishler.net (Jason Tishler) Date: Tue, 07 Feb 2012 09:53:21 -0500 Subject: Updated Cygwin Package: python-2.6.7-1 Message-ID: <20120207145321.GB3080@tishler.net> New News: === ==== I have updated the version of Python to 2.6.7-1. The tarballs should be available on a Cygwin mirror near you shortly. The following are the changes since the previous release: o upgrade to Python 2.6.7 o build against Unix X11 Tcl/Tk o patch for locale.bind_textdomain_codeset: http://cygwin.com/ml/cygwin/2010-12/msg00431.html o patch for python select() is limited to fds < 64: http://cygwin.com/ml/cygwin/2011-03/msg00651.html o patch for pyexpat crash problem: http://cygwin.com/ml/cygwin/2011-09/msg00095.html Old News: === ==== Python is an interpreted, interactive, object-oriented programming language. If interested, see the Python web site for more details: http://www.python.org/ Please read the README file: /usr/share/doc/Cygwin/python.README since it covers requirements, installation, known issues, etc. Standard News: ======== ==== To update your installation, click on the "Install Cygwin now" link on the http://cygwin.com/ web page. This downloads setup.exe to your system. Then, run setup and answer all of the questions. If you have questions or comments, please send them to the Cygwin mailing list. *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO *** If you want to unsubscribe from the cygwin-announce mailing list, please use the automated form at: http://cygwin.com/lists.html#subscribe-unsubscribe If you need more information on unsubscribing, start reading here: http://sourceware.org/lists.html#unsubscribe-simple Please read *all* of the information on unsubscribing that is available starting at this URL. Jason From toddw at activestate.com Wed Feb 8 21:16:25 2012 From: toddw at activestate.com (Todd Whiteman) Date: Wed, 08 Feb 2012 12:16:25 -0800 Subject: [ANN] Komodo 7 release (Python development tools) Message-ID: <4F32D819.8060503@activestate.com> Hello, My name is Todd. I'm the lead developer for Komodo IDE (Interactive Development Environment) and Komodo Edit (a free, open-source editor) at ActiveState. I wanted to announce that the newest version, Komodo 7, has been released: http://www.activestate.com/komodo-ide Python has long been one of the main languages supported by Komodo, so we're always getting useful feedback and suggestions. For Komodo 7, we've incorporated a lot of this feedback into enhancing our Python features. * Python Code Profiling (IDE only) Users have asked if there is a way to find out why their programs are taking so long to run. Komodo IDE 7 can show a graph of the methods and calls made by your program, so that you can detect where your CPU is being taken up. * Sophisticated Syntax Checking Choose between multiple syntax checkers like PyLint, PyFlakes and PyChecker. Provides language-specific syntax checking for CSS/JavaScript/Django inside HTML template languages like Django. * Code Collaboration (IDE only) We wanted to make pair programming easier. With the collaboration feature, multiple users can edit a document at the same time. It's kind of like Google Docs, but for code editing! * Speed With Komodo 7 you'll notice a lot snappier Komodo start-up time, lower CPU utilization - particularly when idle, and lower memory usage for large projects. * Even more... There are way more features in Komodo 7 than I can outline in a single post, so check out the online web pages for more Komodo 7 enhancements: http://www.activestate.com/komodo-ide/python-editor Again, note that Komodo comes in two different flavours: 1) Komodo Edit - completely free and fully open-source editor, offering smart code completions, syntax checking, code colorizing, sophisticated editing and more. 2) Komodo IDE - a full featured IDE, offering advanced debugging, interactive shells, code browsing, source code control, database integration, unit testing, regular expression tools and more. Try out Komodo 7 and let me know what you think. We really appreciate the support and feedback! Cheers, Todd From animelovin at gmail.com Thu Feb 9 03:30:58 2012 From: animelovin at gmail.com (Etienne Robillard) Date: Wed, 08 Feb 2012 21:30:58 -0500 Subject: notmm 0.4.4 released Message-ID: <4F332FE2.2030006@gmail.com> Hi, I'm very happy to announce the release of the notmm toolkit version 0.4.4 "Never Give Up Never Surrender" available via the Python Cheeseshop! :) New features and major changes includes: . Bundled BlogEngine, LibAuthKit, LibSchevo as third-party apps in extras . Improved Cython support up to 0.15 . Improved stability of core packages, examples, and third-party apps (BlogEngine, LibAuthkit, LibSchevo) . Experimental WebDAV controller using PyWebDAV library . Many Bug Fixes.. :) Download location: http://pypi.python.org/pypi/notmm/0.4.4 A few notes on gthc.org status: Gthc.org and gthcfoundation.org are still down until further notices for technical reasons. Furthermore I'm also looking for cheap alternatives to host a notmm.org domain, so if interested, please let me know. Finally, this project could have never been done without a free-access internet and as SOPA may currently be under status quo in the US, plans for bill C-11 are under way in Canada, threatening once again freedom of expression over this neutral media and environment for content creators, artists, and typical users to develop and share alike without mediocre restrictions, artistic creations which requires most importantly strong net neutrality over ill-defined user-moderation! Best regards, Etienne -- Etienne Robillard Lead Developer and Consultant Green Tea Hackers Club Email: animelovin at gmail.com Website: http://gthcfoundation.org From info at egenix.com Thu Feb 9 16:17:02 2012 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Thu, 09 Feb 2012 16:17:02 +0100 Subject: ANN: eGenix mxODBC Zope Database Adapter 2.0.2 Message-ID: <4F33E36E.3030304@egenix.com> ________________________________________________________________________ ANNOUNCEMENT mxODBC Zope Database Adapter Version 2.0.2 for Zope and the Plone CMS Available for Zope 2.10 and later on Windows, Linux, Mac OS X, FreeBSD and other platforms This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-Zope-DA-2.0.2-GA.html ________________________________________________________________________ INTRODUCTION The eGenix mxODBC Zope Database Adapter allows you to easily connect your Zope or Plone installation to just about any database backend on the market today, giving you the reliability of the commercially supported eGenix product mxODBC and the flexibility of the ODBC standard as middle-tier architecture. The mxODBC Zope Database Adapter is highly portable, just like Zope itself and provides a high performance interface to all your ODBC data sources, using a single well-supported interface on Windows, Linux, Mac OS X, FreeBSD and other platforms. This makes it ideal for deployment in ZEO Clusters and Zope hosting environments where stability and high performance are a top priority, establishing an excellent basis and scalable solution for your Plone CMS. Product page: http://www.egenix.com/products/zope/mxODBCZopeDA/ ________________________________________________________________________ NEWS We are pleased to announce a new version 2.0.2 of our mxODBC Zope DA product. With the patch level 2.0.2 release we have updated the integrated mxODBC Python Extension to the latest 3.1.1 release, which includes a number of important workarounds for these ODBC drivers: * Oracle 10gR1 and 10gR2 * Oracle 11gR1 and 11gR2 * Teradata 13 * Netezza Due to popular demand, we have also added instructions on how to install mxODBC Zope DA 2.0 with Plone 4.1 and Zope 2.13 - even though this combination is not officially supported by the mxODBC Zope DA 2.0 series: http://www.egenix.com/products/zope/mxODBCZopeDA/#Installation ________________________________________________________________________ UPGRADING Licenses purchased for version 2.0.x of the mxODBC Zope DA will continue to work with the 2.0.2 patch level release. Licenses purchased for version 1.0.x of the mxODBC Zope DA will not work with version 2.0. More information about available licenses is available on the product page: http://www.egenix.com/products/zope/mxODBCZopeDA/#Licensing Compared to the popular mxODBC Zope DA 1.0, version 2.0 offers these enhancements: * Includes mxODBC 3.1 with updated support for many current ODBC drivers, giving you more portability and features for a wider range of database backends. * Mac OS X 10.6 (Snow Leopard) support. * Plone 3.2, 3.3, 4.0 support. Plone 4.1 works as well. * Zope 2.10, 2.11, 2.12 support. Zope 2.13 works as well. * Python 2.4 - 2.6 support. * Zero maintenance support to automatically reconnect the Zope connection after a network or database problem. * More flexible Unicode support with options to work with pure Unicode, plain strings or mixed setups - even for databases that don't support Unicode * Automatic and transparent text encoding and decoding * More flexible date/time support including options to work with Python datetime objects, mxDateTime, strings or tuples * New decimal support to have the Zope DA return decimal column values using Python's decimal objects. * Fully eggified to simplify easy_install and zc.buildout based installation ________________________________________________________________________ MORE INFORMATION For more information on the mxODBC Zope Database Adapter, licensing and download instructions, please visit our web-site: http://www.egenix.com/products/zope/mxODBCZopeDA/ You can buy mxODBC Zope DA licenses online from the eGenix.com shop at: http://shop.egenix.com/ ________________________________________________________________________ Thank you, -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Feb 09 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 dieterv at optionexplicit.be Thu Feb 9 22:44:04 2012 From: dieterv at optionexplicit.be (Dieter Verfaillie) Date: Thu, 09 Feb 2012 22:44:04 +0100 Subject: ANNOUNCE: PyGTK All-in-one Installer 2.24.2 Message-ID: <4F343E24.1020903@optionexplicit.be> We are pleased to announce release 2.24.2 of the PyGTK All-in-one installer for Windows. More information can be found in the README file at: http://download.gnome.org/binaries/win32/pygtk/2.24/pygtk-all-in-one.README * What is it? ============= The PyGTK All-in-one installer provides an alternative installation method for PyGTK users on Windows. It bundles PyGTK, PyGObject, PyCairo, PyGtkSourceView2, PyGooCanvas, PyRsvg, the gtk+-bundle and Glade in one handy installer. Currently 32 bit Python 2.6 and 2.7 versions are supported on Windows XP and up. Some screenshots can be seen at: https://github.com/dieterv/pygtk-installer/wiki * What's changed in 2.24.2 ? ============================ * Updated bundled GTK+ runtime packages to GTK+ 2.24.10-1 * Where to get it? ================== binaries: http://download.gnome.org/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.6.msi md5sum : e6bfb9f330236d24a81ed778ec48a5ca size : 32,4M http://download.gnome.org/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi md5sum : 4bddf847f81d8de2d73048b113da3dd5 size : 32,4M source code of the installer build tool: https://github.com/dieterv/pygtk-installer/tree/release-2.24.2 https://github.com/dieterv/pygtk-installer/tarball/release-2.24.2 https://github.com/dieterv/pygtk-installer/zipball/release-2.24.2 Enjoy! The PyGTK Team From fijall at gmail.com Fri Feb 10 10:45:01 2012 From: fijall at gmail.com (Maciej Fijalkowski) Date: Fri, 10 Feb 2012 11:45:01 +0200 Subject: PyPy 1.8 released Message-ID: ============================ PyPy 1.8 - business as usual ============================ We're pleased to announce the 1.8 release of PyPy. As habitual this release brings a lot of bugfixes, together with performance and memory improvements over the 1.7 release. The main highlight of the release is the introduction of `list strategies`_ which makes homogenous lists more efficient both in terms of performance and memory. This release also upgrades us from Python 2.7.1 compatibility to 2.7.2. Otherwise it's "business as usual" in the sense that performance improved roughly 10% on average since the previous release. you can download the PyPy 1.8 release here: http://pypy.org/download.html .. _`list strategies`: http://morepypy.blogspot.com/2011/10/more-compact-lists-with-list-strategies.html What is PyPy? ============= PyPy is a very compliant Python interpreter, almost a drop-in replacement for CPython 2.7. It's fast (`pypy 1.8 and cpython 2.7.1`_ performance comparison) due to its integrated tracing JIT compiler. This release supports x86 machines running Linux 32/64, Mac OS X 32/64 or Windows 32. Windows 64 work has been stalled, we would welcome a volunteer to handle that. .. _`pypy 1.8 and cpython 2.7.1`: http://speed.pypy.org Highlights ========== * List strategies. Now lists that contain only ints or only floats should be as efficient as storing them in a binary-packed array. It also improves the JIT performance in places that use such lists. There are also special strategies for unicode and string lists. * As usual, numerous performance improvements. There are many examples of python constructs that now should be faster; too many to list them. * Bugfixes and compatibility fixes with CPython. * Windows fixes. * NumPy effort progress; for the exact list of things that have been done, consult the `numpy status page`_. A tentative list of things that has been done: * multi dimensional arrays * various sizes of dtypes * a lot of ufuncs * a lot of other minor changes Right now the `numpy` module is available under both `numpy` and `numpypy` names. However, because it's incomplete, you have to `import numpypy` first before doing any imports from `numpy`. * New JIT hooks that allow you to hook into the JIT process from your python program. There is a `brief overview`_ of what they offer. * Standard library upgrade from 2.7.1 to 2.7.2. Ongoing work ============ As usual, there is quite a bit of ongoing work that either didn't make it to the release or is not ready yet. Highlights include: * Non-x86 backends for the JIT: ARMv7 (almost ready) and PPC64 (in progress) * Specialized type instances - allocate instances as efficient as C structs, including type specialization * More numpy work * Since the last release there was a significant breakthrough in PyPy's fundraising. We now have enough funds to work on first stages of `numpypy`_ and `py3k`_. We would like to thank again to everyone who donated. * It's also probably worth noting, we're considering donations for the Software Transactional Memory project. You can read more about `our plans`_ Cheers, The PyPy Team .. _`brief overview`: http://doc.pypy.org/en/latest/jit-hooks.html .. _`numpy status page`: http://buildbot.pypy.org/numpy-status/latest.html .. _`numpy status update blog report`: http://morepypy.blogspot.com/2012/01/numpypy-status-update.html .. _`numpypy`: http://pypy.org/numpydonate.html .. _`py3k`: http://pypy.org/py3donate.html .. _`our plans`: http://morepypy.blogspot.com/2012/01/transactional-memory-ii.html From vinay_sajip at yahoo.co.uk Fri Feb 10 20:28:52 2012 From: vinay_sajip at yahoo.co.uk (Vinay Sajip) Date: Fri, 10 Feb 2012 11:28:52 -0800 (PST) Subject: ANN: Sarge, a library wrapping the subprocess module, has been released. Message-ID: Sarge, a cross-platform library which wraps the subprocess module in the standard library, has been released. What does it do? ---------------- Sarge tries to make interfacing with external programs from your Python applications easier than just using subprocess alone. Sarge offers the following features: * A simple way to run command lines which allows a rich subset of Bash- style shell command syntax, but parsed and run by sarge so that you can run on Windows without cygwin (subject to having those commands available): >>> from sarge import capture_stdout >>> p = capture_stdout('echo foo | cat; echo bar') >>> for line in p.stdout: print(repr(line)) ... 'foo\n' 'bar\n' * The ability to format shell commands with placeholders, such that variables are quoted to prevent shell injection attacks. * The ability to capture output streams without requiring you to program your own threads. You just use a Capture object and then you can read from it as and when you want. Advantages over subprocess --------------------------- Sarge offers the following benefits compared to using subprocess: * The API is very simple. * It's easier to use command pipelines - using subprocess out of the box often leads to deadlocks because pipe buffers get filled up. * It would be nice to use Bash-style pipe syntax on Windows, but Windows shells don't support some of the syntax which is useful, like &&, ||, |& and so on. Sarge gives you that functionality on Windows, without cygwin. * Sometimes, subprocess.Popen.communicate() is not flexible enough for one's needs - for example, when one needs to process output a line at a time without buffering the entire output in memory. * It's desirable to avoid shell injection problems by having the ability to quote command arguments safely. * subprocess allows you to let stderr be the same as stdout, but not the other way around - and sometimes, you need to do that. Python version and platform compatibility ----------------------------------------- Sarge is intended to be used on any Python version >= 2.6 and is tested on Python versions 2.6, 2.7, 3.1, 3.2 and 3.3 on Linux, Windows, and Mac OS X (not all versions are tested on all platforms, but sarge is expected to work correctly on all these versions on all these platforms). Finding out more ---------------- You can read the documentation at http://sarge.readthedocs.org/ There's a lot more information, with examples, than I can put into this post. You can install Sarge using "pip install sarge" to try it out. The project is hosted on BitBucket at https://bitbucket.org/vinay.sajip/sarge/ And you can leave feedback on the issue tracker there. I hope you find Sarge useful! Regards, Vinay Sajip From dinov at microsoft.com Fri Feb 10 23:59:24 2012 From: dinov at microsoft.com (Dino Viehland) Date: Fri, 10 Feb 2012 22:59:24 +0000 Subject: [ANN] Python Tools for Visual Studio 1.1 Message-ID: <6C7ABA8B4E309440B857D74348836F2E54CA2E78@TK5EX14MBXC294.redmond.corp.microsoft.com> We're pleased to announce the release of Python Tools for Visual Studio 1.1 http://pytools.codeplex.com/releases/view/76091. Python Tools for Visual Studio (PTVS) is an open-source plug-in for Visual Studio which supports programming with the Python programming language. PTVS supports a broad range of features including: * Supports CPython and IronPython * Python editor with advanced member and signature intellisense * Code navigation: "Find all refs", goto definition, and object browser * Local and remote debugging * Profiling with multiple views * Integrated REPL window with inline matplotlib graphics * Support for HPC clusters and MPI, including debugging & Profiling * Interactive parallel computing via integrated IPython REPL 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 enabling analysis of the extension to 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. 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 therve at free.fr Sat Feb 11 14:35:15 2012 From: therve at free.fr (=?UTF-8?B?VGhvbWFzIEhlcnbDqQ==?=) Date: Sat, 11 Feb 2012 14:35:15 +0100 Subject: Twisted 12.0.0 released Message-ID: <4F366E93.80804@free.fr> On behalf of Twisted Matrix Laboratories, I am honored to announce the release of Twisted 12.0. 47 tickets are closed by this release, among them: * A fix to the GTK2 reactor preventing unnecessary wake-ups * Preliminary support of IPV6 on the server side * Several fixes to the new protocol-based TLS implementation * Improved core documentation's main page Twisted no longer supports Python 2.4, the latest supported version is 2.5. For more information, see the NEWS file here: http://twistedmatrix.com/Releases/Twisted/12.0/NEWS.txt Download it now from: http://pypi.python.org/packages/source/T/Twisted/Twisted-12.0.0.tar.bz2 or http://pypi.python.org/packages/2.5/T/Twisted/Twisted-12.0.0.win32-py2.5.msi or http://pypi.python.org/packages/2.6/T/Twisted/Twisted-12.0.0.win32-py2.6.msi or http://pypi.python.org/packages/2.7/T/Twisted/Twisted-12.0.0.win32-py2.7.msi Thanks to the supporters of the Twisted Software Foundation and to the many contributors for this release. -- Thomas From ralf at systemexit.de Sat Feb 11 21:44:02 2012 From: ralf at systemexit.de (Ralf Schmitt) Date: Sat, 11 Feb 2012 21:44:02 +0100 Subject: [ANNOUNCE] greenlet 0.3.4 Message-ID: <87ty2xgkx9.fsf@myhost.localnet> Hi, I have uploaded greenlet 0.3.4 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.4 ------------------------ The NEWS file lists these changes for release 0.3.4: * Use plain distutils for install command, this fixes installation of the greenlet.h header. * Enhanced arm32 support * Fix support for Linux/S390 zSeries * Workaround compiler bug on RHEL 3 / CentOS 3 [1] http://opensource.hyves.org/concurrence/ [2] http://eventlet.net/ [3] http://www.gevent.org/ -- Cheers Ralf Schmitt From trevp at trevp.net Sat Feb 11 23:48:37 2012 From: trevp at trevp.net (Trevor Perrin) Date: Sat, 11 Feb 2012 14:48:37 -0800 Subject: ANN: TLS Lite 0.4.0 Message-ID: Hi, After years of neglect, I'm maintaining TLS Lite again, the pure-python SSL/TLS library. Lots of bugfixes and cleanup went into this release, but I'm sure there's more issues out there, so let me know! https://github.com/trevp/tlslite/ https://github.com/downloads/trevp/tlslite/tlslite-0.4.0.tar.gz mailing list: http://sourceforge.net/mailarchive/forum.php?forum_name=tlslite-users Trevor From mmueller at python-academy.de Mon Feb 13 01:17:42 2012 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Mon, 13 Feb 2012 01:17:42 +0100 Subject: [ANN] Leipzig Python User Group - Meeting, February 14, 2012, 08:00 p.m. Message-ID: <4F3856A6.3060703@python-academy.de> === Leipzig Python User Group === We will meet on Tuesday, February 14 at 8:00 p.m. 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, 14.02.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 info at egenix.com Mon Feb 13 14:49:39 2012 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Mon, 13 Feb 2012 14:49:39 +0100 Subject: ANN: eGenix pyOpenSSL Distribution 0.13.0-1.0.0g Message-ID: <4F3914F3.3010104@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com pyOpenSSL Distribution Version 0.13.0-1.0.0g 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.0-1.0.0g-1.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 the included pyOpenSSL version to 0.13.0 and the included OpenSSL version to 1.0.0g. Main new features in pyOpenSSL sine 0.10.0 ------------------------------------------ * pyOpenSSL 0.11 fixes a few bugs related to error processing; see https://launchpad.net/pyopenssl/+announcement/7128 * pyOpenSSL 0.12 fixes interaction with memoryviews, adds TLS callbacks and x509 extension introspection; see https://launchpad.net/pyopenssl/+announcement/8151 * pyOpenSSL 0.13 adds OpenSSL 1.0 support (which eGenix contributed) and a few new APIs; see https://lists.launchpad.net/pyopenssl-users/msg00008.html Please see Jean-Paul Calderone's above announcements for more details. New features in OpenSSL 1.0.0g since 1.0.0a ------------------------------------------- OpenSSL 1.0.0g fixes several vulnerabilities relative to 1.0.0a: http://openssl.org/news/vulnerabilities.html and includes a number of stability enhancements as well as extra protection against attacks: http://openssl.org/news/changelog.html New features in the eGenix pyOpenSSL Distribution ------------------------------------------------- * Updated the pyOpenSSL license information from LGPL to Apache License 2.0. * Added support for Python 2.7 on all platforms. * Added documentation for automatic download of egg distributions using compatible tools such as easy_install and zc.buildout. 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 Distributon, 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 (#1, Feb 13 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 fuzzyman at gmail.com Thu Feb 16 16:35:02 2012 From: fuzzyman at gmail.com (Fuzzyman) Date: Thu, 16 Feb 2012 07:35:02 -0800 (PST) Subject: ANN: mock 0.8 final released Message-ID: After more than six months development work mock 0.8 has been released. 0.8 is a big release with many new features, general improvements and bugfixes. You can download mock 0.8.0 final from the PyPI page or install it with: pip install -U mock mock is a library for testing in Python. It allows you to replace parts of your system under test with mock objects. http://pypi.python.org/pypi/mock http://www.voidspace.org.uk/python/mock/ http://www.voidspace.org.uk/python/mock/changelog.html#version-0-8-0 The only changes in mock 0.8.0 final since 0.8rc2 are: * Improved repr of `sentinel` objects * `ANY` can be used for comparisons against call objects * The return value of `MagicMock.__iter__` can be set to any iterable and isn't required to be an iterator A longer version of this announcement, including the full changelog since mock 0.7 and a couple of short examples of the most important changes, can be found on my blog: http://www.voidspace.org.uk/python/weblog/arch_d7_2012_02_11.shtml#e1234 Michael Foord From mmueller at python-academy.de Fri Feb 17 15:14:24 2012 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Fri, 17 Feb 2012 15:14:24 +0100 Subject: PyCon DE 2012 - October 29 - November 3, 2012 in Leipzig Message-ID: <4F3E60C0.4020909@python-academy.de> Hi everybody, The second PyCon DE [1] will be in Leipzig again. We will have six days packed with Python topics from October 29 through November 3, 2012. One tutorial day, three days with talks and two days with a barcamp and sprints will provide a variety of types to communicate about Python. There will be social events to give everybody ample opportunity to network with like-minded Pythonistas. PyCon DE 2011 [2] in Leipzig was a great success. Virtually everybody of the 200 participants was enthusiastic about the conference. We strive to keep up the good work and to improve on a few points we got in the feedback. Mark your calendars. More details will be available soon. The event is intended to bring the German speaking Python users together. However, talks in English can be submitted by people who's native language is not German. -- Mike M?ller on behave of the PyCon DE organizing teams [1] http://2012.de.pycon.org/ [2] http://2011.de.pycon.org/ From r1chardj0n3s at gmail.com Tue Feb 21 06:32:39 2012 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Tue, 21 Feb 2012 16:32:39 +1100 Subject: Python Game Programming Challenge (PyWeek) #14 is coming! Message-ID: The 14th Python Game Programming Challenge (PyWeek) is coming. It'll run from the 22nd to the 29th of April. http://pyweek.org/14/ New user registration is NOT YET OPEN. It will open one month before the challenge starts. The PyWeek challenge: - Invites entrants to write a game in one week from scratch either as an individual or in a team, - Is intended to be challenging and fun, - Will hopefully increase the public body of game tools, code and expertise, - Will let a lot of people actually finish a game, and - May inspire new projects (with ready made teams!) If you're in the US and can make it I'm co-presenting a 3 hour pygame tutorial at PyCon in March. From michael at stroeder.com Tue Feb 21 18:20:19 2012 From: michael at stroeder.com (=?ISO-8859-1?Q?Michael_Str=F6der?=) Date: Tue, 21 Feb 2012 18:20:19 +0100 Subject: ANN: python-ldap 2.4.8 Message-ID: <4F43D253.2090407@stroeder.com> Find a new release of python-ldap: http://pypi.python.org/pypi/python-ldap/2.4.8 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.8 2012-02-21 Changes since 2.4.7: Lib/ * Fixed overzealous check for non-unique NAMEs in ldap.schema.subentry.SubSchema.__init__() * Fixed typos in control decoding method ldap.controls.simple.OctetStringInteger.decodeControlValue() * Added experimental support for draft-vchu-ldap-pwd-policy From guido at python.org Tue Feb 21 19:35:42 2012 From: guido at python.org (Guido van Rossum) Date: Tue, 21 Feb 2012 10:35:42 -0800 Subject: What do you want me to discuss at PyCon's keynote? Message-ID: I'm starting to think about my annual PyCon keynote. I don't want it to be just a feel-good motivational speech (I'm no good at those), nor a dry "state of the Python union" talk (I'm bored with those), but I'd like to hear what Python users care about. I've created a Google+ post for feedback: https://plus.google.com/u/0/115212051037621986145/posts/P8XZ5Zxvpxk Post your questions as comments there, or vote on others' questions using your +1 button. If you don't have a G+ account, you can mail questions to guido at python.org-- I will then copy them here anonymously for voting, unless you ask me not to, or ask me to add your name. -- --Guido van Rossum (python.org/~guido) From rb.proj at googlemail.com Tue Feb 21 21:19:29 2012 From: rb.proj at googlemail.com (Reimar Bauer) Date: Tue, 21 Feb 2012 12:19:29 -0800 (PST) Subject: ANN: moin-1.9.4 released Message-ID: <9c0911b7-5751-4453-ae4e-8359f224dd4f@w4g2000vbc.googlegroups.com> This release ist mostly about security and bug fixes and a few minor changes (including Python 2.7 compatibility). For details see: http://hg.moinmo.in/moin/1.9/raw-file/1.9.4/docs/CHANGES See http://moinmo.in/MoinMoinDownload for the release archive. BTW, for future moin 1.9 releases, we still need many more people helping with maintaining and updating translations on http://master19.moinmo.in/ . So, especially if you speak some non-english language, you can help! See http://moinmo.in/MoinDev/Translation for details. These days we spent most of our time on developing moin2, see http://moinmo.in/MoinMoin2.0 for details. If you like to hack / test new stuff, have a look! Also feel invited to help with it, so it gets ready for production sooner. If you are interested in helping, feel free to contact us on IRCH chat, see: http://moinmo.in/MoinMoinChat From richard at pyweek.org Thu Feb 23 04:16:09 2012 From: richard at pyweek.org (Richard Jones) Date: Thu, 23 Feb 2012 14:16:09 +1100 Subject: Python Game Programming Challenge (PyWeek) #14 is coming! [corrected dates] Message-ID: Note: this email corrects the dates given in the previous announcement. The 14th Python Game Programming Challenge (PyWeek) is coming. It'll run from the 6th to the 13th of May. Not April as previously announced. http://pyweek.org/14/ New user registration is NOT YET OPEN. It will open one month before the challenge starts. The PyWeek challenge: - Invites entrants to write a game in one week from scratch either as an individual or in a team, - Is intended to be challenging and fun, - Will hopefully increase the public body of game tools, code and expertise, - Will let a lot of people actually finish a game, and - May inspire new projects (with ready made teams!) If you're in the US and can make it I'm co-presenting a 3 hour pygame tutorial at PyCon in March. From ralf at systemexit.de Thu Feb 23 12:00:15 2012 From: ralf at systemexit.de (Ralf Schmitt) Date: Thu, 23 Feb 2012 12:00:15 +0100 Subject: [ANNOUNCE] pypiserver 0.5.1 - minimal pypi server Message-ID: <87hayhak74.fsf@winserver.brainbot.com> Hi, I've just uploaded pypiserver 0.5.1 to the python package index. pypiserver is a minimal PyPI compatible server. It can be used to serve a set of packages and eggs to easy_install or pip. pypiserver is easy to install (i.e. just easy_install pypiserver). It doesn't have any external dependencies. http://pypi.python.org/pypi/pypiserver/ should contain enough information to easily get you started running your own PyPI server in a few minutes. The code is available on github: https://github.com/schmir/pypiserver Changes in version 0.5.1 ------------------------- - make 'pypi-server -U' compatible with pip 1.1 -- Cheers, Ralf From dave at dabeaz.com Thu Feb 23 13:26:30 2012 From: dave at dabeaz.com (David Beazley) Date: Thu, 23 Feb 2012 06:26:30 -0600 Subject: Python Concurrency, March 19-22, 2012, Chicago Message-ID: Python Concurrency and Distributed Computing Workshop with David Beazley, author "Python Essential Reference" http://www.dabeaz.com/chicago/index.html March 19-22, 2012 Chicago, Illinois Just a quick note to say that there are still a few slots available for my upcoming course on Python concurrency and distributed systems. This is a highly in-depth course that aims to get to the bottom of all major approaches to Python concurrency including threads, coroutines multiprocessing, event-driven I/O (async), message passing and more. The course is strictly limited to 6 people and is being held in Chicago's distinctive Andersonville neighborhood. Come to hack some Python code while enjoying the sights, sounds, and tastes of the city. Cheers, Dave From cedric.krier at b2ck.com Thu Feb 23 20:54:12 2012 From: cedric.krier at b2ck.com (=?ISO-8859-1?Q?C=E9dric_Krier?=) Date: Thu, 23 Feb 2012 11:54:12 -0800 (PST) Subject: relatorio 0.5.6 released Message-ID: <32174026.9904.1330026852393.JavaMail.geo-discussion-forums@ynbo36> Relatorio is a templating library which provides a way to easily output all kind of different files (odt, ods, png, svg, ...) from python objects. A new minor release of relatorio has been published that fixes some issues and adds some improvements: * Add expression cache to prevent multiple evaluation of the same * expression * Fix typo when writing manifest * Remove Thumbnails in opendocument * Clean meta in opendocument * Clean template code from draw:frame in opendocument * Use StringIO as failback of cStringIO relatorio is available on PyPI: http://pypi.python.org/pypi/relatorio/0.5.6 From mmueller at python-academy.de Fri Feb 24 20:22:26 2012 From: mmueller at python-academy.de (=?ISO-8859-15?Q?Mike_M=FCller?=) Date: Fri, 24 Feb 2012 20:22:26 +0100 Subject: Python Power Course and much more Message-ID: <4F47E372.7040603@python-academy.de> Python Power Course and much more ================================= The "Python Power Course" [1] consist of 8 sucessive days of Python training. This is 3 days "Advanced Python" [2] and 5 days "HPC with Python" [3] for intermediate Python programmers. Sounds interesting but no Python experience yet? Just add another 3 days "Python for Programmers" [4] offered just before the "Python Power Course" for an up to 11-day non-stop Python immersion. You prefer German as teaching language? We also offer: * Python f?r Programmierer [5] * Python f?r Wissenschaftler und Ingenieure [6] * Einstieg in Django [7] * Django f?r Fortgeschrittene [8] See below for course details. [1] http://www.python-academy.com/courses/python_power_course.html [2] http://www.python-academy.com/courses/specialtopics/python_course_advanced.html [3] http://www.python-academy.com/courses/python_course_high_performance.html [4] http://www.python-academy.com/courses/python_course_programmers.html [5] http://www.python-academy.de/Kurse/python_kurs_programmierer.html [6[ http://www.python-academy.de/Kurse/python_kurs_wissenschaftler.html [7] http://www.python-academy.de/Kurse/django_kurs_einstieg.html [8] http://www.python-academy.de/Kurse/django_kurs_fortgeschrittene.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 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: 05.06.-07.06.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: English Link: http://www.python-academy.com/courses/python_course_programmers.html Advanced Python --------------- You would like to learn more about metaclasses, decorators, descriptors, context managers, comprehensions, patterns and good Python programming practices? This courses teaches all this with plenty of hands-on examples that makes these, admittedly somewhat involved topics, accessibly to everybody with intermediate Python experience. Date: 08.06.-10.06.2012 Location: Leipzig, Germany Trainer: Mike M?ller Course Language: English Link: http://www.python-academy.com/courses/specialtopics/python_course_advanced.html HPC with Python --------------- "High-Performance Computation with Python" is the new kid in the block. This course is designed to give you a solid foundation to improve the run time of your Python programs and write efficient algorithms. The ingredients are use of the right data structure for the problem, extension in other languages, Cython and NumPy. There five course that can be booked separately. See below for more details. Date: 11.06.-15.06.2012 Location: Leipzig, Germany Trainer: Mike M?ller, Stefan Behnel Course Language: English Link: http://www.python-academy.com/courses/python_course_high_performance.html Optimizing of Python Programs ++++++++++++++++++++++++++++++ Learn how to profile programs, choose the right data structures and algorithms for the right purpose and get some hands-on experience in making Python programs faster with comparable little modifications. Python Extensions with Other Languages ++++++++++++++++++++++++++++++++++++++ Learn about options to connect Python to other languages starting form Python's C-API and hand-written extensions the tour looks a Cython, ctypes, SWIG, Jython, Ironpython, and even f2py to connect with Fortran. Fast Code with the Cython Compiler ++++++++++++++++++++++++++++++++++ In-depth coverage of Cython with Cython core developer Stefan Behnel. No question about writing extensions and using external C libraries with Cython should remain unanswered after this day. Numerical Calculations with NumPy +++++++++++++++++++++++++++++++++ NumPy is the way to work with multi-dimensional numerical arrays in Python. It is fast and provides a high-level programmer interface. This course day teaches you all the basics. Fast NumPy Processing with Cython +++++++++++++++++++++++++++++++++ Working with NumPy you need to avoid loops over arrays to make your code fast. While NumPy provides indexing and other techniques to help you here, some types of algorithms are easier expressed with loops. Combining NumPy with Cython you can write fast loops. Another topic is parallel programming with OpenMP to take advantage of multi-core CPUs that become so common place these days. Questions? ---------- If you have any questions about the courses, please feel free to ask me. Cheers, Mike From benjamin at python.org Sat Feb 25 18:56:15 2012 From: benjamin at python.org (Benjamin Peterson) Date: Sat, 25 Feb 2012 12:56:15 -0500 Subject: [RELEASED] Release candidates for Python 2.6.8, 2.7.3, 3.1.5, and 3.2.3 Message-ID: We're pleased to announce the immediate availability of release candidates for Python 2.6.8, 2.7.3, 3.1.5, and 3.2.3 . The main impetus for these releases is fixing a security issue in Python's hash based types, dict and set, as described below. Python 2.7.3 and 3.2.3 include the security patch and the normal set of bug fixes. Since Python 2.6 and 3.1 are maintained only for security issues, 2.6.8 and 3.1.5 contain only various security patches. The security issue exploits Python's dict and set implementations. Carefully crafted input can lead to extremely long computation times and denials of service. [1] Python dict and set types use hash tables to provide amortized constant time operations. Hash tables require a well-distributed hash function to spread data evenly across the hash table. The security issue is that an attacker could compute thousands of keys with colliding hashes; this causes quadratic algorithmic complexity when the hash table is constructed. To alleviate the problem, the new releases add randomization to the hashing of Python's string types (bytes/str in Python 3 and str/unicode in Python 2), datetime.date, and datetime.datetime. This prevents an attacker from computing colliding keys of these types without access to the Python process. Hash randomization causes the iteration order of dicts and sets to be unpredictable and differ across Python runs. Python has never guaranteed iteration order of keys in a dict or set, and applications are advised to never rely on it. Historically, dict iteration order has not changed very often across releases and has always remained consistent between successive executions of Python. Thus, some existing applications may be relying on dict or set ordering. Because of this and the fact that many Python applications which don't accept untrusted input are not vulnerable to this attack, in all stable Python releases mentioned here, HASH RANDOMIZATION IS DISABLED BY DEFAULT. There are two ways to enable it. The -R commandline option can be passed to the python executable. It can also be enabled by setting an environmental variable PYTHONHASHSEED to "random". (Other values are accepted, too; pass -h to python for complete description.) More details about the issue and the patch can be found in the oCERT advisory [1] and the Python bug tracker [2]. These releases are releases candidates and thus not recommended for production use. Please test your applications and libraries with them, and report any bugs you encounter. We are especially interested in any buggy behavior observed using hash randomization. Excepting major calamity, final versions should appear after several weeks. Downloads are at http://python.org/download/releases/2.6.8/ http://python.org/download/releases/2.7.3/ http://python.org/download/releases/3.1.5/ http://python.org/download/releases/3.2.3/ Please test these candidates and report bugs to http://bugs.python.org/ With regards, The Python release team Barry Warsaw (2.6), Georg Brandl (3.2), Benjamin Peterson (2.7 and 3.1) [1] http://www.ocert.org/advisories/ocert-2011-003.html [2] http://bugs.python.org/issue13703 From nagappan at gmail.com Sun Feb 26 04:51:38 2012 From: nagappan at gmail.com (Nagappan Alagappan) Date: Sat, 25 Feb 2012 19:51:38 -0800 Subject: Announce: Linux Desktop Testing Project (LDTP) 2.3.1 released Message-ID: Hello, About LDTP: Linux Desktop Testing Project is aimed at producing high quality test automation framework (using GNOME / Python) and cutting-edge tools that can be used to test Linux Desktop and improve it. It uses the Accessibility libraries to poke through the application's user interface. We strive to help in building a quality desktop. Changes in this release: Added twisted gtk3reactor Operate on window name using index, will be helpful with i18n, l10n testing at-spi2 related fixes to improve test execution time (Ubuntu 12.04) Special thanks: Mike Gorse VMware Desktop UI automation Dave Morley Andre Klapper (i18n / l10n suggestions) Download source: http://download.freedesktop.org/ldtp/2.x/2.3.x/ldtp-2.3.1.tar.gz Download RPM and DEB from http://download.opensuse.org/repositories/home:/anagappan:/ldtp2:/ Documentation references: For detailed information on LDTP framework and latest updates visit http://ldtp.freedesktop.org For information on various APIs in LDTP including those added for this release can be got from http://ldtp.freedesktop.org/user-doc/index.html Report bugs - http://ldtp.freedesktop.org/wiki/Bugs To subscribe to LDTP mailing lists, visit http://ldtp.freedesktop.org/wiki/Mailing_20list IRC Channel - #ldtp on irc.freenode.net Thanks Nagappan -- Linux Desktop (GUI Application) Testing Project - http://ldtp.freedesktop.org http://nagappanal.blogspot.com From cimrman3 at ntc.zcu.cz Mon Feb 27 19:40:11 2012 From: cimrman3 at ntc.zcu.cz (Robert Cimrman) Date: Mon, 27 Feb 2012 19:40:11 +0100 Subject: ANN: SfePy 2012.1 Message-ID: <4F4BCE0B.2070206@ntc.zcu.cz> I am pleased to announce release 2012.1 of SfePy. Description ----------- SfePy (simple finite elements in Python) is a software for solving systems of coupled partial differential equations by the finite element method. The code is based on NumPy and SciPy packages. It is distributed under the new BSD license. Home page: http://sfepy.org Downloads, mailing list, wiki: http://code.google.com/p/sfepy/ Git (source) repository, issue tracker: http://github.com/sfepy Highlights of this release -------------------------- - initial version of linearizer of higher order solutions - rewrite variable and evaluate cache history handling - lots of term updates/fixes/simplifications - move web front page to sphinx docs For full release notes see http://docs.sfepy.org/doc/release_notes.html#id1 (rather long and technical). Best regards, Robert Cimrman and Contributors (*) (*) Contributors to this release (alphabetical order): Tom Aldcroft, Vladim?r Luke?, Maty?? Nov?k, Andre Smit From ralf.gommers at googlemail.com Tue Feb 28 07:15:25 2012 From: ralf.gommers at googlemail.com (Ralf Gommers) Date: Tue, 28 Feb 2012 07:15:25 +0100 Subject: ANN: SciPy 0.10.1 released Message-ID: Hi all, I am pleased to announce the availability of SciPy 0.10.1. This is a maintenance release, with no new features compared to 0.10.0. Sources and binaries can be found at http://sourceforge.net/projects/scipy/files/scipy/0.10.1/, release notes are copied below. Enjoy, The SciPy developers ========================== SciPy 0.10.1 Release Notes ========================== .. contents:: SciPy 0.10.1 is a bug-fix release with no new features compared to 0.10.0. Main changes ------------ The most important changes are:: 1. The single precision routines of ``eigs`` and ``eigsh`` in ``scipy.sparse.linalg`` have been disabled (they internally use double precision now). 2. A compatibility issue related to changes in NumPy macros has been fixed, in order to make scipy 0.10.1 compile with the upcoming numpy 1.7.0 release. Other issues fixed ------------------ - #835: stats: nan propagation in stats.distributions - #1202: io: netcdf segfault - #1531: optimize: make curve_fit work with method as callable. - #1560: linalg: fixed mistake in eig_banded documentation. - #1565: ndimage: bug in ndimage.variance - #1457: ndimage: standard_deviation does not work with sequence of indexes - #1562: cluster: segfault in linkage function - #1568: stats: One-sided fisher_exact() returns `p` < 1 for 0 successful attempts - #1575: stats: zscore and zmap handle the axis keyword incorrectly From philrist at comcast.net Tue Feb 28 12:03:54 2012 From: philrist at comcast.net (philrist at comcast.net) Date: 28 Feb 2012 03:03:54 -0800 Subject: ButtonBar Windows Utility - ButtonBar.py Message-ID: This program produces a buttonbar controlled by an initialization file simular to that used by qeditor. Users can set button colors, change the working directory, set environment variables and execute arbitrary programs during startup. Any of these commands and the commands associated with the buttons can contain macros which are expanded by the Do or Do2 programs. Commands can also contain macros that expand to commands from a files context menu. begin 644 ButtonBar.py M)RRUS,7T@>RUS,GT@ M>RUS,WT-"CLC;W!T:6]N8"UP871H8%!A=&@@=&\@8V]N=')O;&QI;F<@9FEL M96!&8&,Z7'-O=7)C95QP>71H;VY<<')O:F5C='-<;65N=5QB=71T;VYB87(N M<'E@#0H[(V]P=&EO;F`M;65N=6!0871H('1O(&UE;G4 at 9FEL96!&8&,Z7'-O M=7)C95QP>71H;VY<<')O:F5C='-<;65N=5QT97-T+FEN:6`-"CLC;W!T:6]N M8"US,6!&:7)S="!S96-T:6]N8%A@:6YF;V`-"CLC;W!T:6]N8"US,F!396-O M;F0@2!3="X at 5&AO;6%S(%-O9G1W M87)E#0HC("TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M+2TM+2TM+2T-"B, at 5&AI2!M;W)A;"!P=7)P;W-E+B`@66]U('5S92!I M="!A="!Y;W5R#0HC(&]W;B!R:7-K+B`@4W0N(%1H;VUA71H:6YG+ at T*(PT*(R!)9B!Y;W4 at 9F5E;"!Y;W4@;75S="!P87D at 9F]R(&ET M+B!0;&5A&%M M<&QE(&]F("YR96<@9FEL92!E;G1R>0T*(R`@("`@6TA+15E?0TQ!4U-%4U]2 M3T]47'1E>'1F:6QE7%-H96QL7%1E>'14;V]L7-<7'!Y=&AO;C(U7%QP>71H M;VXN97AE("`@8SI<7&)I;EQ<0G5T=&]N0F%R5C%%>"YP>2`@(%PB)3%<(B`@ M>W!]7%QM96YUV]]7%QM96YU#H-"B,@("`@ M("`@("!"=71T;VY"87)6,45X+G!Y("!;;W!T:6]N3X@("`@+2!S970@=V]R:VEN M9R!D:7)E8W1O'TG('=H:6-H#0HC("`@("!A2!M;V1U;&5S(&%R92!U2`-"B,@("`@(&%T('1H92!T;W`@;V8@=&AE(&)U='1O;B!B87(N("!) M9B!N;R!E>'!A;G-I;VX@:7,@<&5R9F]R;65D(&%N>2!S=')I;F<@8V%N(&)E M('5S960 at 86YD(&1IF%T:6]N(&9I;&4@ M65D(&]N(&$@8G5T=&]N M(&%N9"!A(&-O;6UA;F0@2!F:6QE2!T:&4 at 8V]M;6%N9"!T97AT M+B![3W!E;GT@;6%Y('!R;V1U8V4 at 8SI<8FEN7'%E9&ET;W(N97AE("`@)3$N M("`E,2!W:6QL(&)E(')E<&QA8V5D(&)Y#0HC("`@("!T:&4@<&%T:"!T;R!T M:&4@"!U2!F2!I2`G(R<@:6X@=VAI8V@@8V%S92!T:&4@ M;&EN92!M87D at 8V]N=&%I;B`-"B,@("`@(&$@2!T;R!C.EQB M:6X@("!O'1E&5C=71E(&%N(&5X=&5R;F%L(&-O;6UA;F0@*BHJ($Y% M5R`J*BH-"B,-"B,@("`@(%=I=&AI;B!S96-T:6]N0T*(R`@("`@87!P96%RF]N=&%L(&)U='1O;B!B87(N("!)(&-U2!D;R!N;W0@=7-E('1H:7, at 86YD(&ET2!I9B!T:&4 at 9FEL M92!P871H(&UA=&-H97,@;W(@9&]E&%M<&QE7-<;&%N9W5A9V5<<'ET:&]N7'!Y=&AO;BYE>&4@("`B>V%](B`@ M("!I;G-T86QL+B`@5&AI2!A<'!E M87(@:68 at 82!S971U<"YP>2!F:6QE('=A7-<<'ET:&]N,C=<<'ET:&]N=RYE>&4-"CLC"YE>&4@('MA?2![8GT@>W!](")[9GTB('MN M?2![97T@>V]]("5T97-T)0T*+41I2!,:7-T#0I$:7(L8SI<=VEN M9&]W7-T96TS,EQC;60N97AE("]#(&1IW!]7"HN>V5](@T*1&ER M6"QC.EQW:6YD;W=S7'-Y&4 at +T, at 9&ER("HN*@T*1&ER M,BQC.EQW:6YD;W=S7'-Y&4 at +T, at 9&ER(&,Z7'-O=7)C M95Q0>71H;VY<*BXJ#0H[(VQA8F5L8&QI9VAT(&=R87D-"BU0V%](B!)(&%M(')U;FYI;F<@(GMA?2(- M"B\J+G!Y+U)U;BQC.EQB:6Y<;65S"YE>&4 at 22!A;2!R=6YN:6YG M(&$@4'ET:&]N('!R;V=R86T@(GMA?2(-"B\J+G!Y+U)U;B`R+"5U&4O4G5N(#(L(GMA?2(@22!A;2!R=6YN:6YG(")[87TB#0H- M"ELO*BYP>2]497-T,ET-"D5D:70 at 5"Q[;WU<<65D:71O&4@(GMA?2(- M"D1IRY]7"HN*@T*)R7,N87)G=@T*'!A;F0H<$-O;6UA;F0L('!&:6QE M4&%T:"P@<%!R;VUP="P@<%-E<#TG.SLG*3H-"B`@("`G)R<-"B`@("!%>'!A M;F0@#0H@("`@)R"0T*("`@(&Q0;W,@ M/2!L0V]M;6%N9"YF:6YD*")[(BD@("`@("`@("`@("`@("`@("`@("`@#0H@ M("`@:68@;%!O'0L(%M=*0T*("`@ M("`@("`@("`@("`@(&Q#;VUM86YD(#T@;$-O;6UA;F1;,#IL4&]S72`K(&Q2 M97!L86-E("L@;$-O;6UA;F1;;$5N9%!O0T*("`@(&Q0;W,@/2!L0V]M;6%N9"YR9FEN M9"@G(2$G*0T*("`@(&EF(&Q0;W,@/B`P. at T*("`@("`@("!L0V]M;6%N9"`] M(&Q#;VUM86YD6S`Z;%!O'!A M;F1E9"!#;VUM86YD.B'0B*0T*("`@(&Q#;VUM86YD(#T@;4-M M9'-;;%!R;VUP=%T-"B`@("!P'!A;F0H;$-O;6UA;F0L(&U&:6QE3F%M92P@;%!R;VUP="D- M"B`@("!I9B!L0V]M;6%N9%LM,5T@/3T@(EQN(CH-"B`@("`@("`@;$-O;6UA M;F0@/2!L0V]M;6%N9%LP.BTQ70T*("`@('!R:6YT(")#;VUM86YD.B(@*R!L M0V]M;6%N9"`K("2!A;F0@=&\-"B`@("!S970@'0@/2!L1FEL92YR96%D;&EN97,H M*0T*("`@(&Q&:6QE+F-L;W-E#0H-"B`@("!L1&5F875L=$)U='1O;B`](&Q" M=71T;VY#;VQO'0]<$9I;&5.86UE+"!B9SUL3&%B M96Q#;VQO'1;,%T@(3T@(ELB. at T*#0HC M("`@("`@("`@("`@("`@+2TM+2!-96YU('-P;&ET=&5R(&QI;F4-"B`@("`@ M("`@("`@("`@("!I9B!L5&5X=%LP72`]/2`B+2(@86YD(&Q+965P. at T*("`@ M("`@("`@("`@("`@("`@("!I9B!L96XH;%1E>'0I(#X@,3H-"B`@("`@("`@ M("`@("`@("`@("`@("`@(&Q02!L86)E;"!F;W(@+2!L:6YE("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`-"B,@("`@("`@("`@("`@("`@("`@("`@("`@("`@8V%N(&)E(')E M;6]V960@=VET:&]U="!A9F9E8W1I;F<@'1;,ET-"B`@("`@("`@("`@("`@("`@ M("`@("`@('!R:6YT("'0N9FEN9"@B/2(I#0H@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@:68@;$5Q4&]S(#X@;%!O2`](&Q497AT6VQ0;W,K,3IL M17%0;W-=+G-T'1;;$5Q4&]S*S$Z72YS=')I<"@I#0H@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@(&EF(&Q686QU92YF:6YD*"=[)RD@ M/CT@,#H-"B`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&Q6 M86QU92`]($5X<&%N9$%R9RAL5F%L=64L('!&:6QE3F%M92P@)R5T@ M/2!L5F%L=64-"@T*(R`@("`@("`@("`@("`@("`@("`@("`@+2TM+2!#:&%N M9V4@=V]R:VEN9R!D:7)E8W1O0T*("`@("`@("`@("`@("`@("`@("`@("`@("`@(&EF(&Q0;W,@ M/B`P(&%N9"!L4&]S(#P@;&5N*&Q497AT*3H-"B`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@;%1E>'0@/2!L5&5X=%ML4&]S*S$Z72YS=')I<"@I M#0H@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&EF(&Q497AT+F9I M;F0H)WLG*2`^/2`P. at T*("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@;%1E>'0@/2!%>'!A;F1!'0L('!&:6QE3F%M92P@)R3H-"B`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('!R:6YT("=#:&%N9VEN M9R!W;W)K(&1I2!T;R'0I. at T*("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!L5&5X M="`](&Q497AT6VQ0;W,K,3I=+G-T'0N9FEN9"@G>R&-E<'0 at 17AC97!T:6]N(&%S(&4Z#0H@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("!P'1;;%!O'0I#0H@("`@("`@("`@("`@("`@("`@("`@("`@("`@#0H@("`@("`@("`@ M("`@("`@("`@("`@("!E;'-E.B`@("`@("`@("`@("`@("`@("`@("`@(R!I M9VYO'1;,%T@/3T@ M(CLB. at T*("`@("`@("`@("`@("`@("`@("!P87-S#0H-"B,@("`@("`@("`@ M("`@("`M+2TM($UE;G4@'1;;%!O&4@ M+BXN#0HC("`@("`@("`@("`@("`@("`@("`@("`@("`@(&-A;B!B92!R96UO M=F5D('=I=&AO=70 at 869F96-T:6YG(')E;6%I;F1E71H;VXR-UQP>71H;VYW+F5X92`N+BX-"B,@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@8V%N(&)E(')E;6]V960@=VET:&]U="!A9F9E8W1I;F<@3H-"B`@("`@("`@("`@("`@("`@("`@("`@("`@("!B=71T M;VX@/2!4:VEN=&5R+D)U='1O;BAP1G)A;64L('1E>'0];%!R;VUP="P at 8F<] M;$)U='1O;D-O;&]R*0T*("`@("`@("`@("`@("`@("`@("`@("`@97AC97!T M. at T*("`@("`@("`@("`@("`@("`@("`@("`@("`@(&)U='1O;B`](%1K:6YT M97(N0G5T=&]N*'!&'0N9FEN9"@G>R&-E<'0 at 17AC97!T:6]N+"!E. at T*("`@("`@("`@("`@("`@ M("`@("`@("`@;$ME97`@/2!&86QS90T*("`@("`@("`@("`@("`@("`@("`@ M("`@8V]N=&EN=64-"B`@("`@("`@("`@("`@("`@("`@("`@(`T*(R`@("`@ M("`@("`@("`@("TM+2T at 1FEL=&5R('-E8W1I;VX at 8F%S960@;VX@;6ES;6%T M8V@@=VET:"!F:6QE(&YA;64-"B,@("`@("`@("`@("`@("`@("`@(%LA*C,N M<'DA4W!E8VEA;%T-"B,@("`@("`@("`@("`@("`@("`@(&-A;B!B92!R96UO M=F5D('=I=&AO=70 at 869F96-T:6YG(')E;6%I;F1E3H-"B`@("`@("`@("`@("`@("`@("`@("`@("AL M36%S:RP@;&%B96PI(#T@;&%B96Q;,3I=+G-P;&ET*"&-E<'0 at 17AC97!T:6]N M+"!E. at T*("`@("`@("`@("`@("`@("`@("`@("`@;$ME97`@/2!&86QS90T* M("`@("`@("`@("`@("`@("`@("`@("`@8V]N=&EN=64-"@T*(R`@("`@("`@ M("`@("`@("TM+2T@;&%B96P@;75S="!B96=I;B!W:71H(&QE='1E<@T*("`@ M("`@("`@("`@("`@(&5L:68@*&QA8F5L6S!=(#P@)V$G*2!OBF4H*2P at 8F<];$QA8F5L0V]L;W(I#0H@("`@("`@("`@ M("`@("`@("`@("-L86)E;"YP86-K*'-I9&4]5$]0+"!F:6QL/5 at I#0H@("`@ M("`@("`@("`@("`@("`@(&QA8F5L+G!A8VLH2P@;59A;'5E*2!I;B!M3W!T:6]N2`] M/2`G+6(G. at T*("`@("`@("`@("`@;41E9F%U;'1"=71T;VX@/2!M5F%L=64- M"B`@("`@("`@("`@(`T*("`@("`@("!E;&EF(&U+97D@/3T@)RUD)SH@("`@ M("`@("`@("`@("`@(", at 4V5T(&-U2`]/2`G+64G.B`@("`@("`@("`@("`@(", at 4V5T(&5N=FER M;VYM96YT('9A2`]/2`G+6 at G M. at T*("`@("`@("`@("`@<')I;G0@;4AE;'!497AT#0H@("`@("`@("`@("`- M"B`@("`@("`@96QI9B!M2V5Y(#T]("2YI;FDB#0H-"B`@("`@("`@("`@("`@("`@#0H@("`@("`@ M('1R>3H-"B`@("`@("`@("`@(&U$969A=6QT4V5C=&EO;B`](&]S+F5N=FER M;VY;)U-%0U1)3TXG70T*("`@("`@("`@("`@:68@;59E&-E<'0Z#0H@("`@("`@("`@("!M M1&5F875L=%-E8W1I;VX@/2`G)R`@("`@("`@("`@("`C(#PM+2TM+2TM($1E M9F%U;'0@F%T:6]N(&UE;G4@#0HC("`@("`@("`@("`@ M("`@("`@("!396QE8W1E9"!M96YU(&-A;B!D97!E;F0@;VX at 9FEL92!P871H M("AI92X@>V]]7&UE;G5S+FEN:2D at 4V5E(&1O,BYP>0T*("`@("`@("!PR(I#0H@("`@("`@(&U-96YU07)G(#T@;4UE;G5!3H@("`@("`@ M("`@("`@(`T*("`@("`@("`@("`@("`@(&U-96YU3F%M92`]($5X<&%N9$%R M9RAM365N=4%R9RP@;49I;&5.86UE+"!M1&5F875L=$UE;G4I#0H@("`@("`@ M("`@("!E>&-E<'0 at 17AC97!T:6]N(&%S(&4Z#0H@("`@("`@("`@("`@("`@ M<')I;G0 at 90T*("`@("`@("`@("`@("`@(`T*("`@("`@("!E;&EF(&U-96YU M07)G+F9I;F0H)SLG*2`^/2`P. at T*("`@("`@("`@("`@9F]R(&U-96YU(&EN M(&U-96YU07)G+G-P;&ET*"<[)RDZ#0H@("`@("`@("`@("`@("`@:68@;W,N M<&%T:"YE>&ES=',H;4UE;G4I. at T*("`@("`@("`@("`@("`@("`@("!M365N M=4YA;64@/2!M365N=0T*("`@("`@("`@("`@("`@("`@("!B2!B92!R96UO M=F5D("`@("`@("`@("`@("`@(`T*("`@("`@("`@("`@("`@(&Q)=&5M(#T@ M;$ET96TN'!A;F1!6YT87@@17)R;W(G+"=&:6QE(&YA;64@ Here is the latest version of my Do.py Windows command line utility. Documentation is included in the source. It is used from a Windows Explorer context menu or other command line where one file path is supplied and two are needed or where a path other than the selected path is required. It is also imported by the Do2 and ButtonBar programs. If this program is not useful I hope you will at least find it interesting. begin 644 Do.py M(R`M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M+2TM#0HC($YA;64Z($1O#0HC($1E'!A;F0 at 86YD(&5X M96-U=&4 at 8V]M;6%N9`T*(R, at 1#(P2"TS-2!%>'!A;F0 at 86YD(&5X96-U=&4@ M8V]M;6%N9`T*(PT*(R!!=71H;W(Z(%!H:6QI<"!3+B!2:7-T#0HC($1A=&4Z M(#$P+S$R+S(P,3`-"B, at 0V]P>7)I9VAT(#(P,3`L(#(P,3(@8GD at 4W0N(%1H M;VUA2!B92!U6]U<@T*(R!O=VX@6]U(&9E96P@>6]U(&UU71H;VYW M+F5X92!C.EQ<8FEN7%QD;RYP>2!<(B4Q7"(@8SI<7%=I;F1O=W-<7'-YS)]7%Q[9GU< M(B`@("`@("(-"B,-"B-;2$M%65]#3$%34T537U)/3U1<*EQ3:&5L;%Q$;T5D M:71=#0HC0#TB161I="`H1&\I(@T*(R)%9&ET1FQA9W,B/6AE>#HP,2PP,"PP M,"PP,`T*(UM(2T597T-,05-315-?4D]/5%PJ7%-H96QL7$1O161I=%Q#;VUM M86YD70T*(T`](F,Z7%QS>7-<7'!Y=&AO;C(U7%QP>71H;VYW+F5X92!C.EQ< M8FEN7%QD;RYP>2!<(B4Q7"(@>V]]7%QQ961I=&]R+F5X92`@7")[87U<(B`@ M("`@(@T*(PT*(R!07!EV)] M+"![<'TL('MN?2P@>V9](&%N9"!A#0HC(&9E=R!O=&AEU!]+"![5'T at 86YD('M#?2!A;F0@ M;W1H97)S('=H:6-H('EO=2!W:6QL('!R;V)A8FQY(&YE960@=&\@;6]D:69Y M(&%R92!R97!L86-E9"!B>0T*(R!P871H2!I;B!T:&4 at 1&\@<')O9W)A;2X@('M3?2P@>T%](&%N9"![0GT@ M87)E(')E<&QA8V5D(&)Y("<^)RP@)SX^)R!A;F0@)WPG('=H:6-H('=O=6QD M(&)E#0HC(&%P<&QI960@=&\@=&AE($1O('!R;V=R86T at 86YD(&YO="!T:&4@ M<')O9W)A;2!T;R!B92!E>&5C=71E9"X-"B,-"B, at 5&AIV5](&ES('5NW!]+"![8GTL('MN?2!A;F0@>V9](&%R92!M96%N="!T;R!B92!C M;VUP871I8FQE('=I=&@@465D:71O2!W86YT('1O(')E;6]V90T*9G)O;2!?=VEN'!A;F0H<$-O;6UA;F0L('!&:6QE M4&%T:"P@<%-E<#TG7%PG*3H-"B`@("`G4F5P;&%C92!A;&P@>S]](&UA8W)O M'1E;G-I;VX@/2!L1FEL94YA;65;;$5N9%!O7-< M;&%N9W5A9V5<5$-,7&)I;EQT8VQS:"YE>&4G#0H@("`@("`@("`@("`@("`@ M("`@(&5L:68@;$-H(#T]("=7)SH-"B`@("`@("`@("`@("`@("`@("`@("`@ M(&Q);G-E&4G#0H@("`@("`@("`@("`@("`@("`@(&5L:68@;$-H M(#T]("=+)SH-"B`@("`@("`@("`@("`@("`@("`@("`@(&Q);G-E2`G#0H@("`@("`@ M("`@("`@("`@("`@(&5L2!D M:7)E8W1O0T*("`@("`@("`@("`@("`@(&5L:68@;$-H(#T]("=O M)SH@("`@("`@("`@("`@("`@("`@("`@("`@(",@0T*("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@("`@("`@("`@("`@(", at 22!A9&1E9"!A(%-O=7)C941I7!E(B`@("`@("`@ M("`@("`@("`C('MO?0T*("`@("`@("`@("`@("`@(&5L:68@;$-H(#T]("=Y M)SH-"B`@("`@("`@("`@("`@("`@("`@;$EN0T*("`@("`@("`@("`@("`@(&5L:68@;$-H(#T]("=V M)SH-"B`@("`@("`@("`@("`@("`@("`@;$EN2!D:7)E8W1O0T* M("`@("`@("`@("`@("`@(&5L:68@;$-H(#T]("71H;VXR-5Q<<'ET:&]N+F5X92<-"B`@("`@("`@("`@("`@("`C M96QI9B!L0V@@/3T@)R4G. at T*("`@("`@("`@("`@("`@(",@("`@=')Y. at T* M("`@("`@("`@("`@("`@(",@("`@("`@(&Q0;W,@/2!L4&%R=%LQ.ETN9FEN M9"@B)2(I#0H@("`@("`@("`@("`@("`@(R`@("`@("`@:68@;%!O2`M+3X@ M8SI<*0T*("`@("`@("`@("`@("`@("`@("!L26YS97)T(#T@;%!A=&A087)T M2`M+3X@2`M+3X@<'ET:&]N*0T*("`@("`@("`@("`@("`@("`@("!L26YS M97)T(#T@;%!A=&A087)T71H;VY<;F5W7'1ER<@*R!L4&%R M=%LZ;%!O'!A M;F0H<$-O;6UA;F0L('!&:6QE3F%M92D-"B`@("!I9B!L0V]M;6%N9%LM,5T@ M/3T@)UQN)SH-"B`@("`@("`@;$-O;6UA;F0@/2!L0V]M;6%N9%LP.BTQ70T* M("`@("-P7,N87)G=BYE>'1E;F0H(%L@)RUD)RP@ M)WMO?5Q<;F5W)RP@)V,Z7%QS;W5R8V5<7&-<7'1EV%])RP@)WMP?5Q<>WAX?5Q<>V9] M)RP@)WMB?2YE>&4G+"`G>W1]7%Q[;GTN8FMP)RP-"B,@("`@("`@("`@("`@ M("`@("`@("=[:7U<7'LM,7TG+"`G>W5]7%Q[+3)])RP@)WLN?5Q<>RTS?2V=]7%Q[,GU<7'1EV5](BS-]7%Q[ M;GTN>V5]+G1X="<@("`@72D-"@T*(R`@(%-Y;G1A>#H at 6T]P=&EO;G-=(&9I M;&4M<&%T:"!C;VUM86YD#0H-"FEF(%]?;F%M95]?(#T]("=?7VUA:6Y?7R2`] M/2`G+60G.B`@("`@("`@("`@("`@("`@(R!3970 at 8W5R This is an extension to the Do.py program. It adds several features. Documentation is included in the source. begin 644 Do2.py M#0HC("TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM M+2TM+2T-"B, at 3F%M93H at 1&\R#0HC($1E'!A;F0 at 86YD M(&5X96-U=&4 at 8V]M;6%N9`T*(R, at 1#(P2"TS-2!%>'!A;F0 at 86YD(&5X96-U M=&4 at 8V]M;6%N9`T*(PT*(R!!=71H;W(Z(%!H:6QI<"!3+B!2:7-T#0HC($1A M=&4Z(#$P+S(T+S(P,3`-"B, at 0V]P>7)I9VAT(#(P,3`@8GD at 4W0N(%1H;VUA M2!B92!U6]U<@T*(R!O=VX@6]U(&9E96P@>6]U(&UU7-<7'!Y=&AO;C(U7%QP>71H M;VYW+F5X92!C.EQ<8FEN7%QD;S(N<'D at 7"(E,5PB(&,Z7%Q7:6YD;W=S7%QS M>7-T96TS,EQ<8VUD+F5X92`O2R!C;W!Y(%PB>V%]7"(@7")[=7U<7'LR?5Q< M>V9]7"(@("`@("`B#0HC#0HC6TA+15E?0TQ!4U-%4U]23T]47"I<4VAE;&Q< M1&\R161I=%T-"B-`/2)%9&ET("A$;S(I(@T*(R)%9&ET1FQA9W,B/6AE>#HP M,2PP,"PP,"PP,`T*(UM(2T597T-,05-315-?4D]/5%PJ7%-H96QL7$1O,D5D M:71<0V]M;6%N9%T-"B-`/2)C.EQ<71H;VXR-5Q<<'ET:&]N=RYE M>&4 at 8SI<7&)I;EQ<9&\R+G!Y(%PB)3%<(B!C.EQ<4V]U'!A;F1I;F<@86X at 96YT:7)E(&-O;6UA;F0@;&EN92!I;B!O;F4 at 8V%L;`T* M(R!I="!E>'!A;F1S(&5A8V@@87)G=6UE;G0@2X@($ET(&%D M9',@=&AE('L\+7T@;6%CSPM?61I2YI;FD@=VEL;"!S96%R8V@@9F]R(&$-"B, at 9&ER96-T;W)Y+FEN:2!F M:6QE(&EN('1H92!F;VQL;W=I;F<@9F]L9&5R2!A(&-H96-K(&]F(&,Z7'1E2!$:7)E8W1O&5C=71I;VX@;V8@;7D at 0G5T=&]N0F%R('!R;V=R86T- M"B,@&4@ M(&,Z7%QB:6Y<7$)U='1O;D)A2`@(%PB)3%<(B`@(%PB>SPM?41I2YI;FE<(B`@('1O;VQS("(-"@T*#0II;7!O&ES=',H;%!A=&@I. at T*("`@ M("`@("`@("`@<')I;G0@)T9O=6YD)PT*("`@("`@("`@("`@8G)E86L-"B`@ M("`@("`@;$-O=6YT("T](#$-"B`@("!E;'-E. at T*("`@("`@("!L4&%T:"`] M('!$969A=6QT4&%T:"`K(&Q&:6QE4&%T:`T*("`@(')E='5R;B!L4&%T:`T* M#0ID968 at 17AP86YD07)G*'!!RSPM?2!A;F0@3H-"B`@("`@("`@("`@("`@("`@("`@;%!A=&@@/2!087)E;G1396%R8V at H M;%!A=&@L('!&:6QE4&%T:"P@<$IO:6X]<$IO:6XI#0H@("`@("`@("`@("`@ M("`@97AC97!T($5X8V5P=&EO;B!A&ES M=',H;%!A=&@I. at T*("`@("`@("`@("`@("`@(&Q&;W5N9"`](&Q0871H#0H@ M("`@("`@("`@("`@("`@8G)E86L-"B`@("`@("`@96QS93H-"B`@("`@("`@ M("`@(&Q&;W5N9"`](&]S+G!A=&@N86)S<&%T:"AP1&5F875L=%!A=&@I#0H@ M("`@96QS93H-"B`@("`@("`@;$9O=6YD(#T@;$%R9PT*("`@(`T*(R`@("`@ M("`@("`@("`@("`@("`@268 at 87)G=6UE;G0 at 8V]N=&%I;G,@W!])RP@)V,Z M7%QS;W5R8V5<7'!Y=&AO;EQ<;F5W7%QD;RYP>2WAX?2YB:W`G+`T*(R`@("`@("`G>VE] M7%Q[+3%])RP@)R`@('MU?5Q<>RTR?2S)]7%QT97-T+GME?2(G+"`-"B,@("`@("`@)WLP?5Q<>S-]7%Q[;GTN M>V5]+G1X="<@("`@72D-"@T*:68 at 7U]N86UE7U\@/3T@)U]?;6%I;E]?)SH- M"B`@("`H;4]P=&EO;G,L(&U!2`]/2`G+64G. at T*("`@("`@("`@("`@'0@/2!%>'!A;F1! Hello, the version 1.1 of sec-wall has just been released. Notable changes --------------- - Added an 'ssl-wrap-only' option for terminating SSL without requiring clients to provide any authentication information - Simplified access to sec-wall's internals from other Python packages so various authentication methods can be directly imported from Python code What is sec-wall? ----------------- sec-wall is a feature packed security proxy. sec-wall has many interesting features, including support for SSL/TLS, WS-Security, HTTP Auth Basic/Digest, extensible authentication schemes based on custom HTTP headers and XPath expressions, powerful URL matching/rewriting and an optional headers enrichment. sec-wall uses and is built on top of several fantastic Python open source technologies, such as gevent, Spring Python, pesto, lxml, zdaemon or PyYAML and is meant to be highly customizable and easy to use. Good performance, tests, documentation and building an awesome community are at the very heart of the project. Here's an example showing how little is needed to secure a backend server with HTTP Basic Auth. # ###################################################### # -*- coding: utf-8 -*- # stdlib import uuid # Don't share it with anyone. INSTANCE_SECRET = '5bf4e78c256746eda2ce3e0e73f256d0' # May be shared with the outside world. INSTANCE_UNIQUE = uuid.uuid4().hex def default(): return { 'basic-auth':True, 'basic-auth-username':'MyUser', 'basic-auth-password':'MySecret', 'basic-auth-realm':'Secure area', 'host': 'http://example.com' } urls = [ ('/*', default()), ] # ###################################################### Links ----- Project's homepage: http://sec-wall.gefira.pl/ Getting started: http://sec-wall.gefira.pl/documentation/getting-started/index.html Usage examples: http://sec-wall.gefira.pl/documentation/usage-examples/index.html Twitter: https://twitter.com/fourthrealm Blog: http://www.gefira.pl/blog IRC: #sec-wall channel on Freenode network cheers, -- Dariusz Suchojad