Eventlet 0.20.0 released
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. https://pypi.python.org/pypi/eventlet/0.20.0 Important backward incompatible changes: - removed select.poll(). We never had green poll implementation. If you really need blocking poll, use patcher.original('select'). - DNS resolving is always green with dnspython bundled in. This is just a nice free improvement. Be alert only if you intentionally wanted blocking resolving. Other goodies: * greenio: only trampoline when we block * convenience: listen() sets SO_REUSEPORT when available; Thanks to Zhengwei Gao * ssl: Fix "TypeError: read() argument 2 must be read-write bytes-like object, not None" * greenio: _recv_loop behaviour with recv_into on closed sock * ipv6: getaddrinfo would fail with scope index * green.zmq: Support {send,recv}_{string,json,pyobj} wrappers * greendns: Return answers from /etc/hosts despite nameserver errors * patcher: fixed green existing locks fail (Python3) * Add DAGPool, a dependency-driven greenthread pool * wsgi: Unix socket address representation; Thanks to Samuel Merritt * tpool: isolate internal socket from default timeout; Thanks to Alex Villacís Lasso * wsgi: only skip Content-Type and Content-Length headers (GH-327) * wsgi: 400 on blank Content-Length headers (GH-334) * greenio: makefile related pypy socket ref counting * ssl: Fix recv_into blocking when reading chunks of data * websocket: support Gunicorn environ['gunicorn.socket'] Our website: http://eventlet.net/ Try latest version with `pip install -U eventlet` -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.18.3 released
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. https://pypi.python.org/pypi/eventlet/0.18.3 The most scandal Eventlet release so far: https://pypi.python.org/pypi/eventlet/0.18.3 *Important note*: do not use versions 0.18.0 and 0.18.1, they contain known bug in wsgi on Python3. 0.18 line features Python3 compatible green.OpenSSL. Now important backward incompatible changes: - socket.send() will return fast, it no longer attempts to retry like sendall() which makes it consistent with Python standard library and removes a source of very subtle errors. - monkey patching removes things from `select` module, that we could not make green. This includes `select.poll()`, epoll, kqueue, etc. See full list here http://eventlet.net/doc/changelog.html the motivation here is that we want to prevent you from accidentally blocking whole process, while thinking it should all work together. Other goodies: * greenio: Fixed a bug that could cause send() to start an endless loop on ENOTCONN; Thanks to Seyeong Kim * wsgi: Fixed UNIX socket address being trimmed in "wsgi starting" log; Thanks to Ihar Hrachyshka * subprocess: Fixed missing subprocess.mswindows attribute on Python 3.5; Thanks to Josh VanderLinden * ssl/monkey patching: Fixed a bug that would cause merely importing eventlet to monkey patch the ssl module; Thanks to David Szotten * wsgi: Made the error raised in case of chunk read failures more precise (this should be backwards compatible as the new exception class, wsgi.ChunkReadError, is a subclass of ValueError which was being used there before); Thanks to Samuel Merritt * greenio: Fixed socket.recv() sometimes returning str instead of bytes on Python 3; Thanks to Janusz Harkot * websocket: Fixed TypeError on empty websocket message (Python 3); Thanks to Fukuchi Daisuke * greenio: Fixed handling blocking IO errors in various GreenSocket methods; Thanks to Victor Stinner * greenio: Fixed GreenPipe ignoring the bufsize parameter on Python 2; Thanks to Phus Lu * greenio: Made read() support buflen=-1 and added readall() (Python 3); Thanks to David Szotten * wsgi: Improved request body discarding * subprocess: Fixed universal_newlines support * wsgi: Output of 0-byte chunks is now suppressed; Thanks to Samuel Merritt Improved the documentation; Thanks to Ramakrishnan G, ashutosh-mishra and Azhar Hussain * greenio: Changed GreenFileIO.write() (Python 3) to always write all data to match the behavior on Python 2; Thanks to Victor Stinner documentation: Added support for building plain text documentation; thanks to Levente Polyak * backdoor: Added Unix and IPv6 socket support; Thanks to Eric Urban Our website: http://eventlet.net/ Direct package download links: https://pypi.python.org/packages/3.4/e/eventlet/eventlet-0.18.3-py2.py3-none-any.whl https://pypi.python.org/packages/source/e/eventlet/eventlet-0.18.3.tar.gz -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.17.4 released
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. https://pypi.python.org/pypi/eventlet/0.17.4 First attempt at 2015-02-23, it's 4th bug fix release in 0.17 series. Featuring full Python3 and IPv6 support! Thanks to everyone involved. I'm already using Python3 for all my new projects and glad to report another important library is available. Also, Github https://github.com/eventlet/eventlet/ is now main official repository and Bitbucket is eventually consistent mirror. News: * ssl: incorrect initalization of default context; Thanks to stuart-mclaren * green.thread: Python3.3+ fixes; Thanks to Victor Stinner * Semaphore.acquire() accepts timeout=-1; Thanks to Victor Stinner * wsgi: Provide python logging compatibility; Thanks to Sean Dague * greendns: fix premature connection closing in DNS proxy; Thanks to Tim Simmons * greenio: correct fd close; Thanks to Antonio Cuni and Victor Sergeyev * green.ssl: HTTPS client Python 2.7.9+ compatibility * setup: tests.{isolated,manual} polluted top-level packages * greendns: fix dns.name import and Python3 compatibility * Full Python3 compatibility; Thanks to Jakub Stasiak * greendns: IPv6 support, improved handling of /etc/hosts; Thanks to Floris Bruynooghe * tpool: make sure we return results during killall; Thanks to David Szotten * semaphore: Don't hog a semaphore if someone else is waiting for it; Thanks to Shaun Stanworth * green.socket: create_connection() was wrapping all exceptions in socket.error; Thanks to Donagh McCabe * Make sure SSL retries are done using the exact same data buffer; Thanks to Lior Neudorfer * greenio: shutdown already closed sockets without error; Thanks to David Szotten Our website: http://eventlet.net/ Direct package download links: https://pypi.python.org/packages/3.4/e/eventlet/eventlet-0.17.4-py2.py3-none-any.whl https://pypi.python.org/packages/source/e/eventlet/eventlet-0.17.4.tar.gz -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.16.1
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. http://pypi.python.org/pypi/eventlet/0.16.1 This release features Python 2.7.9 SSL compatibility and improved Python3 support (bleeding edge, not finished officially). Thanks to all contributors! Also, we removed lots of deprecated unsupported code, including Twisted hub. This will allow us to focus on what's important and get there sooner. Next targets: Python3 and IPv6. Important note if you already installed v0.16.0: please, take a minute and update your build to 0.16.1. Module eventlet.util was removed from source tree and tarball but still made it into wheel package by my mistake. You may have code that depends (but shouldn't) on this module and will work in some cases. News: * Fix SSL socket wrapping and Python 2.7.9 compatibility; Thanks to Jakub Stasiak * Fix monkey_patch() on Python 3; Thanks to Victor Stinner * Fix maximum recursion depth exceeded in GreenSocket.__del__; Thanks to Jakub Stasiak * db_pool: BaseConnectionPool.clear updates .current_size #139; Thanks to Andrey Gubarev * Fix __str__ method on the TimeoutExpired exception class.; Thanks to Tomaz Muraus * hubs: drop Twisted support * Removed deprecated modules: api, most of coros, pool, proc, processes and util * Improved Python 3 compatibility (including patch by raylu); Thanks to Jakub Stasiak * Allow more graceful shutdown of wsgi server; Thanks to Stuart McLaren * wsgi.input: Make send_hundred_continue_headers() a public API; Thanks to Tushar Gohad * tpool: Windows compatibility, fix ResourceWarning. Thanks to Victor Stinner * tests: Fix timers not cleaned up on MySQL test skips; Thanks to Corey Wright Our website: http://eventlet.net/ Direct package download links: https://pypi.python.org/packages/2.7/e/eventlet/eventlet-0.16.1-py2.py3-none-any.whl#md5=56c5224d8e016b3f1cbcc6633560196c https://pypi.python.org/packages/source/e/eventlet/eventlet-0.16.1.tar.gz#md5=58f6e5cd1bcd8ab78e32a2594aa0abad -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.14 released
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. http://pypi.python.org/pypi/eventlet/0.15.0 This release features websocket13 support, improved PyPy compatibility and wheel package. Thanks to all contributors! Huge part is work-in-progress Python3 support, already included in this release. Please try it with your projects, report issues here https://github.com/eventlet/eventlet/issues/new hopefully, next release will officially support Python3! News: * Python3 compatibility -- **not ready yet**; Thanks to Astrum Kuo, Davanum Srinivas, Jakub Stasiak, Victor Sergeyev * coros: remove Actor which was deprecated in 2010-01 * saranwrap: remove saranwrap which was deprecated in 2010-02 * PyPy compatibility fixes; Thanks to Dmitriy Kruglyak, Jakub Stasiak * green.profile: accumulate results between runs; Thanks to Zhang Hua * greenthread: add .unlink() method; Thanks to Astrum Kuo * packaging: Generate universal wheels; Thanks to Jakub Stasiak * queue: Make join not wait if there are no unfinished tasks; Thanks to Jakub Stasiak * tpool: proxy __enter__, __exit__ fixes Bitbucket-158; Thanks to Eric Urban * websockets: Add websockets13 support; handle lack of Upgrade header; Thanks to Edward George * wsgi: capitalize_response_headers option Our website: http://eventlet.net/ Direct package download links: https://pypi.python.org/packages/source/e/eventlet/eventlet-0.15.0.tar.gz https://pypi.python.org/packages/2.7/e/eventlet/eventlet-0.15.0-py2.py3-none-any.whl#md5=72403b5b4623e4802baf976f55b11a36 -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.14 released
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. http://pypi.python.org/pypi/eventlet/0.14.0 This release features a lot of bug fixes and improvements to wsgi module. Thanks to all contributors! News: * wsgi: handle connection socket timeouts; Thanks to Paul Oppenheim * wsgi: close timed out client connections * greenio: socket pypy compatibility; Thanks to Alex Gaynor * wsgi: env['wsgi.input'] was returning 1 byte strings; Thanks to Eric Urban * green.ssl: fix NameError; Github #17; Thanks to Jakub Stasiak * websocket: allow websocket in lowercase in Upgrade header; Compatibility with current Google Chrome; Thanks to Dmitry Orlov * wsgi: allow minimum_chunk_size to be overriden on a per request basis; Thanks to David Goetz * wsgi: configurable socket_timeout Our website: http://eventlet.net/ Direct package download link: https://pypi.python.org/packages/source/e/eventlet/eventlet-0.14.0.tar.gz -- https://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.13 released
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. http://pypi.python.org/pypi/eventlet/0.13.0 This release features: - kqueue support, thanks to YAMAMOTO Takashi, Edward George - pyzmq 13.x compatibility, thanks to Edward George - Python 3.3 and RHEL 6.1 compatibility in subprocess Popen.wait() timeout kwarg; thanks to David Malcolm and caring RHEL users Also: * greenio: Fix AttributeError on MacOSX; Bitbucket #136; Thanks to Derk Tegeler * green: subprocess: Fix subprocess.communicate() block on Python 2.7; Thanks to Edward George * green: select: ensure that hub can .wait() at least once before timeout; Thanks to YAMAMOTO Takashi * tpool: single request queue to avoid deadlocks; Bitbucket pull request 31,32; Thanks to Edward George * hubs: EVENTLET_HUB can point to external modules; Thanks to Edward George * semaphore: support timeout for acquire(); Thanks to Justin Patrin * support: do not clear sys.exc_info if can be preserved (greenlet = 0.3.2); Thanks to Edward George * Travis continuous integration; Thanks to Thomas Grainger, Jakub Stasiak * wsgi: minimum_chunk_size of last Server altered all previous (global variable); Thanks to Jakub Stasiak * doc: hubs: Point to the correct function in exception message; Thanks to Floris Bruynooghe Our website: http://eventlet.net/ Direct package download link: https://pypi.python.org/packages/source/e/eventlet/eventlet-0.13.0.tar.gz -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.13 is going to have minor incompatible change in subprocess API
Hello. I'm trying to reach out for as many Eventlet users as possible. This message contains specific actions to be taken by project owners to ensure compatibility with future versions of eventlet. 1. We're going to have a minor backward incompatible change. It will *only* affect you if you use Eventlet specific `check_interval` positional argument, e.g. subprocess.Popen(...).wait(0.1). Which is very unlikely, but I have to make sure. Checking will take less than minute best case. 2. Please run the following search against your code base: grep -lr -E 'import.+subprocess' . |xargs grep -nE '\.wait\([^)]' |fgrep -v 'check_interval=' 3. If you have any results on step 3, please check that either you imported subprocess from eventlet.green or used monkey_patch and matched lines correspond to eventlet.green.subprocess.Popen objects 4. If you have any results on step 4, that is, you pass check_interval as first positional argument to .wait() method of Popen object, please change it to keyword argument `check_interval=...` 5. Please, spread this message to your coworkers, friends or other people who uses Eventlet in their projects. Thank you very much. If you are curious what's going on, here's the full story: Python 3.3 introduced `timeout` kwarg to lots of methods of subprocess module. The RHEL guys backported it to their Python 2.6 package. At some point, the code they used started to use subprocess from Eventlet which does not have the `timeout` kwarg. https://bitbucket.org/eventlet/eventlet/issue/89 https://bitbucket.org/eventlet/eventlet/pull-request/30 Now in Eventlet, I am going to introduce the `timeout` argument and to make it forward compatible with Python3, it's going to get first place, like in stdlib. To interested people, you may leave a comment in this discussion or in this Github thread: https://github.com/eventlet/eventlet/pull/34 -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.12
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. http://pypi.python.org/pypi/eventlet/0.12.0 This release features important bug fix of zmq bind(PUB) 100% busy CPU in idle. Thanks to Geoff Salmon. Also: * greenio: Fix socket.settimeout() did not switch back to blocking mode. Thanks to Peter Skirko. * greenio: socket.dup() made excess fcntl syscalls. Thanks to Peter Portante. * setup: Remove legacy --without-greenlet option and unused httplib2 dependency. Thanks to Thomas Grainger. * wsgi: environ[REMOTE_PORT], also available in log_format, log accept event. Thanks to Peter Portante. * tests: Support libzmq 3.0 SNDHWM option. Thanks to Geoff Salmon. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.11 bug fix release
Hello. Eventlet 0.11 is available. http://pypi.python.org/pypi/eventlet/0.11.0 This is a quick bug fix release featuring: * ssl: Fix busy loop in socket.sendall(). Thanks to raylu. * zmq: Return linger argument to Socket.close(). Thanks to Eric Windisch. What's next: zmq .bind(PUB) busy loop fix, modernized documentation, contributor friendly PEP-8 and style fixes. We still have lots of work to do. We need smart people like you to help with these: * For easy start, join discussion on project development path. Nose or py.test? Which pep8 messages to ignore? https://plus.google.com/u/0/109869205442495270563/posts/BhRip2sG128 * Always need various environments to run tests. Automated build agent would be super awesome. * https://github.com/eventlet/eventlet/issues?state=open Particularly #2 has working patch and needs tests, #6 Python3 support, #7 weird importing popular `requests` library, #8 IPv6 support * https://bitbucket.org/which_linden/eventlet/issues?status=newstatus=open - 61 open issues: some are dead easy, some can keep you thinking all week -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Eventlet 0.10 - bugfix release
Good news everyone! Eventlet 0.10 is officially released. http://pypi.python.org/pypi/eventlet/0.10.0 What is it? Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. Same robust, simple threaded code with powerful epoll/kqueue mechanisms underneath to serve thousands of concurrent connections. Project is no longer orphaned. We have: * releases going * roadmap for next year * official Github mirror https://github.com/eventlet/eventlet * Google+ community https://plus.google.com/communities/102444398246193806164 Now this and few next releases are bug fixes only, meaning Eventlet gets more and more robust. Changes: * greenio: Fix relative seek() (thanks to AlanP) * db_pool: Fix pool.put() TypeError with min_size 1 (thanks to Jessica Qi) * greenthread: Prevent infinite recursion with linking to current greenthread (thanks to Edward George) * zmq: getsockopt(EVENTS) wakes correct threads (thanks to Eric Windisch) * wsgi: Handle client disconnect while sending response (thanks to Clay Gerrard) * hubs: Ensure that new hub greenlet is parent of old one (thanks to Edward George) * os: Fix waitpid() returning (0, 0) (thanks to Vishvananda Ishaya) * tpool: Add set_num_threads() method to set the number of tpool threads (thanks to David Ibarra) * threading, zmq: Fix Python 2.5 support (thanks to Floris Bruynooghe) * tests: tox configuration for all supported Python versions (thanks to Floris Bruynooghe) * tests: Fix zmq._QueueLock test in Python2.6 * tests: Fix patcher_test on Darwin (/bin/true issue) (thanks to Edward George) * tests: Skip SSL tests when not available (thanks to Floris Bruynooghe) * greenio: Remove deprecated GreenPipe.xreadlines() method, was broken anyway -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[issue10880] do_mkvalue and 'boolean'
Sergey Shepelev temo...@gmail.com added the comment: Here's patch against 2.6 --- a/Python/modsupport.c Tue Aug 24 18:19:58 2010 +0200 +++ b/Python/modsupport.c Tue Jan 11 23:50:40 2011 +0300 @@ -459,6 +459,16 @@ return v; } +case '?': +{ +int n; +n = va_arg(*p_va, int); +if (n == 0) +Py_RETURN_FALSE; +else +Py_RETURN_TRUE; +} + case ':': case ',': case ' ': -- nosy: +temoto ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10880 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
Python lex settings
Hello. I'm trying to make almost-Python source to Erlang source translation tool. Are there ready ply.lex settings for parsing python source? -- http://mail.python.org/mailman/listinfo/python-list
Re: Python lex settings
On Dec 19, 2:16 am, Robert Kern robert.k...@gmail.com wrote: Sergey Shepelev wrote: Hello. I'm trying to make almost-Python source to Erlang source translation tool. Are there ready ply.lex settings for parsing python source? Yes! Andrew Dalke has implemented a PLY grammar for Python for experimenting with almost-Python languages. http://www.dalkescientific.com/Python/python4ply.html -- Robert Kern I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth. -- Umberto Eco Wow! Thank you very much, it's exactly what i was searching for. -- http://mail.python.org/mailman/listinfo/python-list