Differences between revisions 5 and 53 (spanning 48 versions)
Revision 5 as of 2005-02-06 22:24:36
Size: 5210
Editor: BrianZimmer
Comment:
Revision 53 as of 2013-02-06 23:22:57
Size: 2373
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Please edit system and help pages ONLY in the moinmaster wiki! For more
## information, please see MoinMaster:MoinPagesEditorGroup.
## Please edit (or translate) system/help pages on the moinmaster wiki ONLY.
## For more information, please see MoinMaster:MoinPagesEditorGroup.
##master-page:Unknown-Page
##master-date:Unknown-Date
#acl MoinPagesEditorGroup:read,write,delete,revert All:read
#format wiki
#language en
 
= Where Is Jython Going? =

First of all, Jython recently received one of three PSF grants for so development and community building will continue. The Big Picture as of the start of 2005 can be found in MovingJythonForward.

----

== February 2005 ==

Jython.org update and addition of a wiki. ''If you're reading this, we're getting somewhere ;)''

Assign bugs. The buglist needs to be prioritized and non-bugs need to be removed. In part this has to happen with NewStyleClasses. as bugs will be best evaluated in light of that shipment. The patch list will also need to be cleaned up and reviewed.

'''Milestone:''' Implementation of NewStyleClasses. One of the primary missing features in Jython is the implementation of new style classes which SamuelePedroni has been working on.

'''Milestone:''' Design for the implementation of PEP302 and initial development. This effort will be led by BrianZimmer. If you're interested in assisting let him know.
= Jython Roadmap =
Line 28: Line 4:
== March 2005 ==

Start fixing bugs. High priority bugs will need to be dealt with, and the community will need to be made aware of critical open bugs!

