A command-line based alternative to Jupyter notebooks
Project description
Satyrn
Satyrn is a command-line-based alternative to Jupyter notebooks. The backend is completely based on node networks, because I soon plan to implement branching code graphs in order to provide the user with visual differentiation while writing code, and perhaps even worry-free backend multithreading.
This project is based on this JEP for the Jupyter ecosystem. I'm using this as a way to prepare for development of the features I've listed in the enhancement proposal.
Setup
- Install requirements with
python -m pip install -r requirements.txt
- Run
python interpreter.py
Commands
quit
- Quits out of interpretercell [cell_name] [content_type](python/markdown) [add_content](y/n)
- Creates cell with given parameters
- All cells require unique names
- The first cell created will always be treated as the "root" cell, and will always be executed first in a complete execution call.
- Set
content_type
to "python" for python cells - If
add_content
is "y", a text box will pop up. Input your python code here.
remove [cell_name]
- Deletes cell and its links from graph.
edit [cell_name]
- Reopens text input window so that users can edit cells
link [first_cell_name] [second_cell_name]
- Links the two cells whose names are provided. You can technically still make branching graphs this way, but they will not work at all.
sever [first_cell_name] [second_cell_name]
- Severs the link between the two cells whose names are provided
merge [first_cell_name] [second_cell_name]
- Merges the two cells if they are adjacent.
swap [first_cell_name] [second_cell_name]
- Swaps the contents and names of the named cells. e.g.
a -> b -> c
swap a b
b -> a -> c
- Swaps the contents and names of the named cells. e.g.
execute [cell_name_1] [cell_name_2] ... >> (filename)
- If no cell names are defined, the entire graph will execute sequentially
- If cell names are defined, they will execute in the order they are named
>> (filename)
is optional. If included, will save stdout cell output to whatever filename is provided.
display [cell_name]
- If
cell_name
is defined, that cell's contents will be printed to the console - Otherwise, the entire graph will be displayed in matplotlib.
- If
list
- Prints a list of all cell and edge names in graph
reset_runtime
- Deletes all local variables created by cells.
reset_graph
- Deletes all cells and variables. Equivalent of restarting Satyrn session.
save [filename].satx
- Saves graph to .satx file.
[filename].satx
- This will run a .satx file. It's just a reformatted version of the normal Satyrn input. This test file shows the basic syntax rules.
Example
Here, code written in [ ] brackets was typed into the text box popup.
♄: create_cell root python y
[x = 10]
♄: create_cell mid python y
[x *= 22]
♄: create_cell bottom python y
[print(x)]
♄: link root mid
♄: link mid bottom
♄: execute
220
♄: quit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
satyrn-python-0.5.2.tar.gz
(9.2 kB
view hashes)
Built Distribution
Close
Hashes for satyrn_python-0.5.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a4a69a08847c8a0cdfa1a7e80f9b8eab5eab38add0ce9f8c0721ebd3c6477a5 |
|
MD5 | da3bdb40b3f506d7efd7cd67b7a3fe82 |
|
BLAKE2b-256 | 5083d38030e3a49173e6777bf2d4893e4079cf627fdfe40ccd68d9cccc0a77b1 |