Console Jupyter Notebook
Project description
----------------------------------------------
CONSOLE JUPYTER NOTEBOOK
----------------------------------------------
_______ _______ ______
| _ | _ | _ \
|. 1___|. | |. | |
|. |___|. | |. | |
|: 1 |: 1 |: | |
|::.. . |::.. . |::.| |
`-------`-------`--- ---`
SOLE
_______ ___ ___ ______ _______
| _ | Y | | _ \| _ |
|___| |. | | |. | |. | |
|. | |. | | |. | |. | |
|: 1 |: 1 | |: | |: 1 |
|::.. . |::.. . | |::.| |::.. . |
`-------`-------` `--- ---`-------'
PYTER TEBOOK
----------------------------------------------
CONJUNO 0.1.7
----------------------------------------------
install : pip3 install -U conjuno
prereq : python3.9
run : conjuno
----------------------------------------------
Keyboard:
1 - display help
enter, ctrl+e - run current cell
t - run as external program (e.g. curses)
u, page up - scroll fullscreen page up
n, page down - scroll fulscreen page down
h, left - scroll fullscreen left more
l, right - scroll fullscreen right more
h, left - scroll fullscreen left
m - toggle markdown cell
l, right - scroll fullscreen right
i - switch to input
o - switch to output
w - toggle wrap output
f - switch current pad full-screen
r - reset layout
gg - go to first cell
shift+g (G) - go to last cell
k, up - previous cell
j, down - next cell
a - insert cell above current cell
a - insert cell below current cell
x - cut cell
c - copy the cell
ctrl+v - paste cell above
ctrl+v - paste cell below
s, ctrl+s - save notebook
e - edit input cell [1]
ctrl+p - run all cells one by one
q - quit
----------------------------------------------
[1] uses tmp.txt in current directory
----------------------------------------------
Tips:
* You can save file and exit vim faster
using ZZ keyboard shortcut
* On Windows You can download unofficial
ncurses from:
https://www.lfd.uci.edu/~gohlke/pythonlibs
----------------------------------------------
Command line parameters:
-d, --debug
turns on kernel debug messages
-h, --help
prints this help
-k kernel_type, --kernel kernel_type
runs conjuno with specified kernel
when no kernel is specified python3
kernel is used
-n, --no-kernel
runs conjuno with no kernel
-v, --version
displays the current program version
-r, --run
runs notebook and saves result
into <fname>_run.ipynb
----------------------------------------------
Changelog:
0.1.3 - minimalised the Conjuno flickering
added help - press key 1 in notebook
ending curses correctly at the end
0.1.2 - Minor Bugfixing
0.1.1 - Minor Bugfixing
0.1.0 - Minor Bugfixing. The cell output is
now correctly stored to executing cells
not current cell as expected.
0.0.9 - Rewritten the keyboard control. Now
it's completly asynchronous. Added several
keys. First try to include the time counter.
0.0.8 - Minor Bugfixing. Added -r parameter
to run the notebook and save the output
to a {fname}_run.ipynb notebook file.
Markdown Cells are displayed fullscreen
by default.
0.0.7 - Minor Bugfixing
0.0.6 - Minor Bugfixing
0.0.5 - Minor Bugfixing
0.0.4 - Curses pad to show more of the
input and output content possibility
to show the cell input or output full
screen. And possibility to scroll the
content around. Console resizing
handler.
0.0.3 - Added traceaback printing from
python3 kernel, added yet another
level of DEBUG. If it's set to 2 in
the log.py then the trace is printed
to file in case of exception. Added
support for ctrl-c program exit.
Prepare for terminal resizing events.
The complication is from processing
unix signals in async events. Yet
for the traceback of python3 kernel
when it detects an exception is the
render_ans method in the console
Class. It it used to display uniform
traceback and exception. The colors
are not yet to be added. But it is
planned in the future version.
0.0.2 - Asynchronous execution of the
cell and the possibility to quit
the program while the kernel is
executing the cell. There was a try
to add time counter to measure the
execution time but this will be
probably added in the future
eventually.
0.0.1 - Intial version. The very basis
for this was nbterm. Or rather it's
for nbtermix. Then I decided to change
the principle of the work with the
notebook on terminal. Instead of
trying to simulate the web version it
was decided to switch to full-screen
mode for each the cell. That means
only the first line of input is
displayed. And when user wants to edit
the cell the external editor is used.
So far this approach leaves almost
the whole screen to the output. I would
like to prepare the possibility to
switch between full screen input, output
and divided screen for input and output.
But the only one cell per screen seems
quite working by now. Another decision
than eliminating other drawing libraries
than curses was to use getopt for the
options as it's the very standard in
the *nix world. There was a quite
reduction in the number of the working
parameters and others are to be added
eventually.
----------------------------------------------
Note: This is de facto modified nbterm.
The difference is it uses only
ncurses.
----------------------------------------------
This is highly EXPERIMENTAL software.
I take no responsibility nor even implied
responsibility for any damage, harm or any
consequences caused by use of this
software. The software found here is
provided as it is without any liability,
guarantees or support.
The software here is provided ONLY
for research purposes.
----------------------------------------------
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
conjuno-0.1.7.tar.gz
(26.7 kB
view hashes)