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
- Run
python -m pip install satyrn-python
- Run
satyrn
in your terminal to open the SLI (satyrn command line)
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.
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.0.tar.gz
(10.9 kB
view hashes)
Built Distribution
Close
Hashes for satyrn_python-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eae170e21130940a4dfabba75c5b0ec4a510411321fc490b79d044a153f35278 |
|
MD5 | bb4fe790b5ff4b6ddb331d424570bb71 |
|
BLAKE2b-256 | 85f3e4d6a8003833b1e91b76c1eb88c0eabd39e07ce23fcfa90aef233d8c71e4 |