New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow passing a custom CachingCompiler to the interactive shell #12809
Allow passing a custom CachingCompiler to the interactive shell #12809
Conversation
ff0dd29
to
0f6b23a
Compare
c2da6fb
to
d0b9727
Compare
Awesome! I would like to get this in as this will facilitate the ipykernel-based debugger. Leaving it open for a bit to let @Carreau some time to comment. |
f36e778
to
c335a0a
Compare
I don't understand the CI errors, could they be unrelated to the PR? |
Error are likely unrelated.
Likely new versions of dependencies.
Have you started to work on an ipykernel debugger ? If so where if I may ?
…On Fri, Feb 5, 2021, 01:22 martinRenou ***@***.***> wrote:
I don't understand the CI errors, could they be unrelated to the PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#12809 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACR5TYNVOSPS3SGMHSNE7TS5O2EPANCNFSM4XCOLTHA>
.
|
Not directly germane to what we're talking about here (which is very exciting, if a tad over my head!) but, with the recent release of numpy with official type annotations, and the seemingly-effective pandas-stubs, I wonder about the integration of debugging with various heavy-weight compilation tools like mypyc_ipython... which would be a seriously weird debugging experience, but there you go. Similarly, the cython, numba, etc. magics... or even some of the crazier-pants stuff like diojit or wasmer seem like there may be a general pattern that would be useful to unify. |
Yes. For now, it's only on a local branch (I haven't pushed anything yet), I'm porting the code of the debugger from |
This permits to customize the filename computation prior to caching/compiling.
c335a0a
to
eee922d
Compare
@Carreau would you be ok with tagging a release including this? We are blocked on this for xeus-python magics support and the ongoing debugger work in ipykernel. |
@SylvainCorlay you need to tag properly the milestone before merging if you want that to be backported on 7.x. @meeseeksdev backport to 7.x |
…the interactive shell
sorry for missing this! |
…809-on-7.x Backport PR #12809 on branch 7.x (Allow passing a custom CachingCompiler to the interactive shell)
No worries; it's just to make sure it makes its way to next week release :-) |
cc. @JohanMabille @SylvainCorlay @jtpio
This permits customization of the filename computation prior to caching/compiling. This is needed if we want to have JupyterLab debugger support in the future, as the debugger protocol relies on a cell "filename" in order to track breakpoints added to non-executed cells.
In the JupyterLab debugger implementation, this filename is a computed hash of the raw cell code, which must be the same as the filename used when executing the code in the kernel in order for debugpy to stop on breakpoints.
As a proof of concept, I pushed a PR to xeus-python which relies on IPython for the code execution/completion. The xeus-python PR builds against this one, and allows starting a debugging session!
Note: My PR contains multiple trailing spaces removal, review from this link to remove noise: https://github.com/ipython/ipython/pull/12809/files?diff=split&w=1