Alexandru,

These are great suggestions. Let me address them in turn:

1. what modules are supported and which are not (and how someone can implement an unsupported module)

We support most modules, certainly pure Python modules (w/o some dependency on something unsupported) and core modules. Of the builtin types, the only one we do not support is buffer. Having said that, here's the lengthier exposition:

Currently we rely on the standard CPython (soon to be core Python) test suite, as patched for a number of minor problems (reliance on garbage collection/ref counting semantics, specific orderings due to hash codes, execution orderings in tracing, etc.). For your question, the problem with this test suite is that it doesn't necessarily directly map to a given module; still there might be something automated we could do.

We have some modules where this is partial support; this is seen in the os and signals module for example, and their functionality may not be available under a given security context and would be OS platform dependent. We do plan to add more as we have time, such as perhaps os.fork. expat is another such module, it's complete enough that elementtree passes its unit tests.

We do plan to support bz2, ctypes, sqlite3, flesh out unicodedata, and support cjk codecs in 2.5.1.

Modules that we don't support, and perhaps won't, include bsddb3, curses, dbm, gdbm, ioctl, mmap, pty, Tkinter, and win32reg. Some of these might be readily doable, like mapping the curses module against CHARVA, but given limited resources, are not likely to be worked on. (Contributions welcome!)

We will not support modules related to the obsolete syntax tree for CPython (parser), the related pure-Python compiler (compiler). I'm not certain about the feasibility of symtable, but incidentally we do support 2.6's ast.

Finally, there are modules that are very much platform specific, likely not too interesting, generally obsolete, and I'm sure will never be supported in Jython, such as macostools, MacOS, sunaudiodev, winsound, etc. In this list, all but winsound were removed in Python 3.0.

If someone wanted to write a missing module, I'd take a look at our implementations of modules like threading and expat (not complete). Both demonstrate that it's feasible to write modules that would have to be written at least in part in C in CPython, but can be completely written in "pure Jython" (that is code that imports in Java libraries).

2. when compared to CPython, what are Jython current limitations

The only one I'm aware of, other than missing modules, is that functions/methods (including the top-level of a module or script) must be under 64K when compiled to Java bytecode. Our PBC-VM compiler will address that in a future release, likely 2.5.1.

In general, reporting we're seeing suggests that Jython potentially scales better than CPython, because we run on the JVM, there's no GIL, and much more work has been done on such issues as memory allocation, thread pools, connection pools, etc. Just make certain you run with sufficient memory limits.

3. how can you use Jython and Java together

This will be a major focus of the open sourced book that I'm working on with Josh, among others, for Apress. But in general, use of Java from Jython is rather transparent already; and object factories are the best approach for from Java. http://wiki.python.org/jython/JythonMonthly/Articles/October2006/3

Once again, 2.5.1 should add some nice goodies: we will get so-called freezing support from the clamp project, along with built-in JSR223 support. But certainly don't wait for 2.5.1!

4. a list of supported frameworks (community should get involved here)

The approach by http://isitjruby.com/ seems like a great idea, we should consider doing something similar to involve the community going against PyPI.

Right now, the biggest problem I'm aware of for the frameworks is in two places:
  1. Templating - engines that use expat to its fullest, C extensions, and a variety of nonportable tricks because speed is very important (but not a problem with Django or Mako, maybe others)
  2. zxJDBC standardizes the use of SQL somewhat, at the cost that the various DBI implementations don't have such standardization.

2009/6/17 Josh Juneau <juneau001@gmail.com>
Alexandru-

I think just about everyone agrees that the documentation needs to be updated a bit, and more documentation is always a great idea.  I think you'll be happy to know that there is a Jython book being authored at this time.  Authors include Frank Wierzbicki, Jim Baker, Leo Soto, Victor Ng, and myself.  This guide is sure to bring the Jython documentation set to a more current level.  This book is due to be published by Apress in the fall, and it will also be released open source.  You can view the project at http://kenai.com/projects/jythonbook to see the progression.

That being said, I have also taken the task to help out with updating the Jython.org site.  I plan to go through the documentation on the site and update it where it is needed.  Thanks for the feedback on the topics you'd like to see documented better, we will keep them in mind.  It definitely helps to have a tangible list of what people are interested in learning more about.

Best

Josh Juneau
juneau001@gmail.com
http://jj-blogger.blogspot.com
Twitter ID:  javajuneau


2009/6/17 Alexandru Popescu ☀ <the.mindstorm.mailinglist@gmail.com>

Congrats! I've been waiting for this moment for quite a while, so I'd
like to thank all people involved on getting this done!

If you'd allow me one suggestion, I'd say this would be the moment
jython needs some good documentation. I've been browsing the wiki and
while I might be wrong I think that most of the information in there
is quite old. More to the point, what I'd like to see would be some
clear docs about:

1. what modules are supported and which are not (and how someone can
implement an unsupported module)
2. when compared to CPython, what are Jython current limitations
3. how can you use Jython and Java together
4. a list of supported frameworks (community should get involved here)

Once again thanks for the release!

./alex
--
.w( the_mindstorm )p.
 Alexandru Popescu



On Tue, Jun 16, 2009 at 9:21 PM, Frank Wierzbicki<fwierzbicki@gmail.com> wrote:
> On behalf of the Jython development team, I'm pleased to announce that
> Jython 2.5.0 final is available for download:
> http://downloads.sourceforge.net/jython/jython_installer-2.5.0.jar see
> the installation instructions:
> http://wiki.python.org/jython/InstallationInstructions
>
> Jython 2.5.0 brings us up to language level compatibility with the 2.5
> version of CPython.  This release has had a strong focus on CPython
> compatibility, and so this release of Jython can run more pure Python
> apps then any previous release.  Please see the NEWS file for detailed
> release notes.
>
> I want to thank all of the amazing people who have contributed in
> large and small ways to this important Jython release.  For the first
> time in a long time we have Jython that is a modern version of Python.
>  Enjoy!
>
> Please report any bugs that you find: http://bugs.jython.org
>
> Thanks!
>
> -Frank
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> Jython-users mailing list
> Jython-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jython-users
>

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Jython-users mailing list
Jython-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Jython-users mailing list
Jython-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users




--
Jim Baker
jbaker@zyasoft.com