Revision 3 as of 2006-12-16 07:06:15

Clear message

When and Where

Jython is certainly a juicy project still actively used, there are interesting technical challenges, and in this one, we see substantial org challenges to overcome as well.

Homework Assignment

If you plan to participate in the sprints, please try to get your development environment set up ahead of time so we can make the best use of the time we code together. Start here: http://wiki.python.org/jython/JythonDeveloperGuide

Please also review the Resources listed below.

Engineering

Charlie Groves (jython committer) suggests:

I've been starting people out with porting a Python module written in C to Jython as described in http://wiki.python.org/jython/JythonDeveloperGuide/PortingPythonModulesToJython. Paul has been making a nice writeup of porting the csv module in more detail in his blog at http://gushieblog.blogspot.com/

I've wanted to get unicodedata for a while since several things depend on it. If you've got someone with some serious unicode experience that could be nice. We're moving to Java 1.4(or 5) for 2.3 so the select implementation could use Java's nio which would be much better than the current implementation. If someone has serious nio or select experience, that could be a good target.

You could also look at http://wiki.python.org/jython/BiggerTasks for things to do. They're probably a little too much to pick up and do something significant with in one day, but if someone wants to get started before hand, there's a fair amount in there. Some of those are more involved than they appear at first glance, so I'd run any selections from there past the list before embarking on them.

Kip Lehman:

Jython status communication

The likelihood that you, unless you are a core Jython developer, know what components are complete in Jython for a 2.2 release is quite small. Why? There appears to be no publicly available and easily digestible record of what is done, what is being worked on (and how far along it might be) and what remains to be done.

A starting point might be to segment the product into a handful of categories (with some subcategorization) and put up a red/yellow/green scoreboard for each item on the Jython web-site. What might those categorizations be? later... There is a Jython wiki page that might be an appropriate target for this. Having some rudimentary form of project status tracking might be helpful in terms of bringing in additional help. If you don't know what needs to be done or fixed, you might not want to volunteer your time. Knowing specific areas or items that are in need of attention and have a close relationship to your area of interest/expertise could be a catalyst for involvement and action.

Design

Jim Baker: One insight I got from the Django-Oracle sprint is the value of design. Well, no one questioned that, but what we saw was the input of design even late into the process with respect to supporting Oracle. We had enough experts in the room to resolve definitively some open questions - or redress some ones that had not been done satisfactorily before. So some design issues to be addressed for Jython would be byte code translation of Python features, possibly via an intermediary like Janino; requisite modules; etc. (I was looking at the list of missing modules, and there was Bastion, disabled as of 2.3...)

Testing

And if we are doing design up front, why not testing too ;) . So here's one addition to having an effective test-driven process. It would be nice if Jython were in the Pybots. I mean, why should Jython be chasing CPython constantly, when it comes to pure Python code? Complex projects like Twisted and Django have their dependencies too, and that's why they're in Pybots. My intuitive feeling is that Jython should not be converging on CPython 2.3 but on 2.6.

Designate a champion

As for a big sponsor, a white knight, my feeling is that is not going to happen until after some progress is made, if even then. (But Sun could still sponsor the PyCon sprint.) Still, if we get the participation of a company or group out there that's actively using Jython, that would add significant focus, just as Array Biopharma helped on the Django-Oracle sprint.

Technical Wish List

Kip Lehman:

strawman categories:

Classpath / invocation environment issues

Having observed the Jython mailing for some years, a repeated topic of confusion is one related to setting the CLASSPATH, using jars and how to properly reference jars/dirs in manifests. Providing a primer on how to operate using the different constructs and some pointers on the decision making process of when and how to use said constructs would be a valuable addition to the Jython community.

Improving coverage and awareness of Jython environments

Identifying features and capabilities within Java 1.5 and 1.6 that would be candidates for exploitation from Jython or need documentation to introduce/explain them to Jython developers would be helpful and a good advertisement for Jython.

Results of running the Jython test suite on various platforms/ JVM versions could provide a one-stop shop for those wondering if Jython could work in their environment and also serve to display the wide range of Jython applicability.

Jython installation package

Unknown what state the 2.2x version is in. My recollection is that the 2.1 version was characterized as not being suitable for continued use. A Jython installation package that can:

  1. be configured/scripted for large scale installations (aka headless)
  2. offer novice users a GUI with helpful explanations of installation choices and the opportunity to return and modify those choices (aka headed)

would be a important component in polishing the Jython image. It could be that most of the work for the new installer is done and that testing activities would be the most important contribution.

o Jython and web-services / SOAP

Python SOAP implementations seem to offer only limited coverage and the documentation can be somewhat difficult to comprehend.

Java web-services implementations seem to have a wider range of capabilities and larger operational acceptance. Leveraging some of the better Java web-services products with Jython might be a niche that could widen and diversify the Jython community.

Jythonc

My impression from sporadic reading of the jython-dev mailing list is that jythonc isn't going to be a workable part of 2.2. Documenting the state of jythonc 2.1 and the problematic areas that prevent its completion in 2.2 would at least provide the community with valuable information.

Resources

Supporting Comments

Unable to edit the page? See the FrontPage for instructions.