Skip to main content

Lightweight Rust integration in Jupyter notebook

Project description

rust-magic Build Status

Allows to try rust in Jupyter notebook. Implemented via line/cell magics:

Installation

  1. Install rust and jupyter-notebook

  2. cargo install cargo-script

  3. pip install rust-magic

  4. Enjoy :)

Third-party crates

are supported via normal cargo script syntax (see below for a more compact notation):

Compiler options

can be provided in the cell mode:

NB Here's a copy-pastable form of all the examples above.

Syntax highlighting

To enable rust syntax highlighting in %%rust cells run the following snippet in a python jupyter cell:

from notebook.services.config import ConfigManager
c = ConfigManager()
c.update('notebook', {"CodeCell": {"highlight_modes": {"text/x-rustsrc": {"reg": ["^%%rust"]}}}})

This only needs to be run once: it stores the setting in a config file in home directory.

Long cells

Jupyter "doesn't like" long cells: when a cell gets longer than the screen its output is not readily visible. Here're a few ways how to handle the problem with rust_magic:

a) putting dependencies into a separate cell (more)

b) collapsing function bodies with codefolding jupyter extension

c) putting function definitions into separate cells (more)

Faster compile times

can be acheived by caching dependencies compile results with sccache. Rust-magic automatically uses it if it is installed in the system (cargo install sccache).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rust_magic-0.3.3.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

rust_magic-0.3.3-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file rust_magic-0.3.3.tar.gz.

File metadata

  • Download URL: rust_magic-0.3.3.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for rust_magic-0.3.3.tar.gz
Algorithm Hash digest
SHA256 926dfa2db275afe7430037f21fc289fd0f9b4e8c4aa7c3fa0cca4dd85b10fc6c
MD5 26756ed381d07dd784ebb8f778de1cb7
BLAKE2b-256 9e25437c90664b7b738672200106b4330ac4f305d61f3a125509b6a3fac14b55

See more details on using hashes here.

File details

Details for the file rust_magic-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: rust_magic-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for rust_magic-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 94fab9c86fc3b0cbe95a9d01eab98c6659da37b48be9b97f66e572fdffc1a993
MD5 8eb2f4c8ce0866d642170f5bb9cad595
BLAKE2b-256 b93e00dafca0df59098b44cdedc211f0e230f86ff7aa52c3a84ff44f6ce5cc28

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page