From alex.flint at gmail.com Mon Dec 2 05:38:33 2013 From: alex.flint at gmail.com (Alex Flint) Date: Sun, 1 Dec 2013 23:38:33 -0500 Subject: process_isolation 0.13 -- per-module process isolation in pure python Message-ID: Hi all, I'm happy to announce the release of process_isolation, a library for running python modules in sub-processes while iteracting with them like normal modules. https://github.com/alexflint/process-isolation What is process_isolation? ========================== Process isolation creates sub-processes and imports python modules into them, then provides proxies so that interacting with those modules looks like interacting with ordinary modules: from process_isolation import import_isolated sys = import_isolated('sys') sys.stdout.write('Hello world\n') # runs in a sub-process This is particularly useful for testing extension modules because segfaults and other operating system-level signals can be caught as ordinary exceptions: buggy_ext_module = import_isolated('buggy_ext_module') try: buggy_ext_module.this_might_segfault() except ProcessTerminationError as ex: print 'There be dragons!' It can also be used to safely run untrusted code, and to solve the reload problem for extension modules. Process isolation is implemented in pure python. All feedback appreciated. Alex From stagi.andrea at gmail.com Wed Dec 4 01:42:45 2013 From: stagi.andrea at gmail.com (Andrea Stagi) Date: Wed, 4 Dec 2013 01:42:45 +0100 Subject: Autoflight - A simple script to upload a given .apk or .ipa to TestFlight. Message-ID: Hi everyone, I'm pleased to announce you Autoflight 1.0, a simple script to upload a given .apk or .ipa to TestFlight. Autoflight is open source, if you want to improve it please send me a pull request. You can find your repository on Github at https://github.com/atooma/autoflight Installing Autoflight is simple, just type: # pip install autoflight Then you can create your config file in your working directory using json format { "api_token": "0000F4K30000", "team_token": "0000F4K30000", "notify": true, "distribution_lists": "Internal,QA" } Then type $ autoflight my_apk_or_ipa_path --config-file config.json Alternatively you can specify parameters from the command line, launch the helper to see all the available options $ autoflight --help Hope you can find Autoflight useful to speed up your work! =.4S.= -- Andrea Stagi (@4stagi) - Software Engineer @ Atooma Inc. Job profile: http://linkedin.com/in/andreastagi Website: http://4spills.blogspot.it/ Github: http://github.com/astagi From info at egenix.com Fri Dec 6 10:53:03 2013 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Fri, 06 Dec 2013 10:53:03 +0100 Subject: ANN: eGenix PyRun - One file Python Runtime 1.3.1 Message-ID: <52A19E7F.4050409@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix PyRun - One file Python Runtime Version 1.3.1 An easy-to-use single file relocatable Python run-time - available for Linux, Mac OS X and Unix platforms, with support for Python 2.5, 2.6 and 2.7 This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-PyRun-1.3.0-GA.html ________________________________________________________________________ INTRODUCTION Our new eGenix PyRun combines a Python interpreter with an almost complete Python standard library into a single easy-to-use executable, that does not require a system wide installation and is fully relocatable. eGenix PyRun's executable only needs 11MB, but still supports most Python application and scripts - and it can be further compressed to just 3-4MB using upx. Compared to a regular Python installation of typically 100MB on disk, this makes eGenix PyRun ideal for applications and scripts that need to be distributed to many target machines, client installations or customers. It makes "installing" Python on a Unix based system as simple as copying a single file. We have been using the product internally in our mxODBC Connect Server since 2008 with great success and have now extracted it into a stand-alone open-source product. We provide both the source archive to build your own eGenix PyRun, as well as pre-compiled binaries for Linux, FreeBSD and Mac OS X, as 32- and 64-bit versions. The binaries can be downloaded manually, or you can let our automatic install script install-pyrun take care of the installation: ./install-pyrun dir and you're done. Please see the product page for more details: http://www.egenix.com/products/python/PyRun/ ________________________________________________________________________ NEWS This is a new minor release of eGenix PyRun, which comes with updates to the latest Python releases and includes a number of compatibility enhancements. New Features ------------ * Upgraded eGenix PyRun to work with and use Python 2.7.6 per default. * Upgraded eGenix PyRun to use Python 2.6.9 as default Python 2.6 version. install-pyrun Quick Installation Enhancements --------------------------------------------- Since version 1.1.0, eGenix PyRun includes a shell script called install-pyrun, which greatly simplifies installation of eGenix PyRun. It works much like the virtualenv shell script used for creating new virtual environments (except that there's nothing virtual about PyRun environments). https://downloads.egenix.com/python/install-pyrun With the script, an eGenix PyRun installation is as simple as running: ./install-pyrun targetdir We have updated this script since the last release: * install-pyrun now defaults to installing setuptools 1.4.2 and pip 1.4.1 when looking for local downloads of these tools. For a complete list of changes, please see the eGenix PyRun Changelog: http://www.egenix.com/products/python/PyRun/changelog.html For a list of changes in the 1.3.0 minor release, please read the eGenix PyRun 1.3.0 announcement: http://www.egenix.com/company/news/eGenix-PyRun-1.3.0-GA.html Presentation at EuroPython 2012 ------------------------------- Marc-Andr? Lemburg, CEO of eGenix, gave a presentation about eGenix PyRun at EuroPython 2012 last year. The talk video as well as the slides are available on our website: http://www.egenix.com/library/presentations/EuroPython2012-eGenix-PyRun/ ________________________________________________________________________ LICENSE eGenix PyRun 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 eGenix PyRun in both commercial and non-commercial settings without fee or charge. Please see our license page for more details: http://www.egenix.com/products/python/PyRun/license.html The package comes with full source code. ________________________________________________________________________ DOWNLOADS The download archives and instructions for installing eGenix PyRun can be found at: http://www.egenix.com/products/python/PyRun/ 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 other platforms, such as Solaris, AIX, HP-UX, etc. _______________________________________________________________________ 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. ________________________________________________________________________ MORE INFORMATION For more information about eGenix PyRun, licensing and download instructions, please visit our web-site: http://www.egenix.com/products/python/PyRun/ 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 specializing in 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 (#1, Dec 06 2013) >>> 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/ ________________________________________________________________________ ::::: 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 matt at plot.ly Tue Dec 3 20:54:45 2013 From: matt at plot.ly (Matt Sundquist) Date: Tue, 3 Dec 2013 11:54:45 -0800 Subject: Plotly Beta: Python plotting online and interactive IPython graphs Message-ID: Dear Python friends, Happy Tuesday! Plotly --a collaborative graphing and analytics project--recently launched a beta and we would love to hear your thoughts, suggestions, and feedback. Basic idea: - Import, upload, paste, and stream data into Plotly online (example ). - Analyze data with a grid and Python sandbox (NumPy supported). - Our Python API lets you plot with code and the GUI, making publication-quality, interactive, shareable graphs in the browser. - You alone or you and your team can collaborate, share, edit, and comment on your online plots. - You can also embed graphs and data together in an iframe (Washington Post example ). We also really, really like IPython. Interactive Plotly graphs in Notebooks: - Bubble Charts and Hover Text - Pandas & Plotly - Multiple axes, subplots, and insets - NumPy and datetime Documentation for the Python API is here , and the Notebooks and API are also on our GitHub . We would love and appreciate your expert feedback and opinions. Advice, suggestions, and support go a long way and are much appreciated. And please be forgiving (and let us know) if you encounter bugs or imperfections. We're still figuring some things out. All my best, Matt https://plot.ly Plotly Twitter Plotly Facebook From shimizukawa at gmail.com Tue Dec 10 10:36:59 2013 From: shimizukawa at gmail.com (Takayuki Shimizukawa) Date: Tue, 10 Dec 2013 18:36:59 +0900 Subject: Sphinx 1.2 released Message-ID: Hi all, I'm very happy to announce the release of Sphinx 1.2 available on the Python package index at . It includes about 50 features, several incompatible changes and fixes a lot of bugs/buglets from the 1.1.3 version of Sphinx. What's new in 1.2 (very short version)? ======================================= - Drop Python 2.4 support - Add Python 3.3 support - Improvement of internationalization - Improvement of builders: html, texinfo, latex and gettext. - Add builders: xml and pseudoxml - Add sphinx.ext.linkcode extension - Add non-ASCII code point characters path support - Add theme plugin mechanism - Add and update 10 locales - Add experimental support for parallel building with a new -j option - Add docs: detailed "Installing Sphinx" and "Sphinx Developer's Guide" For the full changelog, go to . Thanks to all coraborators and contributers! What is it? =========== Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText source files). Website: http://sphinx-doc.org/ IRC: #sphinx-doc on irc.freenode.net cheers, -- Takayuki SHIMIZUKAWA http://about.me/shimizukawa From info at egenix.com Tue Dec 10 10:43:52 2013 From: info at egenix.com (eGenix Team: M.-A. Lemburg) Date: Tue, 10 Dec 2013 10:43:52 +0100 Subject: ANN: eGenix mx Base Distribution 3.2.7 (mxDateTime, mxTextTools, etc.) Message-ID: <52A6E258.3000705@egenix.com> ________________________________________________________________________ ANNOUNCING eGenix.com mx Base Distribution mxDateTime, mxTextTools, mxProxy, mxURL, mxUID, mxBeeBase, mxStack, mxQueue, mxTools Version 3.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.7-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.7 release of the eGenix mx Base Distribution is the latest release of our open-source Python extensions. It includes these fixes and enhancements: Fixes ----- * mxBeeBase: Fixed a problem with using larger BeeDict keysizes on 64-bit platforms. These now work for keysizes between 25 and 659 characters as well. Also extended the possible keysizes for 32-bit platform to 670 characters. Thanks to Andrey Rzhetsky for pointing us to the problem. * mx.Misc.FileLock: Fixed a typo in a FileLock class name. eGenix mx Base Distribution 3.2.0 was release on 2012-08-28. Please see the eGenix mx Base Distribution 3.2.0 announcement for new features in the 3.2 major release: http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.html For a full list of changes, please refer to the eGenix mx Base Distribution change log and the change logs of the various included Python packages. http://www.egenix.com/products/python/mxBase/changelog.html ________________________________________________________________________ UPGRADING We encourage all users to upgrade to this latest eGenix mx Base Distribution release. If you are upgrading from eGenix mx Base 3.1.x, please see the eGenix mx Base Distribution 3.2.0 release notes for details on what has changed since the 3.1 major release. http://www.egenix.com/company/news/eGenix-mx-Base-Distribution-3.2.0-GA.html 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. ________________________________________________________________________ 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 ________________________________________________________________________ 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/ 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. Please see the download instructions for details: http://www.egenix.com/products/python/mxBase/#Download Whether you are using a prebuilt package or the source distribution, installation is a simple "python setup.py install" command in all cases. The only difference is that the prebuilt packages do not require a compiler or the Python development packages to be installed. ________________________________________________________________________ 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. ________________________________________________________________________ MORE INFORMATION For more information on the eGenix mx Base Distribution, documentation and installation notes, please visit our web-site: http://www.egenix.com/products/python/mxBase/ 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 (#1, Dec 10 2013) >>> 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/ ________________________________________________________________________ 2013-12-10: Released eGenix mx Base 3.2.7 ... http://egenix.com/go51 2013-12-06: Released eGenix PyRun 1.3.1 ... http://egenix.com/go50 ::::: 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 info at wingware.com Tue Dec 10 20:12:14 2013 From: info at wingware.com (Wingware) Date: Tue, 10 Dec 2013 14:12:14 -0500 Subject: Wing IDE 5.0.1 released Message-ID: <52A7678E.3090705@wingware.com> Hi, Wingware has released version 5.0.1 of Wing IDE, our integrated development environment designed specifically for the Python programming language. Wing IDE includes a professional quality code editor with vi, emacs, and other key bindings, auto-completion, call tips, refactoring, context-aware auto-editing, a powerful graphical debugger, version control, unit testing, search, and many other features. For details see http://wingware.com/ Changes in this minor release include: * Support for Python 3.4beta1+ * Fix file type registration on OS X * Fix potential segfault after using tab to move from field to field * Fix creating and renaming snippets and snippets tool drop down menu * Fix exception when closing windows and failure to quit on win32 * Optimize message tool, which could substantially slow down the IDE * Fix problems setting custom colors via the Editor -> Syntax Coloring preferences * Updates and corrections in French localization (thanks to Jean Sanchez) * Fix intermittant failure to include all selected files in a version control operation * Fix switching to alphabetizing file tabs and keeping active tab visible when there are 2+ splits * 21 other bug fixes For details see http://wingware.com/pub/wingide/5.0.1/CHANGELOG.txt New features in Wing 5 include: * Now runs native on OS X * Draggable tools and editors * Configurable toolbar and editor & project context menus * Optionally opens a different sets of files in each editor split * Lockable editor splits * Optional Python Turbo completion (context-appropriate completion on all non-symbol keys) * 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 * Asynchronous I/O in Debug Probe and Python Shell * Expanded and rewritten tutorial * Support for Python 3.4 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 matrix: 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 Advancing Software Development www.wingware.com From holger at merlinux.eu Thu Dec 12 13:07:53 2013 From: holger at merlinux.eu (holger krekel) Date: Thu, 12 Dec 2013 12:07:53 +0000 Subject: pytest-2.5.0: many fixes. ZERO reported bugs left. Message-ID: <20131212120753.GN26337@merlinux.eu> pytest-2.5.0: many fixes ... now down to ZERO reported bugs! =========================================================================== pytest-2.5.0 is a big bug fixing release, the result of two community bug fixing days plus numerous additional works from many people and reporters. The release should be fully compatible to 2.4.2, existing plugins and test suites. We aim at maintaining this level of ZERO reported bugs because it's no fun if your testing tool has bugs, is it? Under a condition, though: when submitting a bug report please provide clear information about the circumstances and a simple example which reproduces the problem. The issue tracker is of course not empty now. We have many remaining "enhancement" issues which we'll hopefully can tackle in 2014 with your help. For those who use older Python versions, please note that pytest is itself not automatically tested anymore on python2.5 due to virtualenv, setuptools and tox not supporting it anymore. Manual verification shows that it works fine still but that might change in the future. As usual, current docs are at http://pytest.org and you can upgrade from pypi via:: pip install -U pytest Particular thanks for helping with this release go to Anatoly Bubenkoff, Floris Bruynooghe, Marc Abramowitz, Ralph Schmitt, Ronny Pfannschmidt, Donald Stufft, James Lan, Rob Dennis, Jason R. Coombs, Mathieu Agopian, Virgil Dupras, Bruno Oliveira, Alex Gaynor and others. have fun, holger krekel 2.5.0 ----------------------------------- - dropped python2.5 from automated release testing of pytest itself which means it's probably going to break soon (but still works with this release we believe). - simplified and fixed implementation for calling finalizers when parametrized fixtures or function arguments are involved. finalization is now performed lazily at setup time instead of in the "teardown phase". While this might sound odd at first, it helps to ensure that we are correctly handling setup/teardown even in complex code. User-level code should not be affected unless it's implementing the pytest_runtest_teardown hook and expecting certain fixture instances are torn down within (very unlikely and would have been unreliable anyway). - PR90: add --color=yes|no|auto option to force terminal coloring mode ("auto" is default). Thanks Marc Abramowitz. - fix issue319 - correctly show unicode in assertion errors. Many thanks to Floris Bruynooghe for the complete PR. Also means we depend on py>=1.4.19 now. - fix issue396 - correctly sort and finalize class-scoped parametrized tests independently from number of methods on the class. - refix issue323 in a better way -- parametrization should now never cause Runtime Recursion errors because the underlying algorithm for re-ordering tests per-scope/per-fixture is not recursive anymore (it was tail-call recursive before which could lead to problems for more than >966 non-function scoped parameters). - fix issue290 - there is preliminary support now for parametrizing with repeated same values (sometimes useful to to test if calling a second time works as with the first time). - close issue240 - document precisely how pytest module importing works, discuss the two common test directory layouts, and how it interacts with PEP420-namespace packages. - fix issue246 fix finalizer order to be LIFO on independent fixtures depending on a parametrized higher-than-function scoped fixture. (was quite some effort so please bear with the complexity of this sentence :) Thanks Ralph Schmitt for the precise failure example. - fix issue244 by implementing special index for parameters to only use indices for paramentrized test ids - fix issue287 by running all finalizers but saving the exception from the first failing finalizer and re-raising it so teardown will still have failed. We reraise the first failing exception because it might be the cause for other finalizers to fail. - fix ordering when mock.patch or other standard decorator-wrappings are used with test methods. This fixues issue346 and should help with random "xdist" collection failures. Thanks to Ronny Pfannschmidt and Donald Stufft for helping to isolate it. - fix issue357 - special case "-k" expressions to allow for filtering with simple strings that are not valid python expressions. Examples: "-k 1.3" matches all tests parametrized with 1.3. "-k None" filters all tests that have "None" in their name and conversely "-k 'not None'". Previously these examples would raise syntax errors. - fix issue384 by removing the trial support code since the unittest compat enhancements allow trial to handle it on its own - don't hide an ImportError when importing a plugin produces one. fixes issue375. - fix issue275 - allow usefixtures and autouse fixtures for running doctest text files. - fix issue380 by making --resultlog only rely on longrepr instead of the "reprcrash" attribute which only exists sometimes. - address issue122: allow @pytest.fixture(params=iterator) by exploding into a list early on. - fix pexpect-3.0 compatibility for pytest's own tests. (fixes issue386) - allow nested parametrize-value markers, thanks James Lan for the PR. - fix unicode handling with new monkeypatch.setattr(import_path, value) API. Thanks Rob Dennis. Fixes issue371. - fix unicode handling with junitxml, fixes issue368. - In assertion rewriting mode on Python 2, fix the detection of coding cookies. See issue #330. - make "--runxfail" turn imperative pytest.xfail calls into no ops (it already did neutralize pytest.mark.xfail markers) - refine pytest / pkg_resources interactions: The AssertionRewritingHook PEP302 compliant loader now registers itself with setuptools/pkg_resources properly so that the pkg_resources.resource_stream method works properly. Fixes issue366. Thanks for the investigations and full PR to Jason R. Coombs. - pytestconfig fixture is now session-scoped as it is the same object during the whole test run. Fixes issue370. - avoid one surprising case of marker malfunction/confusion:: @pytest.mark.some(lambda arg: ...) def test_function(): would not work correctly because pytest assumes @pytest.mark.some gets a function to be decorated already. We now at least detect if this arg is an lambda and thus the example will work. Thanks Alex Gaynor for bringing it up. - xfail a test on pypy that checks wrong encoding/ascii (pypy does not error out). fixes issue385. - internally make varnames() deal with classes's __init__, although it's not needed by pytest itself atm. Also fix caching. Fixes issue376. - fix issue221 - handle importing of namespace-package with no __init__.py properly. - refactor internal FixtureRequest handling to avoid monkeypatching. One of the positive user-facing effects is that the "request" object can now be used in closures. - fixed version comparison in pytest.importskip(modname, minverstring) - fix issue377 by clarifying in the nose-compat docs that pytest does not duplicate the unittest-API into the "plain" namespace. - fix verbose reporting for @mock'd test functions From fabiofz at gmail.com Thu Dec 12 19:37:43 2013 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Thu, 12 Dec 2013 16:37:43 -0200 Subject: PyDev 3.1.0 released Message-ID: Hi All, PyDev 3.1.0 has been released Details on PyDev: http://pydev.org Details on its development: http://pydev.blogspot.com LiClipse (PyDev standalone with goodies such as support for Django Templates, Mako Templates, Html, Javascript, etc): http://brainwy.github.io/liclipse/ Release Highlights: ------------------------------- * **Important**: PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For older versions, keep using PyDev 2.x. * **Refactoring**: * It's now possible to rename a module (using F2 or drag and drop in the pydev package explorer). * Multiple improvements on the rename refactoring. * **Debugger**: * **Automatic code reloading on the debugger** (based on xreload). * When a file is changed and a debug session is on, PyDev will automatically reload it (based on xreload). * View https://github.com/fabioz/Pydev/blob/development/plugins/org.python.pydev/pysrc/pydevd_reload.pyfor caveats/limitations. * **Get referrers on debug** * Right-click expression or variable in debugger and select 'Get Referrers' * Note: may not work on some Python variants as it needs access to the gc module. * **Stackless python** is now supported in the debugger, showing all the suspended tasklets in the stack view. * Automatically force focus to Eclipse on breakpoint hit (Enable in prefereces > pydev > debug). * The remote debugger can be left 'always on' (Enable in prefereces > pydev > debug). * If there's an exception while evaluating a conditional breakpoint the thread is suspended and the issue reported. * Option to skip caught exceptions thrown and handled in the same context. * A comment with @IgnoreException can be added to lines where an exception is thrown to have that exception ignored by the debugger when caught exceptions support is turned on. * Improved visualization of frame objects. * Bug-fixes on Jython debugging. * **Unittest**: * Django: The default PyDev unittest runner can now run Django tests properly * Selecting a unit-test method in the editor and **right-click > run as unit-test** will run only the selected unit-test. * **Ctrl+F9** with test selected will pre-select only that test to run in unit-test. * **General**: * Improvements on search for references (Ctrl+Shift+G). * Fixed some racing conditions related to the plugin startup. * Organize imports has option to add from imports before other imports. * Improved connection to shell that does code-completion. * Properly supporting creation of shell inside a Jython VM in Eclipse. 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 LiClipse http://brainwy.github.io/liclipse PyDev - Python Development Environment for Eclipse http://pydev.org http://pydev.blogspot.com From tlatsas2000 at gmail.com Thu Dec 12 20:43:19 2013 From: tlatsas2000 at gmail.com (Tasos Latsas) Date: Thu, 12 Dec 2013 21:43:19 +0200 Subject: wigiki - build static html sites using github gists as pages Message-ID: Hello everyone, Posting here in case someone else finds this interesting. Wigiki is still work in progress (version 0.6) but is currently usable. I use Github's Gists a lot, mostly for note-taking and I wanted a painless way to group some of these notes into a wiki-like site. So, the main idea is that you write a json file with a list of gist ids and some other info and then run wigiki to build a static html site. The gists are not currently downloaded but they are embedded [1] thus the generated site is not suitable for offline reading. It ships with a very basic and minimal theme but I have also started working on a bootstrap-based one. A theme is basically a bunch of jinja2 templates following some conventions so that other people can hack/contribute themes. Wigiki source code [2] and documentation [3] are hosted on github. You can download from there or from pypi [4]. Cheers [1]: https://github.com/blog/122-embedded-gists [2]: https://github.com/tlatsas/wigiki [3]: http://tlatsas.github.io/wigiki/ [4]: https://pypi.python.org/pypi/wigiki -- Tasos Latsas GPG Key : 0x414301DF From jendrikseipp at web.de Thu Dec 12 20:27:28 2013 From: jendrikseipp at web.de (jendrikseipp at web.de) Date: Thu, 12 Dec 2013 20:27:28 +0100 Subject: RedNotebook 1.8.0 Message-ID: <0MD87M-1VljKu0CGi-00GZeK@smtp.web.de> A new RedNotebook version has been released. You can get the tarball, Windows installer and links to distribution packages at http://rednotebook.sourceforge.net/downloads.html What is RedNotebook? -------------------- RedNotebook is a **graphical journal** and diary helping you keep track of notes and thoughts. It includes a calendar navigation, customizable templates, export functionality and word clouds. You can also format, tag and search your entries. RedNotebook is available in the repositories of most common Linux distributions and a Windows installer is available. It is written in Python and uses GTK+ for its interface. What's new in this version? --------------------------- * Add font selection for edit mode (Philip Akesson). * Allow changing preview and cloud font in preferences. * Only allow opening RedNotebook minimized on Windows since other systems may lack a system tray. * Fix: Display tags starting with "SEP" in preview (lp:1255582). * Write scripts to cross-compile RedNotebook Windows exe and installer on Linux. Cheers, Jendrik From pie.denis at skynet.be Fri Dec 13 12:31:28 2013 From: pie.denis at skynet.be (pie.denis at skynet.be) Date: Fri, 13 Dec 2013 12:31:28 +0100 Subject: ANN: Lea 1.2 (discrete probability distributions) Message-ID: <0792fb$nh2aos@privrelay-pool1.isp.belgacom.be> I have the pleasure to announce the release of Lea 1.2.? Lea is a Python package aiming at working with discrete probability? distributions in an intuitive way.? It allows modelling a broad range of random discrete phenomenons. Then, it? allows calculating probabilities of events, whether atomic, aggregated or? combined through given operations. A typical example is the probabilities of? the sum of N dice having known, possibly unfair, probability distributions.? Features? --------? Here are the main features of Lea:? - models finite discrete probability distributions? - standard distribution indicators (mean, standard deviation,.)? - arithmetic and logical operators on probability distribution? - cartesian products, conditional probabilities, joint distributions? - generation of random samples? - open-source project, LGPL license? - pure Python module, lightweight - no package dependency? - probabilities stored as integers (no floating-point biases)? Links? -----? Download (PyPi):????????http://pypi.python.org/pypi/lea? Project page:????????http://code.google.com/p/lea/? (with wiki documentation including tutorials, examples and API)? Hoping this could be helpful in this uncertain universe...? Pierre Denis? From phd at phdru.name Sun Dec 15 16:42:53 2013 From: phd at phdru.name (Oleg Broytman) Date: Sun, 15 Dec 2013 16:42:53 +0100 Subject: SQLObject 1.5.1 Message-ID: <20131215154253.GC10283@phdru.name> Hello! I'm pleased to announce version 1.5.1, the first bugfix release of branch 1.5 of SQLObject. What's new in SQLObject ======================= * SQLiteConnection.close() now closes and reopens a connection to in-memory database. Contributor for this release is Maciej (Matchek) Blizinski. 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.1 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 steve at holdenweb.com Mon Dec 16 19:20:34 2013 From: steve at holdenweb.com (Steve Holden) Date: Mon, 16 Dec 2013 18:20:34 +0000 Subject: OSCON Call for Participation opens Message-ID: OSCON, the annual Open Source Convention held in Portland OR, will be held next year from July 20-24. The call for participation has now been published, and there will again be a Python track. Please see the full call at http://www.oscon.com/oscon2014/public/cfp/308. Submissions for 3-hour tutorials and 40-minute talks are due by January 30, 2104. regards Steve From holger at merlinux.eu Tue Dec 17 10:54:15 2013 From: holger at merlinux.eu (holger krekel) Date: Tue, 17 Dec 2013 09:54:15 +0000 Subject: pytest-2.5.1: fixes and new home page styling Message-ID: <20131217095415.GI15666@merlinux.eu> pytest-2.5.1: fixes and new home page styling =========================================================================== pytest is a mature Python testing tool with more than a 1000 tests against itself, passing on many different interpreters and platforms. The 2.5.1 release maintains the "zero-reported-bugs" promise by fixing the three bugs reported since the last release a few days ago. It also features a new home page styling implemented by Tobias Bieniek, based on the flask theme from Armin Ronacher: http://pytest.org If you have anything more to improve styling and docs, we'd be very happy to merge further pull requests. On the coding side, the release also contains a little enhancement to fixture decorators allowing to directly influence generation of test ids, thanks to Floris Bruynooghe. Other thanks for helping with this release go to Anatoly Bubenkoff and Ronny Pfannschmidt. As usual, you can upgrade from pypi via:: pip install -U pytest have fun and a nice remaining "bug-free" time of the year :) holger krekel 2.5.1 ----------------------------------- - merge new documentation styling PR from Tobias Bieniek. - fix issue403: allow parametrize of multiple same-name functions within a collection node. Thanks Andreas Kloeckner and Alex Gaynor for reporting and analysis. - Allow parameterized fixtures to specify the ID of the parameters by adding an ids argument to pytest.fixture() and pytest.yield_fixture(). Thanks Floris Bruynooghe. - fix issue404 by always using the binary xml escape in the junitxml plugin. Thanks Ronny Pfannschmidt. - fix issue407: fix addoption docstring to point to argparse instead of optparse. Thanks Daniel D. Wright. From vinay_sajip at yahoo.co.uk Tue Dec 17 18:27:23 2013 From: vinay_sajip at yahoo.co.uk (Vinay Sajip) Date: Tue, 17 Dec 2013 17:27:23 +0000 (GMT) Subject: ANN: Version 0.1.2 of sarge (a subprocess wrapper library) has been released. Message-ID: <1387301243.56684.YahooMailBasic@web171302.mail.ir2.yahoo.com> Version 0.1.2 of Sarge, a cross-platform library which wraps the subprocess module in the standard library, has been released. What changed? ------------- - Fixed issue #12: Prevented a hang which occurred when a redirection failed. - Fixed issue #11: Added "+" to the characters allowed in parameters. - Fixed issue #10: Removed a spurious debugger breakpoint. - Fixed issue #9: Relative pathnames in redirections are now relative to the current working directory for the redirected process. - Added the ability to pass objects with "fileno()" methods as values to the "input" argument of "run()", and a "Feeder" class which facilitates passing data to child processes dynamically over time (rather than just an initial string, byte-string or file). - Added functionality under Windows to use PATH, PATHEXT and the registry to find appropriate commands. This can e.g. convert a command 'foo bar', if 'foo.py' is a Python script in the c:\Tools directory which is on the path, to the equivalent 'c:\Python26\Python.exe c:\Tools\foo.py bar'. This is done internally when a command is parsed, before it is passed to subprocess. - Fixed issue #7: Corrected handling of whitespace and redirections. - Fixed issue #8: Added a missing import. - Added Travis integration. - Added encoding parameter to the "Capture" initializer. - Fixed issue #6: addressed bugs in Capture logic so that iterating over captures is closer to subprocess behaviour. - Tests added to cover added functionality and reported issues. - Numerous documentation updates. What does Sarge 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. * The ability to look for patterns in captured output and to interact accordingly with the child process. 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 pie.denis at skynet.be Tue Dec 17 23:24:07 2013 From: pie.denis at skynet.be (Pierre Denis) Date: Tue, 17 Dec 2013 23:24:07 +0100 Subject: ANN: Lea 1.2 (discrete probability distributions) Message-ID: <096863$rt9gt0@relay.skynet.be> I have the pleasure to announce the release of Lea 1.2.? Lea is a Python package aiming at working with discrete probability?distributions in an intuitive way.? It allows modeling a broad range of random discrete phenomenon's. Then, it?allows calculating probabilities of events, whether atomic, aggregated or?combined through given operations. A typical example is the probabilities of?the sum of N dice having known, possibly unfair, probability distributions.? Features? --------? Here are the main features of Lea:? - models finite discrete probability distributions? - standard distribution indicators (mean, standard deviation,.)? - arithmetic and logical operators on probability distribution? - cartesian products, conditional probabilities, joint distributions? - generation of random samples? - open-source project, LGPL license? - pure Python module, lightweight - no package dependency? - probabilities stored as integers (no floating-point biases)? Links? -----? Download (PyPi): ????????http://pypi.python.org/pypi/lea? Project page: ????????http://code.google.com/p/lea/? (with wiki documentation including tutorials, examples and API)? Hoping this could be helpful in this uncertain universe...? Pierre Denis? From hgrecco at gmail.com Wed Dec 18 14:21:02 2013 From: hgrecco at gmail.com (Hernan Grecco) Date: Wed, 18 Dec 2013 11:21:02 -0200 Subject: [ANN] Pint 0.4 (Units in Pythono Message-ID: Hi, We are happy to announce Pint 0.4. Pint is a Python package to define, operate and manipulate physical quantities: the product of a numerical value and a unit of measurement. This release brings a lot of new exciting features including Context. A Context enables to convert between unrelated dimensions based on pre-established rules. Check out the blog post for more details: http://python-in-the-lab.blogspot.com.ar/2013/12/context-aware-unit-conversion-in-pint.html You can get pint using pip: $ pip install pint or get the source code: https://github.com/hgrecco/pint and check the docs: http://pint.readthedocs.org/ What is Pint? --- Pint is Python package to define, operate and manipulate physical quantities: the product of a numerical value and a unit of measurement. It allows arithmetic operations between them and conversions from and to different units. It is distributed with a comprehensive list of physical units, prefixes and constants. Due to it?s modular design, you can extend (or even rewrite!) the complete list without changing the source code. It has a complete test coverage. It runs in Python 2.7 and 3.X with no other dependency. It licensed under BSD. Highlights --- * Unit parsing: prefixed and pluralized forms of units are recognized without explicitly defining them. In other words: as the prefix kilo and the unit meter are defined, Pint understands kilometers. This results in a much shorter and maintainable unit definition list as compared to other packages. * Standalone unit definitions: units definitions are loaded from a text file which is simple and easy to edit. Adding and changing units and their definitions does not involve changing the code. * Advanced string formatting: a quantity can be formatted into string using PEP 3101 syntax. Extended conversion flags are given to provide symbolic, latex and pretty formatting. * Free to choose the numerical type: You can use any numerical type (fraction, float, decimal, numpy.ndarray, etc). NumPy is not required but supported. * NumPy integration: When you choose to use a NumPy ndarray, its methods and ufuncs are supported including automatic conversion of units. For example numpy.arccos(q) will require a dimensionless q and the units of the output quantity will be radian. * Handle temperature: conversion between units with different reference points, like positions on a map or absolute temperature scales. * Small codebase: easy to maintain codebase with a flat hierarchy. * Dependency free: it depends only on Python and it?s standard library. * Python 2 and 3: a single codebase that runs unchanged in Python 2.7+ and Python 3.0+. Thanks to the people that contributed bug reports, suggestions and patches since 0.3. In particular to: John David Reaver, Giel van Schijndel and Nate Bogdanowicz. Enjoy! Hern?n From commx at commx.ws Thu Dec 19 18:11:23 2013 From: commx at commx.ws (Christian Jurk) Date: Thu, 19 Dec 2013 18:11:23 +0100 Subject: ANN: python-rrdtool (Python bindings for rrdtool) Message-ID: Dear community, I'm pleased to announce version 0.1.1 of python-rrdtool (former rrdtool-py3k). python-rrdtool is a rrdtool Python binding for Python 2 and 3. Its based on the original Python (2.x) bindings module by Hye-Shik Chang and available as a native C extension. Furthermore, it provides an object-oriented interface to RRD files. Changes in version 0.1.1: * Added support for Python 2.7. The binding can now handle Python 2.x and 3.x. * Added dump command (backport of the commit of Steve Dougherty into the official rrdtool python binding). * Minor fixes regarding the use of the graphv command when using on Python 3.x. Installation is pretty simple (using pip): # pip install https://github.com/commx/python-rrdtool/tarball/master The project is hosted on Github (including sources): https://github.com/commx/python-rrdtool Further documentation and usage examples can be found on the Github project page. I'd like to encourage users to test the binding and submit bugs (as its still at a early stage of development) to the issue tracker there. Thank you. -- Best regards, Christian Jurk From geertj at gmail.com Sat Dec 21 22:54:50 2013 From: geertj at gmail.com (Geert Jansen) Date: Sat, 21 Dec 2013 13:54:50 -0800 (PST) Subject: ANN: Gruvi 0.9.1 Message-ID: Gruvi is a new I/O library for Python. It uses pyuv and coroutines based on python-fibers to provide a synchronous programming model for evented IO. Gruvi is similar in objective to gevent and asyncio but it has its own unique design. Some cool features: * Uses a transport/protocol API (no monkey patching). * Comes with an SSL transport that should scale on all platforms including Windows. * Comes with high-performance HTTP client and server implementations (based on the Node.js http-parser), a D-BUS client, and a JSON-RPC client and server. * Use regular Python function call syntax to call potentially blocking functions. When a function blocks, the current fiber is suspended until the operation completes. * Has a concurrent.futures like fiber and thread pool. * Comes with thread-safe synchronization primitives. Project page (redirects to PyPI page): http://gruvi.io/ Source code: https://github.com/geertj/gruvi Feedback is appreciated on geertj at gmail.com. Regards, Geert Jansen From pierre.raybaut at gmail.com Thu Dec 26 18:24:28 2013 From: pierre.raybaut at gmail.com (Pierre Raybaut) Date: Thu, 26 Dec 2013 18:24:28 +0100 Subject: ANN: New WinPython with Python 2.7.6 and 3.3.3 (32/64bit) Message-ID: Hi all, I am pleased to announce that four new versions of WinPython have been released yesterday with Python 2.7.6 and 3.3.3, 32 and 64 bits. Many packages have been added or upgraded (Spyder 2.2.5 for Python 2, Spyder 2.3.0beta2 for Python 3, SciPy 0.13.2, NumPy MKL 1.8.0, IPython 1.0, etc. -- see the complete changelog: https://sourceforge.net/p/winpython/wiki/ChangeLog_27/). Special thanks to Christoph Gohlke for building most of the binary packages bundled in WinPython. WinPython is a free open-source portable distribution of Python for Windows, designed for scientists: http://winpython.sourceforge.net/. It is a full-featured Python-based scientific environment: * Designed for scientists (thanks to the integrated libraries NumPy, SciPy, Matplotlib, guiqwt, etc.: * Regular *scientific users*: interactive data processing and visualization using Python with Spyder * *Advanced scientific users and software developers*: Python applications development with Spyder, version control with Mercurial and other development tools (like gettext) * *Portable*: preconfigured, it should run out of the box on any machine under Windows (without any installation requirements) and the folder containing WinPython can be moved to any location (local, network or removable drive) * *Flexible*: one can install (or should I write "use" as it's portable) as many WinPython versions as necessary (like isolated and self-consistent environments), even if those versions are running different versions of Python (2.7, 3.x in the near future) or different architectures (32bit or 64bit) on the same machine * *Customizable*: using the integrated package manager (wppm, as WinPython Package Manager), it's possible to install, uninstall or upgrade Python packages (see https://sourceforge.net/p/winpython/wiki/WPPM/ for more details on supported package formats). *WinPython is not an attempt to replace Python(x,y)*, this is just something different: more flexible, easier to maintain, movable and less invasive for the OS, but certainly less user-friendly, with less packages/contents and without any integration to Windows explorer [*]. [*] Actually there is an optional integration into Windows explorer, providing the same features as the official Python installer regarding file associations and context menu entry (this option may be activated through the WinPython Control Panel), and adding shortcuts to Windows Start menu. Enjoy! -Pierre From robin at alldunn.com Sun Dec 29 01:56:37 2013 From: robin at alldunn.com (Robin Dunn) Date: Sat, 28 Dec 2013 16:56:37 -0800 Subject: ANNOUNCE: wxPython 3.0.0.0 Message-ID: <52BF7345.1000301@alldunn.com> Announcing ---------- wxPython 3.0.0.0 (classic) has been released and is now available for download at http://wxpython.org/download.php. No new features but lots of bug fixes in wxWidgets and of course the bump (finally!) up to 3.0. Various binaries are available for 32-bit and 64-bit Windows, and also for OSX using the Carbon and Cocoa APIs, for Python 2.6 and 2.7. Source code is also available at http://wxpython.org/download.php of course, for building your own. What is wxPython? ----------------- wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a set of Python extension modules that wrap the GUI components of the popular wxWidgets cross platform library, which is written in C++. wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit and 64-bit Microsoft Windows, most Linux or other Unix-like systems using GTK2, and Mac OS X 10.4+. In most cases the native widgets are used on each platform to provide a 100% native look and feel for the application. -- Robin Dunn Software Craftsman http://wxPython.org From tanner at gmx.net Mon Dec 30 00:08:18 2013 From: tanner at gmx.net (Thomas Tanner) Date: Mon, 30 Dec 2013 00:08:18 +0100 Subject: ANN: kryptomime 0.1.3 Message-ID: <52C0AB62.7070902@gmx.net> kryptomime 0.1.3 has been released. https://pypi.python.org/pypi/kryptomime/0.1.3 About kryptomime ================ A package for encrypted MIME messages. It currently supports PGP/MIME via GnuPG. S/MIME support is planned for future releases. Disclaimer ---------- Proper kryptography requires security audits of the complete system. Even though the author is not aware of any bugs in this software, it comes with ABSOLUTELY NO WARRANTY. USE THIS SOFTWARE AT YOUR OWN RISK. Installation ------------ >From PyPI: [sudo] pip install kryptomime To install this package from this git repository, do: git clone https://github.com/ttanner/kryptomime.git cd kryptomime python setup.py install python setup.py test Optionally to build the documentation after installation, do: cd docs make html This is a simple example of how to use kryptomime:: >>> from kryptomime import create_mail, GPGMIME >>> import gnupg >>> gpg = gnupg.GPG(home='gpghome') >>> krypto = GPGMIME(gpg,default_key=('foo at bar.com','passphrase')) >>> msg = create_mail('foo at bar.com','bar at fnord.net','subject','body\nmessage') >>> sgnmsg,results = krypto.sign(msg) >>> verified, results = krypto.verify(sgnmsg) >>> rawmsg,signed = krypto.strip_signature(sgnmsg) >>> encmsg,results = krypto.encrypt(msg,sign=True) >>> verified, results = krypto.verify(encmsg) >>> decmsg, verified, results = krypto.decrypt(encmsg) Bug Reports & Feature Requests ------------------------------ Please use the bugtracker https://github.com/ttanner/kryptomime/issues on Github. From fabiofz at gmail.com Mon Dec 30 14:16:03 2013 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Mon, 30 Dec 2013 11:16:03 -0200 Subject: PyDev 3.2.0 Released Message-ID: Hi All, PyDev 3.2.0 has been released Details on PyDev: http://pydev.org Details on its development: http://pydev.blogspot.com LiClipse (PyDev standalone with goodies such as support for Django Templates, Mako Templates, Html, Javascript, etc): http://brainwy.github.io/liclipse/ Release Highlights: ------------------------------- * **Important**: PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For older versions, keep using PyDev 2.x. * **General**: * Added option to sort imports on save. * Showing dialog suggesting user to customize settings in Eclipse which are more suitable for PyDev. * Memory improvements on situations where an OutOfMemoryError could happen. * Search references (Ctrl+Shift+G) when initial is on external module works (for matches in workspace). * **Rename refactoring**: * Added option to rename module without updating references. * Bugfixes. * **Performance**: * Code completion: Builtins gotten from a shell are now cached for subsequent requests. * Doing a full build (reindex) is faster. * **Debugger**: * Improvements on stackless integration. * Providing a view which shows the current caught exception. * Providing way to ignore current caught exception. * Providing option to show progress on taskbar when breakpoint is hit to get the users attention (windows 7). * Fixed issue in while getting referrers when getting __dict__ and having an exception. 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 LiClipse http://brainwy.github.io/liclipse PyDev - Python Development Environment for Eclipse http://pydev.org http://pydev.blogspot.com