An evaluation context for Rust.

Overview

Evcxr

Binder

An evaluation context for Rust.

This project consists of several related crates.

  • evcxr_jupyter - A Jupyter Kernel

  • evcxr_repl - A Rust REPL

  • evcxr - Common library shared by the above crates, may be useful for other purposes.

  • evcxr_runtime - Functions and traits for interacting with Evcxr from libraries that users may use from Evcxr.

If you think you'd like a REPL, I'd definitely recommend checking out the Jupyter kernel. It's pretty much a REPL experience, but in a web browser.

To see what it can do, it's probably best to start with a tour of the Jupyter kernel. Github should allow you to preview this, or you can load it from Jupyter Notebook and run it yourself.

Disclaimer

This is not an officially supported Google product. It's released by Google only because the (original) author happens to work there.

Comments
  • Windows build error

    Windows build error

      = note: libzmq-50f4a406b22aace0.rlib(zmq-50f4a406b22aace0.zmq.adwk1sko-cg
    u.4.rcgu.o) : error LNK2019: unresolved external symbol __imp_zmq_msg_gets
    referenced in function _ZN3zmq7message7Message4gets17h7fa806d7747a2351E
              libzmq-50f4a406b22aace0.rlib(zmq-50f4a406b22aace0.zmq.adwk1sko-cg
    u.0.rcgu.o) : error LNK2019: unresolved external symbol __imp_zmq_proxy_ste
    erable referenced in function _ZN3zmq15proxy_steerable17h28199adb82db8604E
              libzmq-50f4a406b22aace0.rlib(zmq-50f4a406b22aace0.zmq.adwk1sko-cg
    u.0.rcgu.o) : error LNK2019: unresolved external symbol __imp_zmq_has refer
    enced in function _ZN3zmq3has17h8a1799c5696eeb89E
              C:\Documents\rust\evcxr\target\debug\deps\evcxr_jupyter-04a8e2112
    da4bb74.exe : fatal error LNK1120: 3 unresolved externals
    
    

    I'm on Windows 10, first tried to cargo install evcxr-jupyter, got an error described here, then cloned the master branch and trying to build it. I've installed ZeroMQ 4.0.4 via installer, renamed lib and dll files as recommended and added .dll dir to PATH.

    opened by axil 38
  • Speed feels slow

    Speed feels slow

    Compared to a Python Notebook, the speed feels slow. Running :timing, each block execution even for simple code is 5 to 10 seconds, and extern crate is really slow. I was hoping for something like notebook driven development like you can do in Python, but the speed doesn't seem to allow me to do so.

    opened by briantliao 30
  • Mac OS support

    Mac OS support

    In the unlikely event that it already works on Mac OS, please let me know.

    If you'd like to work on this, feel free to reach out with any questions. I'm not really sure what will be involved, since I don't know what the problems will be.

    opened by davidlattimore 15
  • [WIP] Add helpers into evcxr_runtime

    [WIP] Add helpers into evcxr_runtime

    Hi,

    This PR is a try to extend runtime with helpers and shortcuts but I need your feedback about:

    1. Do you want to have some helpers / ready to function like gophernotes/Display.ipynb at master · gopherdata/gophernotes as part of the lib. Is evcxr_runtime the right place to add helpers / shortcut to display content from outside (serde_json, images, vega, ndarrays,...) ? or do you prefer
      1. to have them into each own sub-project (enabling rust features is not accessible from jupyter kernel)
      2. to have them into an other project / repository (not under evcxr repository)
      3. other suggestions ?
    2. If ok for helpers, to you have some guidelines you would like we follow ?
    3. how to play in jupyter/repl with an unpublished crates (wip,...) ?

    Tell me before I push other helpers function.

    If you like I can move the cherry-pick the first commit into an other PR.

    opened by davidB 14
  • Add config files to make it possible to run in Binder

    Add config files to make it possible to run in Binder

    Hello,

    I added a button to start a dynamic version of this repo on Binder and the required config files (apt.txt and postBuild). I'm still trying to figure out why it doesn't work on the notebook, but if you open a terminal and run jupyter console --kernel rust it works fine.

    This one points to the PR branch: Binder where you can test and reproduce the problem.

    Pinging @yuvipanda @betatim @choldgraf: is there any way to check the Binder logs (as an user) to see why the kernel initialization fails? (it works fine locally or on the terminal in Binder).

    opened by luizirber 13
  • Heads up: zmq update removes cmake dependency

    Heads up: zmq update removes cmake dependency

    We've been working quite hard on updating the zmq crate to remove it's cmake dependency over the past few weeks. (https://github.com/jean-airoldie/zeromq-src-rs/pull/17 https://github.com/jean-airoldie/zeromq-src-rs/pull/18 )

    Only https://github.com/erickt/rust-zmq/pull/339 now needs to be merged, and a new release needs to be created and we'd be good.

    As a side-effect this most likely means (looks like it's only zmq that requires it in evcxr) that cmake can also be removed as a dependency for this project, it's readme etc.

    opened by Jasper-Bekkers 12
  • Use ariadne for rendering diagnostics

    Use ariadne for rendering diagnostics

    Before:

    In REPL: image

    in jupyter notebook: image

    After:

    in REPL: image

    I didn't managed to make it working in jupyter notebook.

    This PR is just a proof of concept, for giving feedback. It doesn't actually work for anything other than my example (I added a +20 offset for spans somewhere to make it working) and it should show helps and notes using ariadne as well (the currently rendered help is from old code). Ariadne has a very easy to use api, it gets a list of files with their sources (commands and cells in our use case) and a list of spans (declared with byte ranges) with messages and colors, then it will automatically render everything in the right place. So someone that know more than me (= more than nothing) about evcxr can do it the right way fairly easily. But I can also make it with some mentoring if needed.

    Rust is famous for its great compile messages. Lets make them great in evcxr as well!

    opened by HKalbasi 11
  • Feature Request: Rust 1.51

    Feature Request: Rust 1.51 "const generics" (if and when they become possible)

    Rust 1.51.0 is now out, and it includes a new feature called "Const Generics" (well, not entirely new - but see the rust blog for all the details). This feature does not appear to work with evcxr-jupiter.

    Here's a minimal test case -- I've made a Jupyter cell with this code (taken, slightly changed, from the blog entry linked above):

    pub struct TestArray<T, const LENGTH: usize> {
        //                 ^^^^^^^^^^^^^^^^^^^ Const generic definition.
        pub list: [T; LENGTH]
        //        ^^^^^^ We use it here.
    }
    
    let test_array = TestArray::<u8,42>{ list: [0u8; 42] };
    
    assert_eq!( test_array.list.len(), 42 );
    
    test_array.list
    

    I get the following output:

    pub struct TestArray<T, const LENGTH: usize> { ^ pub struct TestArray<T, const LENGTH: usize> { ^^^^^^ pub struct TestArray<T, const LENGTH: usize> { ^^^^^^^^^ struct defined here, with 2 generic parameters: T, LENGTH

    However, when I put that code in the crate I'm working on (as a test case), it compiles and runs just fine!

    I tried reinstalling evcxr-jupyter to see if that would help it use the latest rust version, with no luck. I suppose I may have broken something in the process, so I'm very curious if it's just my environment. Does that code work for anyone else?

    I haven't tried cloning the repository to make sure I have the bleeding edge version. Would it be helpful if I did, or should I just be patient for a new version to come out (and use "cargo install")?

    Thanks in advance!

    opened by ProfRon 11
  • evcxr_repl install fails

    evcxr_repl install fails

    When I run

    cargo install evcxr_repl
    

    on my Mac running High Sierra version 10.13.6, the build fails with

    error[E0046]: not all trait items implemented, missing: `description`
       --> /Users/alan/.cargo/registry/src/github.com-1ecc6299db9ec823/evcxr-0.1.2/src/errors.rs:314:1
        |
    314 | impl std::error::Error for Error {}
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `description` in implementation
        |
        = note: `description` from trait: `fn(&Self) -> &str`
    
    error: aborting due to previous error
    
    For more information about this error, try `rustc --explain E0046`.
    error: failed to compile `evcxr_repl v0.1.2`, intermediate artifacts can be found at `/var/folders/9t/_qss6y9544v29s4y30lkz5jr0000gn/T/cargo-install5FRvBt`
    
    Caused by:
      Could not compile `evcxr`.
    
    To learn more, run the command again with --verbose.
    

    I am running

    cargo 1.26.0-nightly (008c36908 2018-04-13)
    

    One clue to the problem is that I am using the Failure crate, which has its own Error trait.

    opened by alanhkarp 11
  • Can't build evcxr_repl on FreeBSD (likely cause old libc)

    Can't build evcxr_repl on FreeBSD (likely cause old libc)

       Compiling sig v1.0.0
    error[E0425]: cannot find value `SIGSTKFLT` in crate `libc`
       --> /User/.cargo/registry/src/github.com-1ecc6299db9ec823/sig-1.0.0/src/ffi.rs:32:38
        |
    32  |     pub const STKFLT : c_int = libc::SIGSTKFLT; // Stack fault.
        |                                      ^^^^^^^^^ help: a constant with a similar name exists: `SIGSTKSZ`
        |
       ::: /User/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.73/src/unix/bsd/freebsdlike/freebsd/mod.rs:348:1
        |
    348 | pub const SIGSTKSZ: ::size_t = MINSIGSTKSZ + 32768;
        | --------------------------------------------------- similarly named constant `SIGSTKSZ` defined here
    
    error[E0425]: cannot find value `SIGPOLL` in crate `libc`
       --> /User/.cargo/registry/src/github.com-1ecc6299db9ec823/sig-1.0.0/src/ffi.rs:43:38
        |
    43  |     pub const POLL   : c_int = libc::SIGPOLL;   // Pollable event occured (System V).
        |                                      ^^^^^^^ help: a constant with a similar name exists: `SIGILL`
        |
       ::: /User/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.73/src/unix/bsd/freebsdlike/mod.rs:438:1
        |
    438 | pub const SIGILL: ::c_int = 4;
        | ------------------------------ similarly named constant `SIGILL` defined here
    
    error[E0425]: cannot find value `SIGPWR` in crate `libc`
      --> /User/.cargo/registry/src/github.com-1ecc6299db9ec823/sig-1.0.0/src/ffi.rs:44:38
       |
    44 |     pub const PWR    : c_int = libc::SIGPWR;    // Power failure restart (System V).
       |                                      ^^^^^^ not found in `libc`
    
    error: aborting due to 3 previous errors
    

    System: FreeBSD 12.1, x86_64

    opened by dmilith 9
  • Add Cargo.lock

    Add Cargo.lock

    I'm interested in packaging this tool using Nix. There was a long thread here about how to do so for a crate that doesn't include Cargo.lock in version control, and the conclusion seems to be that the easiest thing is to just add it :)

    Since this project produces binaries, it seems to be recommended by the Cargo book to include it as well.

    opened by thomasjm 9
  • Generated code doesn't use the fully qualified type name of the stored variable, so it may resolve to another type.

    Generated code doesn't use the fully qualified type name of the stored variable, so it may resolve to another type.

    Hi, I got this error:

    ❯ evcxr --version
    evcxr 0.14.1
    
    ❯ evcxr                                                          
    Welcome to evcxr. For help, type :help
    >> use std::io::*;
    >> let mut f = std::fs::File::create("/tmp/test.txt");
    A compilation error was found in code we generated.
    Ideally this shouldn't happen. Type :last_error_json to see details.
    error[E0107]: this type alias takes 1 generic argument but 2 generic arguments were supplied
       --> src/lib.rs:105:37
        |
    105 | evcxr_variable_store.put_variable::<Result<std::fs::File, Error>>(stringify!(f), f);
        |                                     ^^^^^^                ----- help: remove this generic argument
        |                                     |
        |                                     expected 1 generic argument
        |
    note: type alias defined here, with 1 generic parameter: `T`
       --> /home/noam.raphael/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/io/error.rs:55:10
        |
    55  | pub type Result<T> = result::Result<T, Error>;
        |          ^^^^^^ -
    

    I understand that this is because the generated code contains Result<std::fs::File, Error>, meaning std::result::Result, but because I first wrote use std::io::*;, Result is now std::io::Result.

    A solution may be to always use fully qualified names.

    opened by noamraph 1
  • evcxr: error: undefined symbol: core::ptr::drop_in_place

    evcxr: error: undefined symbol: core::ptr::drop_in_place

    Hi, while playing around with evcxr, this happened:

    > evcxr.exe
    Welcome to evcxr. For help, type :help
    >> :version
    0.14.1
    >> :dep chrono
    >> use chrono::prelude::*;
    >> let d = NaiveDate::from_ymd(1899, 12, 30).and_hms_opt(0, 0, 0).unwrap();
    >> let t = d.timestamp_nanos();
    >> let du = DateTime::<Utc>::from_utc(d, Utc);
    >> let dur = Utc::now().signed_duration_since(du);
    >> dur.num_nanoseconds().unwrap() as f64 / (24u64 * 60 * 60 * 1000 * 1000 * 1000) as f64
    A compilation error was found in code we generated.
    Ideally this shouldn't happen. Type :last_error_json to see details.
    error: linking with `lld-link` failed: exit code: 1
      |
      = note: "lld-link" "-flavor" "link" "/DEF:C:\\Users\\me\\AppData\\Local\\Temp\\rustcNZzBWn\\lib.def" "/NOLOGO" "C:\\Users\\me\\AppData\\Local\\Temp\\rustcNZzBWn\\symbols.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.12atrhqi74trn5mb.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.2ac7pmkvmksmy6wb.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.2re88lt95otfy0w4.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.2wmrm1a4c4r65re5.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.3nhko0fabcdela7r.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.3zps00ctwzkhrslp.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.41hj8h78u5md7cyj.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.4drmnco5vucp36hh.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.4giv3bh98brb2zr4.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.4p9ftw3of43ppcgs.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.525wab2pbeh7bgef.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.5289e4dnx9byx3kq.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.565vwebamg7mgqw9.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.8ypx8eubo3hg0y9.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.mi1xbcpcn2rjrxa.rcgu.o" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.zvvreuktax44vh3.rcgu.o" "/LIBPATH:C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps" "/LIBPATH:C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\debug\\deps" "/LIBPATH:C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\libchrono-56d42aefdbc0c18c.rlib" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\libnum_integer-0913fcd74c05fe81.rlib" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\libnum_traits-9232c041a8b35275.rlib" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\libtime-2a05c0525cd72a6b.rlib" "C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\libwinapi-555ed678803c0e09.rlib" "/LIBPATH:C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "std-f486e2d37cdf4887.dll.lib" "C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-26678f31fd200488.rlib" "advapi32.lib" "gdi32.lib" "kernel32.lib" "msimg32.lib" "ole32.lib" "opengl32.lib" "runtimeobject.lib" "winspool.lib" "kernel32.lib" "advapi32.lib" "userenv.lib" "kernel32.lib" "ws2_32.lib" "bcrypt.lib" "msvcrt.lib" "legacy_stdio_definitions.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.dll" "/OPT:REF,ICF" "/DLL" "/IMPLIB:C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.dll.lib" "/DEBUG" "/NATVIS:C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\me\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis" "-fuse-ld=lld" "-fuse-ld=lld"
      = note: lld-link: warning: ignoring unknown argument '-fuse-ld=lld'
              lld-link: warning: ignoring unknown argument '-fuse-ld=lld'
              lld-link: error: undefined symbol: core::ptr::drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$$GT$::h8d0ca8bb2e7ead95
              >>> referenced by C:\Users\me\AppData\Local\Temp\.tmpV4jX6B\target\x86_64-pc-windows-msvc\debug\deps\ctx.2ac7pmkvmksmy6wb.rcgu.o:(core::ptr::drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$$GT$$GT$::hd6a5c20c25c61733)
              >>> referenced by C:\Users\me\AppData\Local\Temp\.tmpV4jX6B\target\x86_64-pc-windows-msvc\debug\deps\ctx.2ac7pmkvmksmy6wb.rcgu.o:($ehgcr_1_8)
    
    
    
    >> :last_error_json
    Error: {"rendered":"error: linking with `lld-link` failed: exit code: 1\n  |\n  = note: \"lld-link\" \"-flavor\" \"link\" \"/DEF:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\rustcNZzBWn\\\\lib.def\" \"/NOLOGO\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\rustcNZzBWn\\\\symbols.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.12atrhqi74trn5mb.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.2ac7pmkvmksmy6wb.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.2re88lt95otfy0w4.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.2wmrm1a4c4r65re5.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.3nhko0fabcdela7r.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.3zps00ctwzkhrslp.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.41hj8h78u5md7cyj.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.4drmnco5vucp36hh.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.4giv3bh98brb2zr4.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.4p9ftw3of43ppcgs.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.525wab2pbeh7bgef.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.5289e4dnx9byx3kq.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.565vwebamg7mgqw9.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.8ypx8eubo3hg0y9.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.mi1xbcpcn2rjrxa.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.zvvreuktax44vh3.rcgu.o\" \"/LIBPATH:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\" \"/LIBPATH:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\debug\\\\deps\" \"/LIBPATH:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libchrono-56d42aefdbc0c18c.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libnum_integer-0913fcd74c05fe81.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libnum_traits-9232c041a8b35275.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libtime-2a05c0525cd72a6b.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libwinapi-555ed678803c0e09.rlib\" \"/LIBPATH:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\" \"std-f486e2d37cdf4887.dll.lib\" \"C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libcompiler_builtins-26678f31fd200488.rlib\" \"advapi32.lib\" \"gdi32.lib\" \"kernel32.lib\" \"msimg32.lib\" \"ole32.lib\" \"opengl32.lib\" \"runtimeobject.lib\" \"winspool.lib\" \"kernel32.lib\" \"advapi32.lib\" \"userenv.lib\" \"kernel32.lib\" \"ws2_32.lib\" \"bcrypt.lib\" \"msvcrt.lib\" \"legacy_stdio_definitions.lib\" \"/NXCOMPAT\" \"/LIBPATH:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\" \"/OUT:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.dll\" \"/OPT:REF,ICF\" \"/DLL\" \"/IMPLIB:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.dll.lib\" \"/DEBUG\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\intrinsic.natvis\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\liballoc.natvis\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\libcore.natvis\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\libstd.natvis\" \"-fuse-ld=lld\" \"-fuse-ld=lld\"\n  = note: lld-link: warning: ignoring unknown argument '-fuse-ld=lld'\n          lld-link: warning: ignoring unknown argument '-fuse-ld=lld'\n          lld-link: error: undefined symbol: core::ptr::drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$$GT$::h8d0ca8bb2e7ead95\n          >>> referenced by C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.2ac7pmkvmksmy6wb.rcgu.o:(core::ptr::drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$$GT$$GT$::hd6a5c20c25c61733)\n          >>> referenced by C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.2ac7pmkvmksmy6wb.rcgu.o:($ehgcr_1_8)\n          \n\n","children":[{"children":[],"code":null,"level":"note","message":"\"lld-link\" \"-flavor\" \"link\" \"/DEF:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\rustcNZzBWn\\\\lib.def\" \"/NOLOGO\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\rustcNZzBWn\\\\symbols.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.12atrhqi74trn5mb.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.2ac7pmkvmksmy6wb.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.2re88lt95otfy0w4.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.2wmrm1a4c4r65re5.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.3nhko0fabcdela7r.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.3zps00ctwzkhrslp.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.41hj8h78u5md7cyj.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.4drmnco5vucp36hh.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.4giv3bh98brb2zr4.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.4p9ftw3of43ppcgs.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.525wab2pbeh7bgef.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.5289e4dnx9byx3kq.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.565vwebamg7mgqw9.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.8ypx8eubo3hg0y9.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.mi1xbcpcn2rjrxa.rcgu.o\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.zvvreuktax44vh3.rcgu.o\" \"/LIBPATH:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\" \"/LIBPATH:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\debug\\\\deps\" \"/LIBPATH:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libchrono-56d42aefdbc0c18c.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libnum_integer-0913fcd74c05fe81.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libnum_traits-9232c041a8b35275.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libtime-2a05c0525cd72a6b.rlib\" \"C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\libwinapi-555ed678803c0e09.rlib\" \"/LIBPATH:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\" \"std-f486e2d37cdf4887.dll.lib\" \"C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libcompiler_builtins-26678f31fd200488.rlib\" \"advapi32.lib\" \"gdi32.lib\" \"kernel32.lib\" \"msimg32.lib\" \"ole32.lib\" \"opengl32.lib\" \"runtimeobject.lib\" \"winspool.lib\" \"kernel32.lib\" \"advapi32.lib\" \"userenv.lib\" \"kernel32.lib\" \"ws2_32.lib\" \"bcrypt.lib\" \"msvcrt.lib\" \"legacy_stdio_definitions.lib\" \"/NXCOMPAT\" \"/LIBPATH:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\" \"/OUT:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.dll\" \"/OPT:REF,ICF\" \"/DLL\" \"/IMPLIB:C:\\\\Users\\\\me\\\\AppData\\\\Local\\\\Temp\\\\.tmpV4jX6B\\\\target\\\\x86_64-pc-windows-msvc\\\\debug\\\\deps\\\\ctx.dll.lib\" \"/DEBUG\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\intrinsic.natvis\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\liballoc.natvis\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\libcore.natvis\" \"/NATVIS:C:\\\\Users\\\\me\\\\.rustup\\\\toolchains\\\\nightly-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\libstd.natvis\" \"-fuse-ld=lld\" \"-fuse-ld=lld\"","rendered":null,"spans":[]},{"children":[],"code":null,"level":"note","message":"lld-link: warning: ignoring unknown argument '-fuse-ld=lld'\r\nlld-link: warning: ignoring unknown argument '-fuse-ld=lld'\r\nlld-link: error: undefined symbol: core::ptr::drop_in_place$LT$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$$GT$::h8d0ca8bb2e7ead95\r\n>>> referenced by C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.2ac7pmkvmksmy6wb.rcgu.o:(core::ptr::drop_in_place$LT$core..result..Result$LT$$LP$$RP$$C$alloc..boxed..Box$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$$GT$$GT$::hd6a5c20c25c61733)\r\n>>> referenced by C:\\Users\\me\\AppData\\Local\\Temp\\.tmpV4jX6B\\target\\x86_64-pc-windows-msvc\\debug\\deps\\ctx.2ac7pmkvmksmy6wb.rcgu.o:($ehgcr_1_8)\r\n","rendered":null,"spans":[]}],"code":null,"level":"error","message":"linking with `lld-link` failed: exit code: 1","spans":[]}
    
    >>
    
    opened by Boscop 0
  • Add a command that displays the type of outputs

    Add a command that displays the type of outputs

    I find it very useful to see the type of expressions. So I tried to add this feature to evcxr. What I did works like this:

    >> :t
    Types: true
    
    >> 3 + 5
    : i32 = 8
    >> "hello"
    : &str = "hello"
    >> Some("hello".to_string())
    : Option<String> = Some("hello")
    >> vec![1, 2, 3]
    : Vec<i32> = [1, 2, 3]
    

    To get the type names I used std::any::type_name(), and added a function which only leaves the last part of paths, so it converts core::option::Option<alloc::string::String> into Option<String>, which is much easier on the eyes.

    Things which I chose arbitrarily and should be decided:

    • The name of the command (:t)
    • The format (I used : <type> = <repr>)

    A note: for shortening the name I pushed a function (evcxr_shorten_type) into the child. It's quite long, and has some intricate logic, because it had to be written without relying on regex. I think it would be better to send the raw type string along with the value, and shorten it at the main process using regex. If the concept is approved, I would be happy to try it. For now, it was simpler for me to avoid changing the interface between the processes and instead add the string on the child side.

    What do you think?

    Thanks, Noam

    opened by noamraph 0
  • Not connected to evcxr kernel on tljh

    Not connected to evcxr kernel on tljh

    I've installed a fresh installation of tljh and evcxr but I can't connect to evcxr kernel

    screenshot

    even though ipython works fine

    screenshot

    and /home/user/.cargo/bin is present in PATH.

    Here are the contents of ~/.local/share/jupyter/kernels/rust/kernel.json image

    How can I check what's wrong?

    opened by JohnScience 2
  • Adding local crate causes unresolved import

    Adding local crate causes unresolved import

    I have a local crate which I want to load into the notebook, I load the crate like this:

    :dep coordinate_system = { package = "coordinate_system", path = "coordinate_system", version = "*" }
    

    The notebook and the crate live side by side so the path is correct I think, and the notebook doesn't complain about the above line.

    Then in the next line I use the crate:

    use coordinate_system;
    

    Here the notebook shows an error:

    [E0432] Error: unresolved import `coordinate_system`
    
    opened by dyzdyz010 1
Releases(v0.14.1)
Owner
Google
Google ❤️ Open Source
Google
An Implementation of the Context Tree Weighting (CTW) Sequence Prediction Algorithm

Context Tree Weighting (CTW) CTW is a lightweight, practical and well performing sequence prediction algorithm discovered by Frans Willems, Yuri Shtar

null 7 Dec 23, 2022
Msgpack serialization/deserialization library for Python, written in Rust using PyO3, and rust-msgpack. Reboot of orjson. msgpack.org[Python]

ormsgpack ormsgpack is a fast msgpack library for Python. It is a fork/reboot of orjson It serializes faster than msgpack-python and deserializes a bi

Aviram Hassan 139 Dec 30, 2022
Practice repo for learning Rust. Currently going through "Rust for JavaScript Developers" course.

rust-practice ?? Practice repo for learning Rust. Directories /rust-for-js-dev Files directed towards "Rust for JavaScript Developers" course. Thank y

Sammy Samkough 0 Dec 25, 2021
A Rust library with homemade machine learning models to classify the MNIST dataset. Built in an attempt to get familiar with advanced Rust concepts.

mnist-classifier Ideas UPDATED: Finish CLI Flags Parallelize conputationally intensive functions Class-based naive bayes README Image parsing Confusio

Neil Kaushikkar 0 Sep 2, 2021
🦀Rust Turkiye - Rust Dersleri

Rust Turkiye - Rust Dersleri CURIOSITY - Featuring Richard Feynman Bu repo Rust Turkiye tarafindan duzenlenen Rust Dersleri egitiminin alistirma ve ko

Theo M. Bulut 12 Jan 14, 2023
A Rust machine learning framework.

Linfa linfa (Italian) / sap (English): The vital circulating fluid of a plant. linfa aims to provide a comprehensive toolkit to build Machine Learning

Rust-ML 2.2k Jan 2, 2023
Machine Learning library for Rust

rusty-machine This library is no longer actively maintained. The crate is currently on version 0.5.4. Read the API Documentation to learn more. And he

James Lucas 1.2k Dec 31, 2022
Rust library for Self Organising Maps (SOM).

RusticSOM Rust library for Self Organising Maps (SOM). Using this Crate Add rusticsom as a dependency in Cargo.toml [dependencies] rusticsom = "1.1.0"

Avinash Shenoy 26 Oct 17, 2022
Rust language bindings for TensorFlow

TensorFlow Rust provides idiomatic Rust language bindings for TensorFlow. Notice: This project is still under active development and not guaranteed to

null 4.1k Jan 1, 2023
Machine learning crate for Rust

rustlearn A machine learning package for Rust. For full usage details, see the API documentation. Introduction This crate contains reasonably effectiv

Maciej Kula 547 Dec 28, 2022
Rust bindings for the C++ api of PyTorch.

tch-rs Rust bindings for the C++ api of PyTorch. The goal of the tch crate is to provide some thin wrappers around the C++ PyTorch api (a.k.a. libtorc

Laurent Mazare 2.3k Jan 1, 2023
个人的 rust 学习资料

?? 通知: 项目文档迁移到: https://github.com/higker/learn-rust learning-rust-zh 个人的 rust 学习资料 学习目录 目录 源代码地址 相关解析 第一个rust程序 https://github.com/higker/learning-ru

Jarvib Ding 16 Jun 21, 2022
Distributed compute platform implemented in Rust, and powered by Apache Arrow.

Ballista: Distributed Compute Platform Overview Ballista is a distributed compute platform primarily implemented in Rust, powered by Apache Arrow. It

Ballista 2.3k Jan 3, 2023
Tensors and differentiable operations (like TensorFlow) in Rust

autograd Differentiable operations and tensors backed by ndarray. Motivation Machine learning is one of the field where Rust lagging behind other lang

Ryo ASAKURA 403 Dec 25, 2022
Rust numeric library with R, MATLAB & Python syntax

Peroxide Rust numeric library contains linear algebra, numerical analysis, statistics and machine learning tools with R, MATLAB, Python like macros. W

Tae Geun Kim 351 Dec 29, 2022
A fast, safe and easy to use reinforcement learning framework in Rust.

RSRL (api) Reinforcement learning should be fast, safe and easy to use. Overview rsrl provides generic constructs for reinforcement learning (RL) expe

Thomas Spooner 139 Dec 13, 2022
Neural networks in Rust

deeplearn-rs Deep learning in Rust! This is my first shot at this. It's mostly just a proof of concept right now. The API will change. Status We have

Theodore DeRego 199 Oct 23, 2022
A deep learning library for rust

Alumina An experimental deep learning library written in pure rust. Breakage expected on each release in the short term. See mnist.rs in examples or R

zza 95 Nov 30, 2022
Machine learning in Rust.

Rustml Rustml is a library for doing machine learning in Rust. The documentation of the project with a descprition of the modules can be found here. F

null 60 Dec 15, 2022