Hi Timothy, Many thanks for testing this out. > I just tried to give this a shot. > First up, I had to remove the ORG-NEWS part of the patch to be able to > provide it. It would be nice if you could update the patch so this > applies cleanly. I'm attaching an updated patch rebased on master. > I was initially unable to get this to seem to work, until I changed the > :results type to "output". > > #+begin_src python :async :session blah > return(a) > #+end_src > > #+RESULTS: > : /tmp/babel-62cQRX/python-EfJ4o4 ob-python session blocks don't use "return", so this should just be: #+begin_src python :async :session blah a #+end_src #+RESULTS: : 2 > Finally, I see that this requires :session to be set in order to work. > Might it be possible to have this work for non-session blocks too? It > seems odd that what I'd imagine is the harder case (session blocks) is > supported, but one-shot (non-session) blocks aren't. The non-session case is substantially different, and I think it would probably require a separate implementation. One possible approach would be to modify ob-eval.el, so that org-babel--shell-command-on-region uses make-process instead of process-file. I agree it would be nice to have, but it would take a bit of work to figure it all out, and there is already ob-async.el [1] that implements non-session async for all languages. (I wish it could be brought into org-mode, but it probably can't, because it depends on the external async.el.) > p.s. After this is merged, it would be great to see support for other > languages grow :) I also have an async implementation for ob-R that's ready after this is merged :) Cheers, Jack [1] https://github.com/astahlman/ob-async