-
-
Notifications
You must be signed in to change notification settings - Fork 723
Open
Labels
a: utilityRelated to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)Related to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)p: 2 - normalNormal PriorityNormal Prioritys: planningDiscussing detailsDiscussing detailst: enhancementChanges or improvements to existing featuresChanges or improvements to existing features
Description
Current working command schemes:
!eval -ipython
!e -i
Support IPython mode for eval with code blocks as "cells". Matplotlib will use a custom backend for show()
which writes a png file to the output folder for upload.
This will use the ipykernel backend with full support for ipython magic commands like %%time
We can also inject custom exec tasks, imports, or custom ipython macros and magic commands via the ipython api.
Most of the runtime wrapper can be sent from the bot
side, we will just require snekbox
to add the ipython
package to deployment.
Depends on
- File system and Binary file sending snekbox#159
- Support
eval
(snekbox) file system and attachment display #2326 - Add
ipython
to our snekbox deployment venv
Proof of concept
- Since IPython errors are colored with ANSI codes, we can use an ansi codeblock to render them
Metadata
Metadata
Assignees
Labels
a: utilityRelated to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)Related to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)p: 2 - normalNormal PriorityNormal Prioritys: planningDiscussing detailsDiscussing detailst: enhancementChanges or improvements to existing featuresChanges or improvements to existing features