agnostic-lite

Crates.ioagnostic-lite
lib.rsagnostic-lite
version0.5.6
created_at2024-03-13 08:34:22.838674+00
updated_at2025-06-26 15:37:02.820318+00
description`agnostic-lite` is an agnostic abstraction layer for any async runtime.
homepagehttps://github.com/al8n/agnostic
repositoryhttps://github.com/al8n/agnostic
max_upload_size
id1171524
size200,854
Al Liu (al8n)

documentation

https://docs.rs/agnostic-lite

README

Agnostic-Lite

agnostic-lite is an agnostic abstraction layer for any async runtime.

In order to make it trivial for others to build implementations of any async runtime, this crate provides an abstraction layer implementation.

In addition, this crate is not only no_std, but also alloc-free. This means that it can be used in environments where alloc is not available, such as embedded systems. It also has no unsafe code.

github LoC Build codecov

docs.rs crates.io crates.io license

Introduction

agnostic-lite is an agnostic abstraction layer for any async runtime.

In order to make it trivial for others to build implementations of any async runtime, this crate provides an abstraction layer implementation.

In addition, this crate is not only no_std, but also alloc-free. This means that it can be used in environments where alloc is not available, such as embedded systems. It also has no unsafe code.

agnostic-lite splits the big Runtime trait in agnostic in multiple small traits:

  • AsyncSpawner: trait for spawning tasks
  • AsyncLocalSpawner: trait for spawning local tasks
  • AsyncSleep: trait for sleep functionality
  • AsyncInterval: trait for interval functionality
  • AsyncTimeout: trait for timeout functionality

Builtin supports runtimes:

  • tokio
  • async-std
  • smol
  • wasm-bindgen-futures

Installation

[dependencies]
agnostic-lite = "0.5"

License

agnostic-lite is under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2025 Al Liu.

Commit count: 173

cargo fmt