Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'anyway.': 0.05; 'interpreter': 0.05; 'defaults': 0.07; 'gpl': 0.07; 'installed.': 0.07; 'subject:released': 0.07; 'subject:support': 0.07; 'default.': 0.09; 'initiating': 0.09; 'latter': 0.09; 'sfxlen:2': 0.11; 'python': 0.11; 'programs.': 0.14; 'thread': 0.14; 'args,': 0.16; 'binary.': 0.16; 'concurrency': 0.16; 'concurrent': 0.16; 'destroyed.': 0.16; 'fixes.': 0.16; 'mechanism.': 0.16; 'models,': 0.16; 'no-op': 0.16; 'notably': 0.16; 'received:eu': 0.16; 'ssh': 0.16; 'sudo': 0.16; 'throw': 0.16; 'timeout': 0.16; 'to:addr :python-announce-list': 0.16; 'underlying': 0.16; 'variants': 0.16; 'exception': 0.16; 'prevent': 0.16; 'fix': 0.17; 'all,': 0.19; 'trying': 0.19; 'passing': 0.19; 'command': 0.22; 'platforms': 0.22; 'hack': 0.22; 'install': 0.23; 'header:User- Agent:1': 0.23; 'gateway': 0.24; 'holger': 0.24; 'proxy': 0.24; 'skip': 0.24; 'versions': 0.24; 'options': 0.25; 'skip:" 30': 0.26; 'pass': 0.26; 'subject:/': 0.26; 'to:2**1': 0.27; 'unix': 0.29; 'accidentally': 0.31; 'allows': 0.31; 'probably': 0.32; 'skip:m 30': 0.32; 'regular': 0.32; 'skip:- 30': 0.32; 'running': 0.33; 'ourselves': 0.33; "can't": 0.35; 'tool': 0.35; 'operate': 0.35; 'test': 0.35; 'but': 0.35; 'add': 0.35; 'sequence': 0.36; 'set.': 0.36; 'method': 0.36; 'charset:us-ascii': 0.36; 'thanks': 0.36; 'changing': 0.37; 'half': 0.37; 'positive': 0.37; 'remote': 0.38; 'e.g.': 0.38; 'previous': 0.38; 'to:addr:python.org': 0.39; 'skip:p 20': 0.39; 'release': 0.40; 'read': 0.60; 'future': 0.60; 'most': 0.60; 'extended': 0.61; 'introduced': 0.61; 'details.': 0.61; 'here:': 0.62; 'content-disposition:inline': 0.62; 'such': 0.63; 'more': 0.64; 'different': 0.65; 'license': 0.66; 'world': 0.66; 'side': 0.67; 'dont': 0.67; 'improvements': 0.68; 'caused': 0.69; 'default': 0.69; 'introduce': 0.78; 'computation,': 0.84; 'deza': 0.84; 'gateways': 0.84; 'gone.': 0.84; 'look.': 0.84; 'shutdown': 0.84; 'aka': 0.91 Date: Wed, 29 Jan 2014 13:21:16 +0000 From: holger krekel To: execnet-dev , python announce Subject: execnet-1.2 released: gevent/eventlet support, many improvements MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) X-Mailman-Approved-At: Thu, 30 Jan 2014 10:20:36 +0100 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: python-list@python.org List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Approved: python-announce-list@python.org Newsgroups: comp.lang.python.announce Message-ID: Lines: 83 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1391073638 news.xs4all.nl 2846 [2001:888:2000:d::a6]:36042 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python.announce:1195 Hi all, just released execnet-1.2, the tool for writing distributed zero-install python programs. The release contains lots of improvements and fixes. Most notably execnet now supports to use gevent/eventlet models on each of the initiating side and the remote side (configurable separately). See the changelog below for details. Install it via: pip install -U execnet Read the docs here: http://codespeak.net/execnet/ have fun playing, holger 1.2 -------------------------------- - fix issue22 -- during interpreter shutdown don't throw an exception when we can't send a termination sequence anymore as we are about to die anyway. - fix issue24 -- allow concurrent creation of gateways by guarding automatic id creation by a look. Thanks tlecomte. - majorly refactor internal thread and IO handling. execnet can now operate on different thread models, defaults to "thread" but allows for eventlet and gevent if it is installed. - gateway.remote_exec() will now execute in multiple threads on the other side by default. The previous neccessity of running "gateway.remote_init_threads()" to allow for such concurrency is gone. The latter method is now a no-op and will be removed in future versions of execnet. - fix issue20: prevent AttributError at interpreter shutdown by not trying to send close/last_message messages if the world around is half destroyed. - fix issue21: allow to create local gateways with sudo aka makegateway("popen//python=sudo python"). Thanks Alfredo Deza for the PR. - streamline gateway termination and simplify proxy implementation. add more internal tracing. - if execution hangs in computation, we now try to send a SIGINT to ourselves on Unix platforms instead of just calling thread.interrupt_main() - change license from GPL to MIT - introduce execnet.dump/load variants of dumps/loads serializing/unserializing mechanism. - improve channel.receive() communication latency on python2 by changing the default timeout of the underlying Queue.get to a regular None instead of the previous default -1 which caused an internal positive timeout value (a hack probably introduced to allow CTRL-C to pass through for