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 it supports branching, multithreaded cell paths.
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. The Satyrn team is developing a web-based UI.
Setup
- Run
python -m pip install satyrn-python
- Run
satyrnCLI
in your terminal to open the Satyrn CLI - Run
satyrn
in your terminal to open the Satyrn UI (unstable)
CLI 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 names and edge pairs 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.
CLI 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.6.9a0.tar.gz
(12.8 kB
view hashes)
Built Distributions
satyrn_python-0.6.9a0-py3.7.egg
(55.1 kB
view hashes)
Close
Hashes for satyrn_python-0.6.9a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f716114fcbf49273360a52f1c82f52684da14e7f34cbeaad5e88c286354efaa9 |
|
MD5 | 2f2e3bae7f9df4b34655e44da0992570 |
|
BLAKE2b-256 | 2443585f3ca01e99ae3fb84fc4bcef099ac3c1652ac5e32e3200711ec3c2fbe6 |