{
  "pw_alignment": {
    "tagline": "Natural object alignment, guaranteed",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_allocator": {
    "tagline": "Flexible, safe, and measurable memory allocation",
    "status": "unstable",
    "languages": [
      "C++17"
    ],
    "size": "400 to 1800 bytes"
  },
  "pw_analog": {
    "tagline": "Analog-to-digital converter libraries and utilities",
    "status": "stable",
    "languages": [
      "C++"
    ]
  },
  "pw_android_toolchain": {
    "tagline": "GN toolchains for the Android NDK",
    "status": "unstable",
    "languages": [
      "GN"
    ]
  },
  "pw_arduino_build": {
    "tagline": "Main function wrapper and build utilities for Arduino",
    "status": "stable",
    "languages": [
      "C++",
      "GN"
    ]
  },
  "pw_async": {
    "tagline": "Portable APIs for asynchronous code",
    "status": "deprecated",
    "languages": [
      "C++"
    ]
  },
  "pw_async2": {
    "tagline": "Cooperative async tasks for embedded",
    "status": "experimental",
    "languages": [
      "C++17"
    ]
  },
  "pw_base64": {
    "tagline": "Base64 encoding, decoding, and validating",
    "status": "stable",
    "languages": [
      "C",
      "C++"
    ]
  },
  "pw_bloat": {
    "tagline": "Utilities for generating binary size reports",
    "status": "stable",
    "languages": [
      "C++",
      "GN"
    ]
  },
  "pw_blob_store": {
    "tagline": "Flash-backed persistent storage for data blobs",
    "status": "stable",
    "languages": [
      "C++"
    ]
  },
  "pw_bluetooth": {
    "tagline": "Host-layer Bluetooth Low Energy APIs and utilities",
    "status": "unstable",
    "languages": [
      "C++"
    ]
  },
  "pw_bluetooth_hci": {
    "tagline": "Bluetooth Host Controller Interface utilities",
    "status": "stable",
    "languages": [
      "C++"
    ]
  },
  "pw_bluetooth_profiles": {
    "tagline": "Bluetooth profiles built on top of pw_bluetooth",
    "status": "unstable",
    "languages": [
      "C++"
    ]
  },
  "pw_bluetooth_proxy": {
    "tagline": "Lightweight proxy for augmenting Bluetooth functionality",
    "status": "unstable",
    "languages": [
      "C++17"
    ]
  },
  "pw_bluetooth_sapphire": {
    "tagline": "Battle-tested Bluetooth with rock-solid reliability",
    "status": "unstable",
    "size": "1.5 to 2 mB",
    "languages": [
      "C++17"
    ]
  },
  "pw_boot": {
    "tagline": "Simplified booting for C++ targets",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_build": {
    "tagline": "Integrations for Bazel, GN, and CMake",
    "status": "stable",
    "languages": [
      "Bazel",
      "CMake",
      "GN"
    ]
  },
  "pw_build_android": {
    "tagline": "Utilities for using Pigweed in Android platform",
    "status": "unstable",
    "languages": [
      "C++20"
    ]
  },
  "pw_build_info": {
    "tagline": "Generate, embed, and parse build-related information",
    "status": "stable",
    "languages": [
      "Bazel",
      "CMake",
      "GN"
    ]
  },
  "pw_build_mcuxpresso": {
    "tagline": "Utilities for building NXP MCUXpresso SDK targets",
    "status": "stable",
    "languages": [
      "Bazel",
      "GN"
    ]
  },
  "pw_bytes": {
    "tagline": "Utilities for manipulating binary data",
    "status": "stable",
    "languages": [
      "C++"
    ]
  },
  "pw_channel": {
    "tagline": "Async, zero-copy API for sending and receiving bytes or datagrams",
    "status": "experimental",
    "languages": [
      "C++"
    ]
  },
  "pw_checksum": {
    "tagline": "Checksum calculation API",
    "status": "stable",
    "languages": [
      "C",
      "C++"
    ]
  },
  "pw_chre": {
    "tagline": "Android Context Hub Runtime Environment backend",
    "status": "experimental",
    "languages": [
      "C++"
    ]
  },
  "pw_cli": {
    "tagline": "Enhance and accelerate custom command-line tooling",
    "status": "stable",
    "languages": [
      "Python"
    ]
  },
  "pw_clock_tree": {
    "tagline": "Clock tree management for embedded devices",
    "status": "unstable",
    "languages": [
      "C++17"
    ]
  },
  "pw_clock_tree_mcuxpresso": {
    "tagline": "NXP MCUXpresso SDK implementation for pw_clock_tree",
    "status": "unstable",
    "languages": [
      "C++17"
    ]
  },
  "pw_console": {
    "tagline": "Multi-purpose pluggable interactive console for dev & manufacturing",
    "status": "stable",
    "size": "N/A (host) but works best with pw_rpc on-device",
    "languages": [
      "Python"
    ]
  },
  "pw_digital_io_linux": {
    "tagline": "Digital I/O interface for Linux userspace",
    "status": "unstable",
    "languages": [
      "C++17"
    ]
  },
  "pw_dma_mcuxpresso": {
    "tagline": "DMA helpers for MCUXpresso SDK",
    "status": "unstable",
    "languages": [
      "C++17"
    ]
  },
  "pw_docgen": {
    "tagline": "Documentation generator for Pigweed-based projects",
    "status": "stable",
    "languages": [
      "GN"
    ]
  },
  "pw_emu": {
    "tagline": "Flexible emulators frontend",
    "status": "experimental",
    "languages": [
      "Python",
      "CLI"
    ]
  },
  "pw_env_setup_zephyr": {
    "tagline": "Zephyr utilities",
    "status": "experimental"
  },
  "pw_format": {
    "tagline": "String formatting",
    "status": "experimental",
    "languages": [
      "Rust"
    ]
  },
  "pw_function": {
    "tagline": "Embedded-friendly std::function",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_fuzzer": {
    "tagline": "Better C++ code through easier fuzzing",
    "status": "unstable",
    "languages": [
      "C++17",
      "C++20"
    ]
  },
  "pw_grpc": {
    "tagline": "pw_rpc over gRPC",
    "status": "unstable",
    "languages": [
      "C++17",
      "C++20"
    ]
  },
  "pw_hdlc": {
    "tagline": "Simple, robust, and efficient serial communication",
    "status": "stable",
    "size": "1400 to 2600 bytes",
    "languages": [
      "Python",
      "C++17",
      "TypeScript"
    ]
  },
  "pw_i2c": {
    "tagline": "Cross-platform I2C API with interactive debugging",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_i2c_linux": {
    "tagline": "Linux userspace implementation for pw_i2c",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_i2c_mcuxpresso": {
    "tagline": "NXP MCUXpresso SDK implementation for pw_i2c",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_i2c_rp2040": {
    "tagline": "Raspberry Pi Pico SDK implementation for pw_i2c",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_json": {
    "tagline": "Simple, efficient C++ JSON serialization",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_kvs": {
    "tagline": "Lightweight, persistent key-value store",
    "status": "stable",
    "size": "~12 kB",
    "languages": [
      "C++17"
    ]
  },
  "pw_log": {
    "tagline": "Robust and portable logging for embedded projects",
    "status": "stable",
    "languages": [
      "C++",
      "Java",
      "Python"
    ]
  },
  "pw_log_android": {
    "tagline": "Android logging backend",
    "status": "unstable",
    "languages": [
      "C++"
    ]
  },
  "pw_multibuf": {
    "tagline": "A buffer API optimized for zero-copy messaging",
    "status": "unstable",
    "languages": [
      "C++17"
    ]
  },
  "pw_perf_test": {
    "tagline": "Micro-benchmarks that are easy to write and run",
    "status": "unstable",
    "languages": [
      "C++17"
    ]
  },
  "pw_presubmit": {
    "tagline": "Python tools for running presubmit checks and linters",
    "status": "stable",
    "languages": [
      "Python"
    ]
  },
  "pw_protobuf": {
    "tagline": "Expressive interface for encoding and decoding protocol buffers",
    "status": "stable",
    "languages": [
      "C++"
    ]
  },
  "pw_router": {
    "tagline": "Transport-agnostic packet routing",
    "status": "experimental",
    "languages": [
      "C++"
    ]
  },
  "pw_result": {
    "tagline": "Error propagation primitives: value-or-error",
    "status": "stable",
    "languages": [
      "C++17"
    ]
  },
  "pw_rpc": {
    "tagline": "Efficient, low-code-size, higher-level RPC system for embedded devices",
    "status": "stable",
    "languages": [
      "C++",
      "Java",
      "JavaScript",
      "Python",
      "TypeScript"
    ]
  },
  "pw_software_update": {
    "tagline": "Secure software delivery",
    "status": "experimental",
    "languages": [
      "Python",
      "C++17"
    ]
  },
  "pw_span": {
    "tagline": "std::span for C++17",
    "status": "stable",
    "languages": [
      "C++17",
      "C++20"
    ]
  },
  "pw_spi_linux": {
    "tagline": "SPI interface for Linux userspace",
    "status": "unstable",
    "languages": [
      "C++17",
      "C++20"
    ]
  },
  "pw_spi_rp2040": {
    "tagline": "Raspberry Pi RP2040 backend for pw_spi",
    "status": "unstable",
    "languages": [
      "C++"
    ]
  },
  "pw_status": {
    "tagline": "Exception-free error propagation for embedded",
    "status": "stable",
    "languages": [
      "C++17",
      "C",
      "Python",
      "Java",
      "TypeScript",
      "Rust"
    ]
  },
  "pw_string": {
    "tagline": "Efficient, easy, and safe string manipulation",
    "status": "stable",
    "size": "500 to 1500 bytes",
    "languages": [
      "C++17"
    ]
  },
  "pw_target_runner": {
    "tagline": "gRPC server for running executables in parallel",
    "status": "stable",
    "languages": [
      "Go"
    ]
  },
  "pw_tokenizer": {
    "tagline": "Compress strings to shrink logs by +75%",
    "status": "stable",
    "size": "50% reduction in log size",
    "languages": [
      "C++",
      "C11",
      "Python",
      "Rust",
      "TypeScript",
      "Java"
    ]
  },
  "pw_toolchain_bazel": {
    "tagline": "A modular toolkit for declaring C/C++ toolchains in Bazel",
    "status": "unstable",
    "languages": [
      "Starlark"
    ]
  },
  "pw_uart": {
    "tagline": "Core interfaces for UART communication",
    "status": "unstable",
    "languages": [
      "C++"
    ]
  },
  "pw_unit_test": {
    "tagline": "GoogleTest for embedded",
    "status": "stable"
  },
  "pw_varint": {
    "tagline": "Functions for encoding and decoding variable length integers",
    "status": "stable",
    "languages": [
      "C",
      "C++",
      "Rust"
    ]
  },
  "pw_watch": {
    "tagline": "Embedded development file system watcher",
    "status": "stable"
  }
}
