for discussion - changes to support iPython

#14 Open
Repository
bbjc
Branch
ipython-fixes
Repository
jython
Branch
default

Bitbucket cannot automatically merge this request.

The commits that make up this pull request have been removed.

Bitbucket cannot automatically merge this request due to conflicts.

Review the conflicts on the Overview tab. You can then either decline the request or merge it manually on your local system using the following commands:

hg update default
hg pull -r ipython-fixes https://bitbucket.org/bbjc/jython
hg merge ipython-fixes
hg commit -m 'Merged in bbjc/jython/ipython-fixes (pull request #14)'
Author
  1. bbjc
Reviewers
Description

This is related to this pull request: https://github.com/ipython/ipython/pull/4226

These changes allow ipython to run on jython.

Three of the modifications are probably just bug fixes. The major change was to downgrade JLine back to 0.9.5. I suspect that isn't going to happen in the main branch. I'll try figure out what is going wrong with JLine next.

Comments (11)

  1. Jim Baker

    Wow, getting ipython to run on jython would be amazing, especially if the fixes on the jython side are this minimal. Let's work on getting current JLine working; ideally it can be done by upgrading to JLine 2, which is a TODO for us.

  2. bbjc author

    Thanks! I've found the combination it to be really useful anyway. I'd like everyone to be able to use it and so I've been slowly trying to get the relatively small set of required changes pushed out everywhere and in the right versions. I use IPython/Jython for basic prototyping, so I'm sure there are a lot of IPython features that I don't use that will need some attention.

    I'll take a look the JLine issues next chance I get and see if I can help. It looks like 'modern' versions of IPython use SQLite for history. That could be a next important thing to look at.

  3. Jim Baker

    SQLite will be more work, but it would be very helpful to look at for Jython as a whole.

    Requirements:

    • Compatible license with Python, such as BSD or Apache
    • Capable of supporting full Python API, specifically custom functions (JDBC would be so much easier!)
    • Current degree of support
    • Uses JNI for performance and compatibility

    I did a quick analysis of the drivers mentioned at http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers, of these http://www.ch-werner.de/javasqlite/ looks like the best option. In particular:

      1. bbjc author

        Seems reasonable to me. When you have the changes in, let me know and I'll dust off the changes to ipython and see if I can get ipython to work again. If I'm successful, I'll re-issue the ipython pull request.

  4. Jim Baker

    I believe this summarizes what Jython needs to do for IPython support:

    1. bbjc author

      Thanks. They are pretty minimal changes. My full name is Justin Call. I'll take a look at the contributor agreement.