Removal of makefiles, update the ant build. It's likely this could involve a reorganisation of the repository. '''Any repository reorg is dependent on NewStyleClasses having shipped'''. Some people have indicated a preference for Subversion going forward - the community should allow that merely discussing a change of VCS is going to take a good amount of time.

'''Milestone:''' A transparent community process for incorporating patches and contributions.
== Position Now ==
Line 37: Line 7:
== April 2005 ==

Final decision on choice of VCS and repository layout.

Creation of repeatable build, deployment and installation scripts to facilitate future releases. The current installer is known not to work.

'''Milestone:''' Jython 2.4 alpha. The completion of the new-style class integration, the fixing of critical bugs will culminate in the release of an initial alpha.
(Least edited February 2013.)
Line 46: Line 10:
== May 2005 ==

A good amount of time in May can be expected to deal with feedback from the alpha release.

Simplifying import (removing PackageManager). Simplifying the importing of Java classes would ease a lot frustration and make things more consistent.

'''Milestone:''': Removing 1.1 support (to gain Collection framework support, simpler code, ...). Consider the current situation:

    {{{
    >>> from java.util import ArrayList
    >>> a = ArrayList([1,2,3])
    Traceback (innermost last):
      File "<console>", line 1, in ?
    TypeError: java.util.ArrayList(): 1st arg can't be coerced to java.util.Collection or int
    }}}

and as a result, slate the following for implementation:

 * Support for boolean type
 * PEP 302 (New Import Hooks)
 * Logging (PEP 282, there exists a patch proposal for integration with Log4J)
 * DataType marshalling from the Jython runtime to Java runtime
 * User-defined types
 * JythonC integration into standard interpreter compiler
 * v2.5.3 is current.
Line 72: Line 13:
== June 2005 ==

Fix issues found in the alpha and incorporate the tighter Java integration features as they arrive.

'''Milestone:''': Jython 2.4 beta. The resulting work will be released as a beta candidate.
== Current Plan ==
Line 79: Line 16:
== July 2005 ==

bugs, bugs, bugs. And who knows what else. Plus this time of year a lot of people are on vacation.
(Least edited February 2013: Needs more detail.)
Line 84: Line 19:
== August 2005 ==  * v2.5.x versions may appear consolidating bug-fixes
 * v2.6 is skipped
 * v2.7 is the main focus of current work. A beta is imminent (February 2013).
 * v3.x (3.3 probably) is under consideration.
Line 87: Line 25:
'''Milestone:''': Jython 2.4 final. == Who is doing what? ==
Line 90: Line 28:
== September 2005 ==

After releasing a final the decisions about source control can be implemented. It's important to have a firm plan in place by this time and to have delivered a new and stable Jython release prior to any migration.

With the final release, focus is expected to center on AbsentModules. It is proposed that at least following modules be delivered by this time:

    * sets
    * select
    * datetime

The community will dictate the remainder of the modules to be delivered.
 * [[http://bugs.jython.org|Bug fixes]]: anyone
Line 103: Line 31:
== October 2005 ==

Missing Built-ins. A number of built-ins are missing as well methods core classes have appeared since 2.1. Some of the missing features have been documented in the whatsnew lists available with each new Python:

    * [WWW] http://www.python.org/doc/2.2.1/whatsnew/whatsnew22.html
    * [WWW] http://python.org/2.3/highlights.html
    * [WWW] http://python.org/2.4/highlights.html
=== Towards v2.7 ===
Line 112: Line 34:
'''Milestone:''': Jython 2.4.1 release candidate.  * math module: Oti
 * documentation, text_xrange.py, test_complex.py: Josh
 * grammar cleanup, test_class.py: Frank
 * itertools, collections: Jim
 * mercurial move, abcs, exceptions, posix/ntpath, io, tarfile: pjenvey
 * `bytearray`, buffer API and a partial `memoryview`: Jeff
Line 115: Line 42:
== November 2005 ==

Fix issues found in the release candidate and incorporate implemented modules as they arrive.
=== Towards v3.3 ===
Line 120: Line 45:
'''Milestone:''': Jython 2.4.1 final.  * Use of Java 7 `invokedynamic`: Jim?


== Scraps of former plans ==


When the page bore a roadmap was for v2.6, this material was in it. Some of it is still accurate for v2.7, some is probably complete now, and some is no longer relevant. Those who know which is which are able to improve the roadmap!


=== 2.6.0 ===


 * Upgrade to Python 2.6 language and builtins, along with a substantial subset of the stdlib
 * Redesign [[PySystemState|PySystemState]], [[ThreadState|ThreadState]] API
 * Mark true-public APIs with a suitable annotation; deprecate and/or remove obsolete APIs
 * Remove all user-visible singletons in org.python.core, especially any static public fields (like those in `PySystemState`)
 * Performance!
 * Require minimum Java 6, rip out Java 5 compatibility:
  * Generic.newSetFromMap
  * Believe we can remove the xercesImpl jar, livetribe-jsr223-2.0.5.jar
  * can start utilizing jsr199 (the Java compiler API) for certain things (mostly for unittests I believe)
  * Other things..
Line 124: Line 70:
----

Unscheduled ???

 * Polishing the cluster PyJavaClass/PyJavaInstance/PyClass/PyInstance
    
  * Changes required for new Java 1.5 updates
          enum
          assert
=== 2.6.? (TBD) ===
Line 135: Line 73:
 * unicodedata
 * [[http://bugs.jython.org/issue1066|cjkcodecs]]: yyamano
 * [[http://www.python.org/doc/lib/module-bz2.html|bz2 module]]
 * [[ReplaceJythonc|ReplaceJythonc]]
 * [[MigrateBugtests|MigrateBugtests]]
 * Import Python from the classpath
 * Performance improvements
Line 137: Line 82:
----
CategoryContribute
=== Future? ===


 * [[http://docs.python.org/whatsnew/modules.html#SECTION0001410000000000000000|ctypes module]]
 * Translate summer of code compiler to Java *Incorporated, except for pyc support

Jython Roadmap

Position Now

(Least edited February 2013.)

  • v2.5.3 is current.

Current Plan

(Least edited February 2013: Needs more detail.)

  • v2.5.x versions may appear consolidating bug-fixes
  • v2.6 is skipped
  • v2.7 is the main focus of current work. A beta is imminent (February 2013).
  • v3.x (3.3 probably) is under consideration.

Who is doing what?

Towards v2.7

  • math module: Oti
  • documentation, text_xrange.py, test_complex.py: Josh
  • grammar cleanup, test_class.py: Frank
  • itertools, collections: Jim
  • mercurial move, abcs, exceptions, posix/ntpath, io, tarfile: pjenvey
  • bytearray, buffer API and a partial memoryview: Jeff

Towards v3.3

  • Use of Java 7 invokedynamic: Jim?

Scraps of former plans

When the page bore a roadmap was for v2.6, this material was in it. Some of it is still accurate for v2.7, some is probably complete now, and some is no longer relevant. Those who know which is which are able to improve the roadmap!

2.6.0

  • Upgrade to Python 2.6 language and builtins, along with a substantial subset of the stdlib
  • Redesign PySystemState, ThreadState API

  • Mark true-public APIs with a suitable annotation; deprecate and/or remove obsolete APIs
  • Remove all user-visible singletons in org.python.core, especially any static public fields (like those in PySystemState)

  • Performance!
  • Require minimum Java 6, rip out Java 5 compatibility:
    • Generic.newSetFromMap
    • Believe we can remove the xercesImpl jar, livetribe-jsr223-2.0.5.jar
    • can start utilizing jsr199 (the Java compiler API) for certain things (mostly for unittests I believe)
    • Other things..

2.6.? (TBD)

Future?

  • ctypes module

  • Translate summer of code compiler to Java *Incorporated, except for pyc support

RoadMap (last edited 2013-02-06 23:22:57 by FrankWierzbicki)