Below is the Jython "status update" report on Jython I received from Jim Baker 
and summarised in the Language Summit. It comes with one addendum from Frank:

Jim's list is fantastic - the one bit I'd like to add to the list:

Jython now supports a buffer protocol that parallels CPython's C API buffer 
protocol. This provided the basis for support of buffer() and memoryview(). The 
work was done with Jython3 in mind and will be a huge boost to that eventual 
effort.

Begin forwarded message:

> From: Jim Baker <jba...@zyasoft.com>
> Subject: Re: Jython Report
> Date: 7 April 2014 06:42:51 BST
> To: Michael Foord <mich...@voidspace.org.uk>
> Cc: Frank Wierzbicki <fwierzbi...@gmail.com>
> 
> Recent changes to trunk (last 6 months)
> 
> * Recently tagged a soft beta 2!
> * Java 7 JVM is now the minimum version, which gives a larger base of 
> functionality to work with (such as using Java 7's AutoCloseable to imply 
> corresponding context manager support in using Python code)
> * Enable mixing Python and Java types in the bases of a class when using a 
> metaclass
> * Added support for buffer, memoryview, although not complete yet with 
> respect to Java integration
> * Console and encoding support, such as unicodedata/idna updates
> * Many, many small fixes
> 
> About to be in trunk, to support beta 3
> 
> * socket-reboot reimplements socket/select/ssl on top of Netty 4, a popular 
> event loop networking framework for the JVM (used by a large number of 
> performant projects in Java space and originally part of JBoss). There was no 
> ssl support before, but now socket and especially select semantics are much 
> closer to CPython as well (basically close to the Windows socket model). 
> * socket-reboot in turn enables requests and thereby pip. A branch of pip 
> currently works, actually modifying an upstream vendor lib (html5lib) so that 
> it doesn't use isolated UTF-16 surrogates in literals, since this is not 
> actually legal unicode, nor does it work in Jython's UTF-16 based 
> representation. Ironically this usage is to detect such illegal use in input 
> streams.
> * Relative star imports, which seems to impact a number of interesting 
> projects.
> * Performance tuning of sre. Jython has a port of CPython's sre, however our 
> use of UTF-16 requires expansion into an array of codepoints. Currently this 
> is done on demand, which can potentially add another O(n) factor in 
> evaluating regexes. A pull request we will apply memoizes. In the future, we 
> will rewrite the logic in sre so that it does next/prev, much like JRuby 
> currently does for similar encoding issues.
> 
> Related work
> 
> * Other PyPA tooling including virtualenv and wheel needs more diagnosis to 
> see why they currently fail on Jython, but our hope is that this is minor. 
> * New project jythontools by a number of Jython developers (including Frank 
> and Jim). This includes a number of projects that will help evolve Jython, 
> but outside the usual release schedule and the usual problem of being in core 
> (such as eventual deprecation):
>       - Clamp - precise integration with Java, enabling such capabilities as 
> Java directly importing Python modules without explicitly initializing the 
> Jython runtime or using object factories. Future work will enable Java 
> annotation integration, as decorators. Integrates with setuptools; future 
> integration as well with Maven via Aether.
>       - Jiffy - provide a CFFI backend for Jython. Right now it is pure 
> vaporware, but cursory examination of cffi.backend_ctypes suggests that it 
> should be straightforward and of modest effort to provide a similar backend 
> by using JFFI, which Jython and JRuby both use to access native runtime 
> services (such as Posix API) as part of the Java native runtime project.
> * The Patois project has been started to collect examples for 
> cross-implementation support, as seen in surrogate support, but it will be a 
> good question to get that really going, vs just talking about it.
> * JyNI - simply adding this jar to the classpath enables C extension API 
> support. Note that this project has been licensed by its developer (not a 
> Jython committer) under an LGPL license.
> 
> Release schedule
> 
> * Complete beta 2
> * Beta 3 is forthcoming, likely in 2 weeks
> * For beta 4, need to perform a comprehensive bug triage - what will be in, 
> not in for 2.7.0
> * EuroPython sprint to finalize a release candidate for 2.7.0?
> 
> Future
> 
> * Mostly around performance, Java integration, and of course the usual bug 
> fixes
> * Python bytecode compiler remains important, including for support targeting 
> Android and removing restriction on getting too large a method for the JVM
> * More hooks for Java integration, including managing generated bytecode
> * Integrating Zippy could provide for PyPy-like performance, but requires 
> Graal JVM
> * Supporting invokedynamic is a more realistic solution, but without the use 
> of annotations (eg turn off Python frames) is going to be limited (maybe 2x?) 
> based on earlier analysis
> 
> Jython 3.x?
> 
> * This comes up periodically, and it would be super nice for us to complete 
> this support. At the very least it would make unicode strings and bytestrings 
> correspond directly to how they are represented in Java, so that will be a 
> nice cleanup.
> * Release schedule: we will get there at some point!
> 
> 
> On Sun, Apr 6, 2014 at 5:20 PM, Jim Baker <jba...@zyasoft.com> wrote:
> Michael,
> 
> I was thinking about this very topic this morning! Will send you the latest 
> status in the next 24h, specifically our work to support pypa (setuptools, 
> pip, virtualenv, wheel) and related tooling.
> 
> - Jim
> 
> 
> On Sun, Apr 6, 2014 at 11:30 AM, Michael Foord <mich...@voidspace.org.uk> 
> wrote:
> Hey guys,
> 
> Would you be able to write up a brief report on the current and future status 
> of Jython, for me to read out at the Python language summit on Wednesday? 
> (Unless someone who works on Jython will be there - but as far as I know that 
> isn't the case.)
> 
> All the best,
> 
> Michael Foord
> 
> --
> http://www.voidspace.org.uk/
> 
> 
> May you do good and not evil
> May you find forgiveness for yourself and forgive others
> May you share freely, never taking more than you give.
> -- the sqlite blessing
> http://www.sqlite.org/different.html
> 
> 
> 
> 
> 
> 
> 
> 


--
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html





_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to