Eventlet 0.20.0 released

2016-12-12 Thread Sergey Shepelev
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

2016-02-13 Thread Sergey Shepelev
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

2015-05-15 Thread Sergey Shepelev
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

2015-01-14 Thread Sergey Shepelev
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

2014-07-03 Thread Sergey Shepelev
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

2013-09-15 Thread Sergey Shepelev
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

2013-07-05 Thread Sergey Shepelev
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

2013-06-05 Thread Sergey Shepelev
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

2013-01-25 Thread Sergey Shepelev
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

2013-01-14 Thread Sergey Shepelev
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

2012-12-28 Thread Sergey Shepelev
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'

2011-01-11 Thread Sergey Shepelev

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

2008-12-18 Thread Sergey Shepelev
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

2008-12-18 Thread Sergey Shepelev
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