This document describes the most common Fuchsia rust crates. To see a full list of all available rust crates, see the full list of rust crates.
Macros for creating Fuchsia components and tests. These macros work on Fuchsia, and also on host with some limitations (that are called out where they exist).
Support library for implementing Fuchsia components.
The Realm Builder library exists to facilitate integration testing of components by allowing for the run-time construction of realms and mocked components specific to individual test cases. For more information on how to use this library, see Realm Builder
Futures executor and asynchronous primitives (Channel, Socket, Fifo, etc.). This crate works on Fuchsia and host Operating Systems and allows you to use Overnet for RCS and ffx.
Provides utilities for working with asynchronous code.
This library contains helpers crates to handle things such as hanging gets.
Rust language bindings for Zircon kernel syscalls.
Wrapper over fdio library.
Type-safe bindings for Fuchsia-specific
libcfunctionality. This crate is a minimal extension on top of the
fuchsia-zirconcrate, which provides bindings to the Zircon kernel’s syscalls, but does not depend on functionality from
A convenience crate for Zircon VMO objects mapped into memory.
Utilities for working with the
fuchsia.memFIDL library. This crate is not very widely used.
Utilities for safely operating on memory shared between untrusting processes.
Library and runtime for FIDL bindings. For more information about FIDL, see FIDL Overview
Types implementing the flyweight pattern for reusing object allocations.
Work with Fuchsia Archives (FARs)
Library that lets you work with Fuchsia packages which are a hierarchical collection of files that provides one or more programs, components or services to a Fuchsia system.
Protect and verify data blobs using Merkle Trees
Rust interface to the Fuchsia Logging System. This library isn't Fuchsia-specific and can be used on the host.
Utility to let you read metrics and logs. This is useful for creating tests.
A safe Rust interface to Fuchsia's tracing interface.
Thin wrapper crate around the Criterion benchmark suite. This generates benchmark metrics for infrastructure from criterion benches.
A library that defines the JSON schema for benchmark metrics.
Components in Fuchsia may expose structured information about themselves conforming to the Inspect API. This crate is the core library for writing inspect data in Rust components. For a comprehensive guide on how to start using
inspect, please refer to the codelab.
This library is intended for contributions to the inspect library from clients.
Configure, create and use FrameBuffers in Fuchsia.
Rust interface to Scenic, the Fuchsia compositor
Bindings and protocol for serving filesystems on the Fuchsia platform
A library to create “pseudo” file systems. These file systems are backed by in process callbacks. Examples are: component configuration, debug information or statistics.
A library to access a file system directory.
A library to us Fxfs which is a log-structured filesystem for Fuchsia.
Wrapper library for fuchsia.io operations, such as reading and writing files, reading directory entries, and watching directories.
A library that lets you create a Fuchsia-compatible hyper client for making HTTP requests.
Utilities for Bluetooth development.
A Rust crypto library backed by BoringSSL