xref: /aosp_15_r20/external/pigweed/docs/module_metadata.json (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker{
2*61c4878aSAndroid Build Coastguard Worker  "pw_alignment": {
3*61c4878aSAndroid Build Coastguard Worker    "tagline": "Natural object alignment, guaranteed",
4*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
5*61c4878aSAndroid Build Coastguard Worker    "languages": [
6*61c4878aSAndroid Build Coastguard Worker      "C++17"
7*61c4878aSAndroid Build Coastguard Worker    ]
8*61c4878aSAndroid Build Coastguard Worker  },
9*61c4878aSAndroid Build Coastguard Worker  "pw_allocator": {
10*61c4878aSAndroid Build Coastguard Worker    "tagline": "Flexible, safe, and measurable memory allocation",
11*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
12*61c4878aSAndroid Build Coastguard Worker    "languages": [
13*61c4878aSAndroid Build Coastguard Worker      "C++17"
14*61c4878aSAndroid Build Coastguard Worker    ],
15*61c4878aSAndroid Build Coastguard Worker    "size": "400 to 1800 bytes"
16*61c4878aSAndroid Build Coastguard Worker  },
17*61c4878aSAndroid Build Coastguard Worker  "pw_analog": {
18*61c4878aSAndroid Build Coastguard Worker    "tagline": "Analog-to-digital converter libraries and utilities",
19*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
20*61c4878aSAndroid Build Coastguard Worker    "languages": [
21*61c4878aSAndroid Build Coastguard Worker      "C++"
22*61c4878aSAndroid Build Coastguard Worker    ]
23*61c4878aSAndroid Build Coastguard Worker  },
24*61c4878aSAndroid Build Coastguard Worker  "pw_android_toolchain": {
25*61c4878aSAndroid Build Coastguard Worker    "tagline": "GN toolchains for the Android NDK",
26*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
27*61c4878aSAndroid Build Coastguard Worker    "languages": [
28*61c4878aSAndroid Build Coastguard Worker      "GN"
29*61c4878aSAndroid Build Coastguard Worker    ]
30*61c4878aSAndroid Build Coastguard Worker  },
31*61c4878aSAndroid Build Coastguard Worker  "pw_arduino_build": {
32*61c4878aSAndroid Build Coastguard Worker    "tagline": "Main function wrapper and build utilities for Arduino",
33*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
34*61c4878aSAndroid Build Coastguard Worker    "languages": [
35*61c4878aSAndroid Build Coastguard Worker      "C++",
36*61c4878aSAndroid Build Coastguard Worker      "GN"
37*61c4878aSAndroid Build Coastguard Worker    ]
38*61c4878aSAndroid Build Coastguard Worker  },
39*61c4878aSAndroid Build Coastguard Worker  "pw_assert": {
40*61c4878aSAndroid Build Coastguard Worker    "tagline": "Flexible crash triggering and handling",
41*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
42*61c4878aSAndroid Build Coastguard Worker    "languages": [
43*61c4878aSAndroid Build Coastguard Worker      "C",
44*61c4878aSAndroid Build Coastguard Worker      "C++"
45*61c4878aSAndroid Build Coastguard Worker    ]
46*61c4878aSAndroid Build Coastguard Worker  },
47*61c4878aSAndroid Build Coastguard Worker  "pw_assert_fuchsia": {
48*61c4878aSAndroid Build Coastguard Worker    "tagline": "pw_assert backend for Fuchsia",
49*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
50*61c4878aSAndroid Build Coastguard Worker    "languages": [
51*61c4878aSAndroid Build Coastguard Worker      "C",
52*61c4878aSAndroid Build Coastguard Worker      "C++"
53*61c4878aSAndroid Build Coastguard Worker    ]
54*61c4878aSAndroid Build Coastguard Worker  },
55*61c4878aSAndroid Build Coastguard Worker  "pw_async": {
56*61c4878aSAndroid Build Coastguard Worker    "tagline": "Portable APIs for asynchronous code",
57*61c4878aSAndroid Build Coastguard Worker    "status": "deprecated",
58*61c4878aSAndroid Build Coastguard Worker    "languages": [
59*61c4878aSAndroid Build Coastguard Worker      "C++"
60*61c4878aSAndroid Build Coastguard Worker    ]
61*61c4878aSAndroid Build Coastguard Worker  },
62*61c4878aSAndroid Build Coastguard Worker  "pw_async2": {
63*61c4878aSAndroid Build Coastguard Worker    "tagline": "Cooperative async tasks for embedded",
64*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
65*61c4878aSAndroid Build Coastguard Worker    "languages": [
66*61c4878aSAndroid Build Coastguard Worker      "C++17"
67*61c4878aSAndroid Build Coastguard Worker    ]
68*61c4878aSAndroid Build Coastguard Worker  },
69*61c4878aSAndroid Build Coastguard Worker  "pw_async_fuchsia": {
70*61c4878aSAndroid Build Coastguard Worker    "tagline": "Fuchsia backend for pw_async",
71*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
72*61c4878aSAndroid Build Coastguard Worker    "languages": [
73*61c4878aSAndroid Build Coastguard Worker      "C",
74*61c4878aSAndroid Build Coastguard Worker      "C++"
75*61c4878aSAndroid Build Coastguard Worker    ]
76*61c4878aSAndroid Build Coastguard Worker  },
77*61c4878aSAndroid Build Coastguard Worker  "pw_base64": {
78*61c4878aSAndroid Build Coastguard Worker    "tagline": "Base64 encoding, decoding, and validating",
79*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
80*61c4878aSAndroid Build Coastguard Worker    "languages": [
81*61c4878aSAndroid Build Coastguard Worker      "C",
82*61c4878aSAndroid Build Coastguard Worker      "C++",
83*61c4878aSAndroid Build Coastguard Worker      "Rust"
84*61c4878aSAndroid Build Coastguard Worker    ]
85*61c4878aSAndroid Build Coastguard Worker  },
86*61c4878aSAndroid Build Coastguard Worker  "pw_bloat": {
87*61c4878aSAndroid Build Coastguard Worker    "tagline": "Utilities for generating binary size reports",
88*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
89*61c4878aSAndroid Build Coastguard Worker    "languages": [
90*61c4878aSAndroid Build Coastguard Worker      "C++",
91*61c4878aSAndroid Build Coastguard Worker      "GN"
92*61c4878aSAndroid Build Coastguard Worker    ]
93*61c4878aSAndroid Build Coastguard Worker  },
94*61c4878aSAndroid Build Coastguard Worker  "pw_blob_store": {
95*61c4878aSAndroid Build Coastguard Worker    "tagline": "Flash-backed persistent storage for data blobs",
96*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
97*61c4878aSAndroid Build Coastguard Worker    "languages": [
98*61c4878aSAndroid Build Coastguard Worker      "C++"
99*61c4878aSAndroid Build Coastguard Worker    ]
100*61c4878aSAndroid Build Coastguard Worker  },
101*61c4878aSAndroid Build Coastguard Worker  "pw_bluetooth": {
102*61c4878aSAndroid Build Coastguard Worker    "tagline": "Host-layer Bluetooth Low Energy APIs and utilities",
103*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
104*61c4878aSAndroid Build Coastguard Worker    "languages": [
105*61c4878aSAndroid Build Coastguard Worker      "C++"
106*61c4878aSAndroid Build Coastguard Worker    ]
107*61c4878aSAndroid Build Coastguard Worker  },
108*61c4878aSAndroid Build Coastguard Worker  "pw_bluetooth_hci": {
109*61c4878aSAndroid Build Coastguard Worker    "tagline": "Bluetooth Host Controller Interface utilities",
110*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
111*61c4878aSAndroid Build Coastguard Worker    "languages": [
112*61c4878aSAndroid Build Coastguard Worker      "C++"
113*61c4878aSAndroid Build Coastguard Worker    ]
114*61c4878aSAndroid Build Coastguard Worker  },
115*61c4878aSAndroid Build Coastguard Worker  "pw_bluetooth_profiles": {
116*61c4878aSAndroid Build Coastguard Worker    "tagline": "Bluetooth profiles built on top of pw_bluetooth",
117*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
118*61c4878aSAndroid Build Coastguard Worker    "languages": [
119*61c4878aSAndroid Build Coastguard Worker      "C++"
120*61c4878aSAndroid Build Coastguard Worker    ]
121*61c4878aSAndroid Build Coastguard Worker  },
122*61c4878aSAndroid Build Coastguard Worker  "pw_bluetooth_proxy": {
123*61c4878aSAndroid Build Coastguard Worker    "tagline": "Lightweight proxy for augmenting Bluetooth functionality",
124*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
125*61c4878aSAndroid Build Coastguard Worker    "languages": [
126*61c4878aSAndroid Build Coastguard Worker      "C++17"
127*61c4878aSAndroid Build Coastguard Worker    ]
128*61c4878aSAndroid Build Coastguard Worker  },
129*61c4878aSAndroid Build Coastguard Worker  "pw_bluetooth_sapphire": {
130*61c4878aSAndroid Build Coastguard Worker    "tagline": "Battle-tested Bluetooth with rock-solid reliability",
131*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
132*61c4878aSAndroid Build Coastguard Worker    "size": "500 to 700 kB",
133*61c4878aSAndroid Build Coastguard Worker    "languages": [
134*61c4878aSAndroid Build Coastguard Worker      "C++17"
135*61c4878aSAndroid Build Coastguard Worker    ]
136*61c4878aSAndroid Build Coastguard Worker  },
137*61c4878aSAndroid Build Coastguard Worker  "pw_boot": {
138*61c4878aSAndroid Build Coastguard Worker    "tagline": "Simplified booting for C++ targets",
139*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
140*61c4878aSAndroid Build Coastguard Worker    "languages": [
141*61c4878aSAndroid Build Coastguard Worker      "C++"
142*61c4878aSAndroid Build Coastguard Worker    ]
143*61c4878aSAndroid Build Coastguard Worker  },
144*61c4878aSAndroid Build Coastguard Worker  "pw_boot_cortex_m": {
145*61c4878aSAndroid Build Coastguard Worker    "tagline": "ARM Cortex-M backend for pw_boot",
146*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
147*61c4878aSAndroid Build Coastguard Worker    "languages": [
148*61c4878aSAndroid Build Coastguard Worker      "C",
149*61c4878aSAndroid Build Coastguard Worker      "C++"
150*61c4878aSAndroid Build Coastguard Worker    ]
151*61c4878aSAndroid Build Coastguard Worker  },
152*61c4878aSAndroid Build Coastguard Worker  "pw_build": {
153*61c4878aSAndroid Build Coastguard Worker    "tagline": "Integrations for Bazel, GN, and CMake",
154*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
155*61c4878aSAndroid Build Coastguard Worker    "languages": [
156*61c4878aSAndroid Build Coastguard Worker      "Bazel",
157*61c4878aSAndroid Build Coastguard Worker      "CMake",
158*61c4878aSAndroid Build Coastguard Worker      "GN",
159*61c4878aSAndroid Build Coastguard Worker      "Rust"
160*61c4878aSAndroid Build Coastguard Worker    ]
161*61c4878aSAndroid Build Coastguard Worker  },
162*61c4878aSAndroid Build Coastguard Worker  "pw_build_android": {
163*61c4878aSAndroid Build Coastguard Worker    "tagline": "Utilities for using Pigweed in Android platform",
164*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
165*61c4878aSAndroid Build Coastguard Worker    "languages": [
166*61c4878aSAndroid Build Coastguard Worker      "C++20"
167*61c4878aSAndroid Build Coastguard Worker    ]
168*61c4878aSAndroid Build Coastguard Worker  },
169*61c4878aSAndroid Build Coastguard Worker  "pw_build_info": {
170*61c4878aSAndroid Build Coastguard Worker    "tagline": "Generate, embed, and parse build-related information",
171*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
172*61c4878aSAndroid Build Coastguard Worker    "languages": [
173*61c4878aSAndroid Build Coastguard Worker      "Bazel",
174*61c4878aSAndroid Build Coastguard Worker      "CMake",
175*61c4878aSAndroid Build Coastguard Worker      "GN"
176*61c4878aSAndroid Build Coastguard Worker    ]
177*61c4878aSAndroid Build Coastguard Worker  },
178*61c4878aSAndroid Build Coastguard Worker  "pw_build_mcuxpresso": {
179*61c4878aSAndroid Build Coastguard Worker    "tagline": "Utilities for building NXP MCUXpresso SDK targets",
180*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
181*61c4878aSAndroid Build Coastguard Worker    "languages": [
182*61c4878aSAndroid Build Coastguard Worker      "Bazel",
183*61c4878aSAndroid Build Coastguard Worker      "GN"
184*61c4878aSAndroid Build Coastguard Worker    ]
185*61c4878aSAndroid Build Coastguard Worker  },
186*61c4878aSAndroid Build Coastguard Worker  "pw_bytes": {
187*61c4878aSAndroid Build Coastguard Worker    "tagline": "Utilities for manipulating binary data",
188*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
189*61c4878aSAndroid Build Coastguard Worker    "languages": [
190*61c4878aSAndroid Build Coastguard Worker      "C++",
191*61c4878aSAndroid Build Coastguard Worker      "Rust"
192*61c4878aSAndroid Build Coastguard Worker    ]
193*61c4878aSAndroid Build Coastguard Worker  },
194*61c4878aSAndroid Build Coastguard Worker  "pw_channel": {
195*61c4878aSAndroid Build Coastguard Worker    "tagline": "Async, zero-copy API for sending and receiving bytes or datagrams",
196*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
197*61c4878aSAndroid Build Coastguard Worker    "languages": [
198*61c4878aSAndroid Build Coastguard Worker      "C++"
199*61c4878aSAndroid Build Coastguard Worker    ]
200*61c4878aSAndroid Build Coastguard Worker  },
201*61c4878aSAndroid Build Coastguard Worker  "pw_checksum": {
202*61c4878aSAndroid Build Coastguard Worker    "tagline": "Checksum calculation API",
203*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
204*61c4878aSAndroid Build Coastguard Worker    "languages": [
205*61c4878aSAndroid Build Coastguard Worker      "C",
206*61c4878aSAndroid Build Coastguard Worker      "C++"
207*61c4878aSAndroid Build Coastguard Worker    ]
208*61c4878aSAndroid Build Coastguard Worker  },
209*61c4878aSAndroid Build Coastguard Worker  "pw_chre": {
210*61c4878aSAndroid Build Coastguard Worker    "tagline": "Android Context Hub Runtime Environment backend",
211*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
212*61c4878aSAndroid Build Coastguard Worker    "languages": [
213*61c4878aSAndroid Build Coastguard Worker      "C++"
214*61c4878aSAndroid Build Coastguard Worker    ]
215*61c4878aSAndroid Build Coastguard Worker  },
216*61c4878aSAndroid Build Coastguard Worker  "pw_chrono": {
217*61c4878aSAndroid Build Coastguard Worker    "tagline": "Portable std::chrono for constrained embedded devices",
218*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
219*61c4878aSAndroid Build Coastguard Worker    "languages": [
220*61c4878aSAndroid Build Coastguard Worker      "C",
221*61c4878aSAndroid Build Coastguard Worker      "C++"
222*61c4878aSAndroid Build Coastguard Worker    ]
223*61c4878aSAndroid Build Coastguard Worker  },
224*61c4878aSAndroid Build Coastguard Worker  "pw_cli": {
225*61c4878aSAndroid Build Coastguard Worker    "tagline": "Enhance and accelerate custom command-line tooling",
226*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
227*61c4878aSAndroid Build Coastguard Worker    "languages": [
228*61c4878aSAndroid Build Coastguard Worker      "Python"
229*61c4878aSAndroid Build Coastguard Worker    ]
230*61c4878aSAndroid Build Coastguard Worker  },
231*61c4878aSAndroid Build Coastguard Worker  "pw_clock_tree": {
232*61c4878aSAndroid Build Coastguard Worker    "tagline": "Clock tree management for embedded devices",
233*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
234*61c4878aSAndroid Build Coastguard Worker    "languages": [
235*61c4878aSAndroid Build Coastguard Worker      "C++17"
236*61c4878aSAndroid Build Coastguard Worker    ]
237*61c4878aSAndroid Build Coastguard Worker  },
238*61c4878aSAndroid Build Coastguard Worker  "pw_clock_tree_mcuxpresso": {
239*61c4878aSAndroid Build Coastguard Worker    "tagline": "NXP MCUXpresso SDK implementation for pw_clock_tree",
240*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
241*61c4878aSAndroid Build Coastguard Worker    "languages": [
242*61c4878aSAndroid Build Coastguard Worker      "C++17"
243*61c4878aSAndroid Build Coastguard Worker    ]
244*61c4878aSAndroid Build Coastguard Worker  },
245*61c4878aSAndroid Build Coastguard Worker  "pw_console": {
246*61c4878aSAndroid Build Coastguard Worker    "tagline": "Multi-purpose pluggable interactive console for dev & manufacturing",
247*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
248*61c4878aSAndroid Build Coastguard Worker    "size": "N/A (host) but works best with pw_rpc on-device",
249*61c4878aSAndroid Build Coastguard Worker    "languages": [
250*61c4878aSAndroid Build Coastguard Worker      "Python"
251*61c4878aSAndroid Build Coastguard Worker    ]
252*61c4878aSAndroid Build Coastguard Worker  },
253*61c4878aSAndroid Build Coastguard Worker  "pw_digital_io_linux": {
254*61c4878aSAndroid Build Coastguard Worker    "tagline": "Digital I/O interface for Linux userspace",
255*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
256*61c4878aSAndroid Build Coastguard Worker    "languages": [
257*61c4878aSAndroid Build Coastguard Worker      "C++17"
258*61c4878aSAndroid Build Coastguard Worker    ]
259*61c4878aSAndroid Build Coastguard Worker  },
260*61c4878aSAndroid Build Coastguard Worker  "pw_display": {
261*61c4878aSAndroid Build Coastguard Worker    "tagline": "Graphic display support and framebuffer management",
262*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
263*61c4878aSAndroid Build Coastguard Worker    "languages": []
264*61c4878aSAndroid Build Coastguard Worker  },
265*61c4878aSAndroid Build Coastguard Worker  "pw_dma_mcuxpresso": {
266*61c4878aSAndroid Build Coastguard Worker    "tagline": "DMA helpers for MCUXpresso SDK",
267*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
268*61c4878aSAndroid Build Coastguard Worker    "languages": [
269*61c4878aSAndroid Build Coastguard Worker      "C++17"
270*61c4878aSAndroid Build Coastguard Worker    ]
271*61c4878aSAndroid Build Coastguard Worker  },
272*61c4878aSAndroid Build Coastguard Worker  "pw_docgen": {
273*61c4878aSAndroid Build Coastguard Worker    "tagline": "Documentation generator for Pigweed-based projects",
274*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
275*61c4878aSAndroid Build Coastguard Worker    "languages": [
276*61c4878aSAndroid Build Coastguard Worker      "GN"
277*61c4878aSAndroid Build Coastguard Worker    ]
278*61c4878aSAndroid Build Coastguard Worker  },
279*61c4878aSAndroid Build Coastguard Worker  "pw_elf": {
280*61c4878aSAndroid Build Coastguard Worker    "tagline": "ELF file support",
281*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
282*61c4878aSAndroid Build Coastguard Worker    "languages": [
283*61c4878aSAndroid Build Coastguard Worker      "C++17"
284*61c4878aSAndroid Build Coastguard Worker    ]
285*61c4878aSAndroid Build Coastguard Worker  },
286*61c4878aSAndroid Build Coastguard Worker  "pw_emu": {
287*61c4878aSAndroid Build Coastguard Worker    "tagline": "Flexible emulators frontend",
288*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
289*61c4878aSAndroid Build Coastguard Worker    "languages": [
290*61c4878aSAndroid Build Coastguard Worker      "Python",
291*61c4878aSAndroid Build Coastguard Worker      "CLI"
292*61c4878aSAndroid Build Coastguard Worker    ]
293*61c4878aSAndroid Build Coastguard Worker  },
294*61c4878aSAndroid Build Coastguard Worker  "pw_env_setup_zephyr": {
295*61c4878aSAndroid Build Coastguard Worker    "tagline": "Zephyr utilities",
296*61c4878aSAndroid Build Coastguard Worker    "status": "experimental"
297*61c4878aSAndroid Build Coastguard Worker  },
298*61c4878aSAndroid Build Coastguard Worker  "pw_format": {
299*61c4878aSAndroid Build Coastguard Worker    "tagline": "String formatting",
300*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
301*61c4878aSAndroid Build Coastguard Worker    "languages": [
302*61c4878aSAndroid Build Coastguard Worker      "Rust"
303*61c4878aSAndroid Build Coastguard Worker    ]
304*61c4878aSAndroid Build Coastguard Worker  },
305*61c4878aSAndroid Build Coastguard Worker  "pw_function": {
306*61c4878aSAndroid Build Coastguard Worker    "tagline": "Embedded-friendly std::function",
307*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
308*61c4878aSAndroid Build Coastguard Worker    "languages": [
309*61c4878aSAndroid Build Coastguard Worker      "C++17"
310*61c4878aSAndroid Build Coastguard Worker    ]
311*61c4878aSAndroid Build Coastguard Worker  },
312*61c4878aSAndroid Build Coastguard Worker  "pw_fuzzer": {
313*61c4878aSAndroid Build Coastguard Worker    "tagline": "Better C++ code through easier fuzzing",
314*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
315*61c4878aSAndroid Build Coastguard Worker    "languages": [
316*61c4878aSAndroid Build Coastguard Worker      "C++17",
317*61c4878aSAndroid Build Coastguard Worker      "C++20"
318*61c4878aSAndroid Build Coastguard Worker    ]
319*61c4878aSAndroid Build Coastguard Worker  },
320*61c4878aSAndroid Build Coastguard Worker  "pw_grpc": {
321*61c4878aSAndroid Build Coastguard Worker    "tagline": "pw_rpc over gRPC",
322*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
323*61c4878aSAndroid Build Coastguard Worker    "languages": [
324*61c4878aSAndroid Build Coastguard Worker      "C++17",
325*61c4878aSAndroid Build Coastguard Worker      "C++20"
326*61c4878aSAndroid Build Coastguard Worker    ]
327*61c4878aSAndroid Build Coastguard Worker  },
328*61c4878aSAndroid Build Coastguard Worker  "pw_hdlc": {
329*61c4878aSAndroid Build Coastguard Worker    "tagline": "Simple, robust, and efficient serial communication",
330*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
331*61c4878aSAndroid Build Coastguard Worker    "size": "1400 to 2600 bytes",
332*61c4878aSAndroid Build Coastguard Worker    "languages": [
333*61c4878aSAndroid Build Coastguard Worker      "Python",
334*61c4878aSAndroid Build Coastguard Worker      "C++17",
335*61c4878aSAndroid Build Coastguard Worker      "TypeScript"
336*61c4878aSAndroid Build Coastguard Worker    ]
337*61c4878aSAndroid Build Coastguard Worker  },
338*61c4878aSAndroid Build Coastguard Worker  "pw_hex_dump": {
339*61c4878aSAndroid Build Coastguard Worker    "tagline": "Handy hexdump utilities",
340*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
341*61c4878aSAndroid Build Coastguard Worker    "languages": [
342*61c4878aSAndroid Build Coastguard Worker      "C++17"
343*61c4878aSAndroid Build Coastguard Worker    ]
344*61c4878aSAndroid Build Coastguard Worker  },
345*61c4878aSAndroid Build Coastguard Worker  "pw_i2c": {
346*61c4878aSAndroid Build Coastguard Worker    "tagline": "Cross-platform I2C API with interactive debugging",
347*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
348*61c4878aSAndroid Build Coastguard Worker    "languages": [
349*61c4878aSAndroid Build Coastguard Worker      "C++17"
350*61c4878aSAndroid Build Coastguard Worker    ]
351*61c4878aSAndroid Build Coastguard Worker  },
352*61c4878aSAndroid Build Coastguard Worker  "pw_i2c_linux": {
353*61c4878aSAndroid Build Coastguard Worker    "tagline": "Linux userspace implementation for pw_i2c",
354*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
355*61c4878aSAndroid Build Coastguard Worker    "languages": [
356*61c4878aSAndroid Build Coastguard Worker      "C++17"
357*61c4878aSAndroid Build Coastguard Worker    ]
358*61c4878aSAndroid Build Coastguard Worker  },
359*61c4878aSAndroid Build Coastguard Worker  "pw_i2c_mcuxpresso": {
360*61c4878aSAndroid Build Coastguard Worker    "tagline": "NXP MCUXpresso SDK implementation for pw_i2c",
361*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
362*61c4878aSAndroid Build Coastguard Worker    "languages": [
363*61c4878aSAndroid Build Coastguard Worker      "C++17"
364*61c4878aSAndroid Build Coastguard Worker    ]
365*61c4878aSAndroid Build Coastguard Worker  },
366*61c4878aSAndroid Build Coastguard Worker  "pw_i2c_rp2040": {
367*61c4878aSAndroid Build Coastguard Worker    "tagline": "Raspberry Pi Pico SDK implementation for pw_i2c",
368*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
369*61c4878aSAndroid Build Coastguard Worker    "languages": [
370*61c4878aSAndroid Build Coastguard Worker      "C++17"
371*61c4878aSAndroid Build Coastguard Worker    ]
372*61c4878aSAndroid Build Coastguard Worker  },
373*61c4878aSAndroid Build Coastguard Worker  "pw_ide": {
374*61c4878aSAndroid Build Coastguard Worker    "tagline": "Code editor and IDE support for Pigweed projects",
375*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
376*61c4878aSAndroid Build Coastguard Worker    "languages": [
377*61c4878aSAndroid Build Coastguard Worker      "C++",
378*61c4878aSAndroid Build Coastguard Worker      "CLI",
379*61c4878aSAndroid Build Coastguard Worker      "Python",
380*61c4878aSAndroid Build Coastguard Worker      "VS Code"
381*61c4878aSAndroid Build Coastguard Worker    ]
382*61c4878aSAndroid Build Coastguard Worker  },
383*61c4878aSAndroid Build Coastguard Worker  "pw_json": {
384*61c4878aSAndroid Build Coastguard Worker    "tagline": "Simple, efficient C++ JSON serialization",
385*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
386*61c4878aSAndroid Build Coastguard Worker    "languages": [
387*61c4878aSAndroid Build Coastguard Worker      "C++17"
388*61c4878aSAndroid Build Coastguard Worker    ]
389*61c4878aSAndroid Build Coastguard Worker  },
390*61c4878aSAndroid Build Coastguard Worker  "pw_kvs": {
391*61c4878aSAndroid Build Coastguard Worker    "tagline": "Lightweight, persistent key-value store",
392*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
393*61c4878aSAndroid Build Coastguard Worker    "size": "~12 kB",
394*61c4878aSAndroid Build Coastguard Worker    "languages": [
395*61c4878aSAndroid Build Coastguard Worker      "C++17"
396*61c4878aSAndroid Build Coastguard Worker    ]
397*61c4878aSAndroid Build Coastguard Worker  },
398*61c4878aSAndroid Build Coastguard Worker  "pw_log": {
399*61c4878aSAndroid Build Coastguard Worker    "tagline": "Robust and portable logging for embedded projects",
400*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
401*61c4878aSAndroid Build Coastguard Worker    "languages": [
402*61c4878aSAndroid Build Coastguard Worker      "C++",
403*61c4878aSAndroid Build Coastguard Worker      "Java",
404*61c4878aSAndroid Build Coastguard Worker      "Python",
405*61c4878aSAndroid Build Coastguard Worker      "Rust"
406*61c4878aSAndroid Build Coastguard Worker    ]
407*61c4878aSAndroid Build Coastguard Worker  },
408*61c4878aSAndroid Build Coastguard Worker  "pw_log_android": {
409*61c4878aSAndroid Build Coastguard Worker    "tagline": "Android logging backend",
410*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
411*61c4878aSAndroid Build Coastguard Worker    "languages": [
412*61c4878aSAndroid Build Coastguard Worker      "C++"
413*61c4878aSAndroid Build Coastguard Worker    ]
414*61c4878aSAndroid Build Coastguard Worker  },
415*61c4878aSAndroid Build Coastguard Worker  "pw_log_fuchsia": {
416*61c4878aSAndroid Build Coastguard Worker    "tagline": "Fuchsia logging backend",
417*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
418*61c4878aSAndroid Build Coastguard Worker    "languages": [
419*61c4878aSAndroid Build Coastguard Worker      "C",
420*61c4878aSAndroid Build Coastguard Worker      "C++"
421*61c4878aSAndroid Build Coastguard Worker    ]
422*61c4878aSAndroid Build Coastguard Worker  },
423*61c4878aSAndroid Build Coastguard Worker  "pw_malloc": {
424*61c4878aSAndroid Build Coastguard Worker    "tagline": "Replacement interface for standard libc dynamic memory operations",
425*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
426*61c4878aSAndroid Build Coastguard Worker    "languages": [
427*61c4878aSAndroid Build Coastguard Worker      "C",
428*61c4878aSAndroid Build Coastguard Worker      "C++"
429*61c4878aSAndroid Build Coastguard Worker    ]
430*61c4878aSAndroid Build Coastguard Worker  },
431*61c4878aSAndroid Build Coastguard Worker  "pw_multibuf": {
432*61c4878aSAndroid Build Coastguard Worker    "tagline": "A buffer API optimized for zero-copy messaging",
433*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
434*61c4878aSAndroid Build Coastguard Worker    "languages": [
435*61c4878aSAndroid Build Coastguard Worker      "C++17"
436*61c4878aSAndroid Build Coastguard Worker    ]
437*61c4878aSAndroid Build Coastguard Worker  },
438*61c4878aSAndroid Build Coastguard Worker  "pw_numeric": {
439*61c4878aSAndroid Build Coastguard Worker    "tagline": "Efficient mathematical utilities for embedded",
440*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
441*61c4878aSAndroid Build Coastguard Worker    "languages": [
442*61c4878aSAndroid Build Coastguard Worker      "C++"
443*61c4878aSAndroid Build Coastguard Worker    ]
444*61c4878aSAndroid Build Coastguard Worker  },
445*61c4878aSAndroid Build Coastguard Worker  "pw_perf_test": {
446*61c4878aSAndroid Build Coastguard Worker    "tagline": "Micro-benchmarks that are easy to write and run",
447*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
448*61c4878aSAndroid Build Coastguard Worker    "languages": [
449*61c4878aSAndroid Build Coastguard Worker      "C++17"
450*61c4878aSAndroid Build Coastguard Worker    ]
451*61c4878aSAndroid Build Coastguard Worker  },
452*61c4878aSAndroid Build Coastguard Worker  "pw_preprocessor": {
453*61c4878aSAndroid Build Coastguard Worker    "tagline": "Helpful preprocessor macros",
454*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
455*61c4878aSAndroid Build Coastguard Worker    "languages": [
456*61c4878aSAndroid Build Coastguard Worker      "C",
457*61c4878aSAndroid Build Coastguard Worker      "C++"
458*61c4878aSAndroid Build Coastguard Worker    ]
459*61c4878aSAndroid Build Coastguard Worker  },
460*61c4878aSAndroid Build Coastguard Worker  "pw_presubmit": {
461*61c4878aSAndroid Build Coastguard Worker    "tagline": "Python tools for running presubmit checks and linters",
462*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
463*61c4878aSAndroid Build Coastguard Worker    "languages": [
464*61c4878aSAndroid Build Coastguard Worker      "Python"
465*61c4878aSAndroid Build Coastguard Worker    ]
466*61c4878aSAndroid Build Coastguard Worker  },
467*61c4878aSAndroid Build Coastguard Worker  "pw_protobuf": {
468*61c4878aSAndroid Build Coastguard Worker    "tagline": "Expressive interface for encoding and decoding protocol buffers",
469*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
470*61c4878aSAndroid Build Coastguard Worker    "languages": [
471*61c4878aSAndroid Build Coastguard Worker      "C++"
472*61c4878aSAndroid Build Coastguard Worker    ]
473*61c4878aSAndroid Build Coastguard Worker  },
474*61c4878aSAndroid Build Coastguard Worker  "pw_random_fuchsia": {
475*61c4878aSAndroid Build Coastguard Worker    "tagline": "Fuchsia implementation of pw_random",
476*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
477*61c4878aSAndroid Build Coastguard Worker    "languages": []
478*61c4878aSAndroid Build Coastguard Worker  },
479*61c4878aSAndroid Build Coastguard Worker  "pw_result": {
480*61c4878aSAndroid Build Coastguard Worker    "tagline": "Error propagation primitives: value-or-error",
481*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
482*61c4878aSAndroid Build Coastguard Worker    "languages": [
483*61c4878aSAndroid Build Coastguard Worker      "C++17"
484*61c4878aSAndroid Build Coastguard Worker    ]
485*61c4878aSAndroid Build Coastguard Worker  },
486*61c4878aSAndroid Build Coastguard Worker  "pw_router": {
487*61c4878aSAndroid Build Coastguard Worker    "tagline": "Transport-agnostic packet routing",
488*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
489*61c4878aSAndroid Build Coastguard Worker    "languages": [
490*61c4878aSAndroid Build Coastguard Worker      "C++"
491*61c4878aSAndroid Build Coastguard Worker    ]
492*61c4878aSAndroid Build Coastguard Worker  },
493*61c4878aSAndroid Build Coastguard Worker  "pw_rpc": {
494*61c4878aSAndroid Build Coastguard Worker    "tagline": "Efficient, low-code-size RPC system for embedded devices",
495*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
496*61c4878aSAndroid Build Coastguard Worker    "languages": [
497*61c4878aSAndroid Build Coastguard Worker      "C++",
498*61c4878aSAndroid Build Coastguard Worker      "Java",
499*61c4878aSAndroid Build Coastguard Worker      "JavaScript",
500*61c4878aSAndroid Build Coastguard Worker      "Python",
501*61c4878aSAndroid Build Coastguard Worker      "TypeScript"
502*61c4878aSAndroid Build Coastguard Worker    ]
503*61c4878aSAndroid Build Coastguard Worker  },
504*61c4878aSAndroid Build Coastguard Worker  "pw_sensor": {
505*61c4878aSAndroid Build Coastguard Worker    "tagline": "A modular way to see the world",
506*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
507*61c4878aSAndroid Build Coastguard Worker    "languages": [
508*61c4878aSAndroid Build Coastguard Worker      "Python",
509*61c4878aSAndroid Build Coastguard Worker      "C++17"
510*61c4878aSAndroid Build Coastguard Worker    ]
511*61c4878aSAndroid Build Coastguard Worker  },
512*61c4878aSAndroid Build Coastguard Worker  "pw_software_update": {
513*61c4878aSAndroid Build Coastguard Worker    "tagline": "Secure software delivery",
514*61c4878aSAndroid Build Coastguard Worker    "status": "experimental",
515*61c4878aSAndroid Build Coastguard Worker    "languages": [
516*61c4878aSAndroid Build Coastguard Worker      "Python",
517*61c4878aSAndroid Build Coastguard Worker      "C++17"
518*61c4878aSAndroid Build Coastguard Worker    ]
519*61c4878aSAndroid Build Coastguard Worker  },
520*61c4878aSAndroid Build Coastguard Worker  "pw_span": {
521*61c4878aSAndroid Build Coastguard Worker    "tagline": "std::span for C++17",
522*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
523*61c4878aSAndroid Build Coastguard Worker    "languages": [
524*61c4878aSAndroid Build Coastguard Worker      "C++17",
525*61c4878aSAndroid Build Coastguard Worker      "C++20"
526*61c4878aSAndroid Build Coastguard Worker    ]
527*61c4878aSAndroid Build Coastguard Worker  },
528*61c4878aSAndroid Build Coastguard Worker  "pw_spi_linux": {
529*61c4878aSAndroid Build Coastguard Worker    "tagline": "SPI interface for Linux userspace",
530*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
531*61c4878aSAndroid Build Coastguard Worker    "languages": [
532*61c4878aSAndroid Build Coastguard Worker      "C++17",
533*61c4878aSAndroid Build Coastguard Worker      "C++20"
534*61c4878aSAndroid Build Coastguard Worker    ]
535*61c4878aSAndroid Build Coastguard Worker  },
536*61c4878aSAndroid Build Coastguard Worker  "pw_spi_rp2040": {
537*61c4878aSAndroid Build Coastguard Worker    "tagline": "Raspberry Pi RP2040 backend for pw_spi",
538*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
539*61c4878aSAndroid Build Coastguard Worker    "languages": [
540*61c4878aSAndroid Build Coastguard Worker      "C++"
541*61c4878aSAndroid Build Coastguard Worker    ]
542*61c4878aSAndroid Build Coastguard Worker  },
543*61c4878aSAndroid Build Coastguard Worker  "pw_status": {
544*61c4878aSAndroid Build Coastguard Worker    "tagline": "Exception-free error propagation for embedded",
545*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
546*61c4878aSAndroid Build Coastguard Worker    "languages": [
547*61c4878aSAndroid Build Coastguard Worker      "C++17",
548*61c4878aSAndroid Build Coastguard Worker      "C",
549*61c4878aSAndroid Build Coastguard Worker      "Python",
550*61c4878aSAndroid Build Coastguard Worker      "Java",
551*61c4878aSAndroid Build Coastguard Worker      "TypeScript",
552*61c4878aSAndroid Build Coastguard Worker      "Rust"
553*61c4878aSAndroid Build Coastguard Worker    ]
554*61c4878aSAndroid Build Coastguard Worker  },
555*61c4878aSAndroid Build Coastguard Worker  "pw_stream": {
556*61c4878aSAndroid Build Coastguard Worker    "tagline": "A foundational interface for streaming data",
557*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
558*61c4878aSAndroid Build Coastguard Worker    "languages": [
559*61c4878aSAndroid Build Coastguard Worker      "C++",
560*61c4878aSAndroid Build Coastguard Worker      "Rust"
561*61c4878aSAndroid Build Coastguard Worker    ]
562*61c4878aSAndroid Build Coastguard Worker  },
563*61c4878aSAndroid Build Coastguard Worker  "pw_string": {
564*61c4878aSAndroid Build Coastguard Worker    "tagline": "Efficient, easy, and safe string manipulation",
565*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
566*61c4878aSAndroid Build Coastguard Worker    "size": "500 to 1500 bytes",
567*61c4878aSAndroid Build Coastguard Worker    "languages": [
568*61c4878aSAndroid Build Coastguard Worker      "C++17"
569*61c4878aSAndroid Build Coastguard Worker    ]
570*61c4878aSAndroid Build Coastguard Worker  },
571*61c4878aSAndroid Build Coastguard Worker  "pw_target_runner": {
572*61c4878aSAndroid Build Coastguard Worker    "tagline": "gRPC server for running executables in parallel",
573*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
574*61c4878aSAndroid Build Coastguard Worker    "languages": [
575*61c4878aSAndroid Build Coastguard Worker      "Go"
576*61c4878aSAndroid Build Coastguard Worker    ]
577*61c4878aSAndroid Build Coastguard Worker  },
578*61c4878aSAndroid Build Coastguard Worker  "pw_tokenizer": {
579*61c4878aSAndroid Build Coastguard Worker    "tagline": "Compress strings to shrink logs by +75%",
580*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
581*61c4878aSAndroid Build Coastguard Worker    "size": "50% reduction in log size",
582*61c4878aSAndroid Build Coastguard Worker    "languages": [
583*61c4878aSAndroid Build Coastguard Worker      "C++",
584*61c4878aSAndroid Build Coastguard Worker      "C11",
585*61c4878aSAndroid Build Coastguard Worker      "Python",
586*61c4878aSAndroid Build Coastguard Worker      "Rust",
587*61c4878aSAndroid Build Coastguard Worker      "TypeScript",
588*61c4878aSAndroid Build Coastguard Worker      "Java"
589*61c4878aSAndroid Build Coastguard Worker    ]
590*61c4878aSAndroid Build Coastguard Worker  },
591*61c4878aSAndroid Build Coastguard Worker  "pw_toolchain": {
592*61c4878aSAndroid Build Coastguard Worker    "tagline": "Embedded toolchains for GN-based Pigweed projects",
593*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
594*61c4878aSAndroid Build Coastguard Worker    "languages": [
595*61c4878aSAndroid Build Coastguard Worker      "GN"
596*61c4878aSAndroid Build Coastguard Worker    ]
597*61c4878aSAndroid Build Coastguard Worker  },
598*61c4878aSAndroid Build Coastguard Worker  "pw_toolchain_bazel": {
599*61c4878aSAndroid Build Coastguard Worker    "tagline": "A modular toolkit for declaring C/C++ toolchains in Bazel",
600*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
601*61c4878aSAndroid Build Coastguard Worker    "languages": [
602*61c4878aSAndroid Build Coastguard Worker      "Starlark"
603*61c4878aSAndroid Build Coastguard Worker    ]
604*61c4878aSAndroid Build Coastguard Worker  },
605*61c4878aSAndroid Build Coastguard Worker  "pw_uart": {
606*61c4878aSAndroid Build Coastguard Worker    "tagline": "Core interfaces for UART communication",
607*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
608*61c4878aSAndroid Build Coastguard Worker    "languages": [
609*61c4878aSAndroid Build Coastguard Worker      "C++"
610*61c4878aSAndroid Build Coastguard Worker    ]
611*61c4878aSAndroid Build Coastguard Worker  },
612*61c4878aSAndroid Build Coastguard Worker  "pw_uart_mcuxpresso": {
613*61c4878aSAndroid Build Coastguard Worker    "tagline": "NXP MCUXpresso SDK implementation for pw_uart",
614*61c4878aSAndroid Build Coastguard Worker    "status": "unstable",
615*61c4878aSAndroid Build Coastguard Worker    "languages": [
616*61c4878aSAndroid Build Coastguard Worker      "C++"
617*61c4878aSAndroid Build Coastguard Worker    ]
618*61c4878aSAndroid Build Coastguard Worker  },
619*61c4878aSAndroid Build Coastguard Worker  "pw_unit_test": {
620*61c4878aSAndroid Build Coastguard Worker    "tagline": "GoogleTest for embedded",
621*61c4878aSAndroid Build Coastguard Worker    "status": "stable"
622*61c4878aSAndroid Build Coastguard Worker  },
623*61c4878aSAndroid Build Coastguard Worker  "pw_varint": {
624*61c4878aSAndroid Build Coastguard Worker    "tagline": "Functions for encoding and decoding variable length integers",
625*61c4878aSAndroid Build Coastguard Worker    "status": "stable",
626*61c4878aSAndroid Build Coastguard Worker    "languages": [
627*61c4878aSAndroid Build Coastguard Worker      "C",
628*61c4878aSAndroid Build Coastguard Worker      "C++",
629*61c4878aSAndroid Build Coastguard Worker      "Rust"
630*61c4878aSAndroid Build Coastguard Worker    ]
631*61c4878aSAndroid Build Coastguard Worker  },
632*61c4878aSAndroid Build Coastguard Worker  "pw_watch": {
633*61c4878aSAndroid Build Coastguard Worker    "tagline": "Embedded development file system watcher",
634*61c4878aSAndroid Build Coastguard Worker    "status": "stable"
635*61c4878aSAndroid Build Coastguard Worker  }
636*61c4878aSAndroid Build Coastguard Worker}
637