45 releases (23 breaking)

Uses new Rust 2024

0.24.11 Mar 11, 2025
0.24.10 Dec 22, 2024
0.24.9 Nov 5, 2024
0.24.6 May 5, 2024
0.7.1 Jul 14, 2021

#41 in #abstraction

Download history 239/week @ 2024-12-22 41/week @ 2024-12-29 55/week @ 2025-01-05 26/week @ 2025-01-12 8/week @ 2025-01-19 8/week @ 2025-01-26 20/week @ 2025-02-02 12/week @ 2025-02-09 25/week @ 2025-02-16 23/week @ 2025-02-23 30/week @ 2025-03-02 226/week @ 2025-03-09 61/week @ 2025-03-16 34/week @ 2025-03-23 26/week @ 2025-03-30 23/week @ 2025-04-06

160 downloads per month
Used in irust

MIT license

115KB
1.5K SLoC

Rust 1K SLoC // 0.0% comments Python 178 SLoC // 0.0% comments Jupyter Notebooks 31 SLoC

IRust Repl

Repl engine used by IRust to interpret rust code

The core is println!("{:?}", expression) with tricks to conserve variables and context

Example:

use irust_repl::{Repl, ToolChain};

let mut repl = Repl::new(ToolChain::Stable).unwrap();
repl.insert("let a = 5");
assert_eq!(repl.eval("a+a").unwrap().output, "10");

Checkout the examples and tests folders for more info.

Jupyter Kernel

A Jupyter Kernel is provided https://github.com/sigmaSd/IRust/tree/master/crates/irust_repl/irust_kernel, to use it:

Installation

This requires IPython 3.

pip install irust_kernel
python -m irust_kernel.install

To use it, run one of:

code # vscode have the best implementation
zed # zed implementation is nice as well
jupyter notebook
# In the notebook interface, select IRust from the 'New' menu
jupyter qtconsole --kernel irust
jupyter console --kernel irust

Developement

This requires https://github.com/pypa/flit

To start developping locally use flint install --symlink optionally followed by python -m irust_kernel.install --local-build if there are changes to Re executable

Examples

irust.ipynb (simple showcase) and evcxr.ipynb (showcase of evcxr protocol) are provided as an example

Dependencies

~0.2–11MB
~52K SLoC