On Mon, Jul 5, 2010 at 11:15 PM, Tobias Ivarsson <thobes@gmail.com> wrote:
Hi Kai,

Nice little patch :) I wonder where that code is used, the org.python.indexer code isn't used anywhere within Jython. The method you patched isn't used anywhere at all (not even from within the org.python.indexer package, or the test cases). I'm guessing Google use it internally, since they were the ones who contributed it. Does anyone know what the plans were for including the indexer in Jython? What is the intended use for it?


Thanks for patching that -- it's been on my todo-list forever to fix the Eclipse warnings.

Internally at Google we use this module to index and cross-reference all our Python code.  The way we're using it today is sort of like LXR (http://lxr.linux.no/) -- we produce a read-only index, and serve the metadata to a variety of internal clients including web frontends, IDE/editor plugins and command-line tools.  However, the indexer is actually far more powerful than LXR.  It creates a static object model and type graph for Python code, in a sense simulating what will happen at runtime, which provides a platform for building sophisticated tools.  Eventually the goal is to provide Eclipse-like functionality -- including interactive features like autocompletion and refactoring -- to any Python editor capable of calling a service or local daemon.  We're pretty far along this path with Emacs inside Google, but it still needs a lot more dogfooding.

The long-term goal is to open-source as much of this infrastructure as possible, as well as offer indexing services (e.g. for code hosted in code.google.com, although this is nothing but hypothetical speculation today).  It's a pretty small team, and we're doing 4 languages simultaneously, so it's slow going.  In the meantime, there's a little hello-world demo app that can build a simple LXR-like directory of cross-linked HTML pages using the indexer.  It's only exercising a tiny fraction of the indexer's current capabilities, but at least it shows how to fire it up and build an index of Python sources.

The intern who wrote the indexer is back with us for another internship.  He just recently started enhancing it to use some fancy control-flow-graph based type inference.  By end of summer we should have a nice update that gives it substantially more power -- hopefully beginning to approach the level of code-insight currently achievable by Google's open-source Javascript compiler (http://code.google.com/closure/compiler/).  That product is far more mature and better-staffed than our Python indexer, but it should give the flavor of where we're headed with it.

Hope that helps!

-steve
 
Regarding javadoc: Yes, unfortunately the vast majorities of the Jython classes are quite poorly javadoc documented. I haven't found this to be a very big issue though. Most of the classes in Jython are internal implementation, so any javadoc there should be written with only a maintainer/core developer in mind, a person using Jython or embedding Jython shouldn't touch most of that stuff. I've found that the code is a pretty good communicator for the current team, thus that there isn't a very urgent need for javadocs. For the few classes that are part of the "public api", and that people should use when embedding Jython, javadocs are much more important. Sadly there isn't a good list of these classes, since there is no clean "public api".

Regarding commit rights: as with most other open source projects, commit rights are earned. If you submit a steady stream of patches you could get commit rights.

Cheers,
Tobias

On Tue, Jul 6, 2010 at 12:46 AM, Kai Hackemesser <kai.hackemesser@gmail.com> wrote:
Hi,

just joined the list, here's a little patch. Eclipse marked it for
me... BTW are all the Jython classes so weakly javadoc'umented?

I would like to contribute, how do I get SVN commit rights?

I'm a SCJD with about 10 years exposure to Java. I'm no Python guy
yet, but at my workplace we started using Jython for automated testing
with the robot framework (http://robotframework.googlecode.com) last
year. I'm responsible for the Maven->Jython->Jybot interaction.

Cheers,
Kai

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Jython-dev mailing list
Jython-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-dev



------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Jython-dev mailing list
Jython-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-dev