Skip to content

Latest commit

 

History

History
73 lines (47 loc) · 2.02 KB

README.md

File metadata and controls

73 lines (47 loc) · 2.02 KB

TwinSong

TwinSong is an alternative to Jupyter Notebook that separates code and outputs for a cleaner and more efficient workflow.

Features

  • Compact Code – Code remains uncluttered as outputs are displayed separately.
  • Preserved Results – Re-evaluating a cell does not overwrite previous results. TwinSong tracks the code that generated past outputs.
  • Multiple Kernel Instances – The separation of code and outputs allows multiple kernel instances to run over the same code at once.
  • Rust Backend – The backend is written in Rust. Package is statically linked, no dependencies needed.
  • Clean Python Kernel - The Python kernel is a clean Python instance with a Rust module that avoids loading additional Python modules or starting additional Python threads.

Status

TwinSong is currently in an experimental phase. It provides all essential features for evaluating new ideas, including cell creation and code execution. However, many features required for practical usage are still missing, such as loading and saving notebooks. Addressing these limitations is a priority for future development. TwinSong now supports only Python Kernel.

Getting started

Install via pip:

$ pip install twinsong

Start TwinSong itself:

twinsong

Building locally


# Building frontend

cd browser/ui
npm install
./build.sh
cd ../..

# Building Python module

python3 -m venv venv
source venv/bin/activate
pip install maturin
cd pytwinsong
maturin develop -r

# Building standalone server
# (This is optional; python package already contains server)

cargo build --release --package twinsong

License

Licensed under either of

at your option.