35 releases (22 breaking)

0.24.0 Dec 2, 2024
0.23.0 Nov 28, 2024
0.22.0 Nov 23, 2024
0.14.0 Jul 26, 2024
0.1.0 Mar 6, 2024

#119 in Asynchronous

Download history 3680/week @ 2024-08-24 3314/week @ 2024-08-31 2968/week @ 2024-09-07 2692/week @ 2024-09-14 2565/week @ 2024-09-21 2717/week @ 2024-09-28 3131/week @ 2024-10-05 3280/week @ 2024-10-12 2642/week @ 2024-10-19 4136/week @ 2024-10-26 3512/week @ 2024-11-02 3981/week @ 2024-11-09 4069/week @ 2024-11-16 4011/week @ 2024-11-23 4292/week @ 2024-11-30 3166/week @ 2024-12-07

16,166 downloads per month
Used in 10 crates (7 directly)

BSD-3-Clause

150KB
3K SLoC

runtimelib

runtimelib is a Rust library for interacting with Jupyter kernels natively, over ZeroMQ.

Installation

Runtimelib allows you to pick which async runtime you want to use. If you're using tokio, include the tokio-runtime flag. For async-dispatcher users (AKA GPUI devs), use async-dispatcher-runtime. The async dispatcher runtime is also compatible for smol/async-std users.

Tokio Users

[dependencies]
runtimelib = { version = "0.24.0", features = ["tokio-runtime"] }

Async-dispatcher Users

[dependencies]
runtimelib = { version = "0.24.0", features = ["async-dispatcher-runtime"] }

Key Features

  • Jupyter Kernel Management: Discover, start, and manage Jupyter kernels.
  • Messaging Protocol: Implement Jupyter's wire protocol for communication with kernels over ZeroMQ.
  • Flexible Async Runtime: Support for both Tokio and async-dispatcher runtimes.

Documentation

For more detailed information about the API and its usage, please refer to the API documentation.

Contributing

We welcome contributions to Runtimelib! If you'd like to contribute, please:

  1. Fork the repository
  2. Create a new branch for your feature or bug fix
  3. Write tests for your changes
  4. Implement your changes
  5. Submit a pull request

Please make sure to update tests as appropriate and adhere to the existing coding style.

License

Runtimelib is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-APACHE and LICENSE-MIT for details.

Dependencies

~13–26MB
~489K SLoC