-
Notifications
You must be signed in to change notification settings - Fork 386
-
Notifications
You must be signed in to change notification settings - Fork 386
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
Need Developer Docs for adding a new language/kernel #61
Comments
Thanks @dsblank , that's a very nice suggestion. Well, I'm not sure the current organisation of the code is prepared for being documented... It has improved a lot with v0.6.0, but adding a new format still requires modifying the code at lots of places (latest example was Julia #56). So I think that we should first refactor the code a bit further. There are already three more formats in the pipe, and the refactored code should allow an easier inclusion of those:
|
Org mode looks very interesting, and perhaps a nice way to combine jupyter notebooks and jupytext ideas in a scalable fashion. Some other links regarding org mode and jupyter:
|
Hello @dsblank , I have been working on refactoring, and was able to add a new format (the double percent scripts #59). It now requires
The corresponding commit (that also includes a bit of noise, sorry) is 3f3a12b Do you think that structure is sustainable? Would you recommend another organization? I feel recommendations on this could be very useful! Thanks. |
I don't really have a feel for what this code is doing. Why does jupytext even need to be parsing the cell data? It seems that code cell data should be either sent directly to the kernel, or saved as-is in a section marked as "code cell". |
@dsblank , I have just implemented the double percent format for Python/Julia/R (#59). That format is interesting as it is almost language agnostic. Would you like an adaptation of that format for scheme (that's easy, I just need to replace the comment char Two quick questions:
|
The line comment per language seems like it would be something that the kernels should be able to identify. (I recommended this to jupyter core 4 years ago, but it wasn't adopted at that point). The magics in Scheme are language agnostic: they come from Metakernel. (We could have metakernel identify the line comment character(s)). https://github.com/Calysto/metakernel/blob/master/metakernel/magics/README.md The current rules for Metakernel magics:
The Metakernel magics also provide the shell interaction. The Mandelbot one is one of the most complicated, as it uses the full power of Metakernel. Feel free to use any of the notebooks from our repos. Perhaps a better representative notebook would be: FYI, perhaps the most popular Metakernel languages are octave and matlab: |
Hello @dsblank , the branch v0.7.2 has support for scheme! The resulting scripts are here ( Would you like to test this and provide feedback? Currently I have implemented the support for just one comment character per script extension - for scheme I have choosen By the way - extending the
... Which file extension do you want to do next ? 😄 |
Very cool! I will test this out! |
@dsblank , I will soon review the treatment of magics in Jupytext (and possibly make it simpler, cf. #94). May I ask you two questions?
|
|
A brief documentation on how to extend the |
Well, I just noticed with #97 that the 'mirror' test was not covering properly the round trip conversion. This has been fixed in v0.8.1 which is thus the first version with proper support for C++ and Scheme. |
Great tool! Would be great for me and future generations to document the steps needed to add a new language.
Consider Scheme. There is a link to a live kernel here:
Details:
.ss
;
(often times we use two or more)Anything else one needs?
The text was updated successfully, but these errors were encountered: