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