Skip to content

Use subprocess for interpreter #353

Open
@thomasballinger

Description

@thomasballinger

This would:

  • make supporting virtual environments pretty easy
  • make module reloading more reliable (no more not being able to reload some modules, no more having access to the same modules as bpython)
  • get rid of the greenlet dependency (requires c compiler) - no more jumping back and forth between of user code and UI code
  • make getting threads to work normally easier
  • allow a cleaner evented system around a select loop
  • make user subprocesses work correctly
  • install one version of bpython (python2.6 - 3.4) and bpython works with all python versions
  • let bipython reuse more of our code maybe

It would suck because:

  • we would have to do all the completion with interprocess communication
  • interprocess communication might not be fast enough for the user experience we need - and leads to caching which could get complicated in the best case, and not work in the worst
  • Windows compatibility would probably go further out the window
  • some code will have to run in the process (import completion, import observer, completion introspection)
  • a simple python repl probably isn't enough - we'll still need an InteractiveInterpreter over there
  • there are going to be difficulties with version compatibilities - every combination (n by n) of Python versions ought to be tested
  • this may involve reading the IPython code and noticing that it's nicer in some ways than ours 😉

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions