• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_async": {
40    "tagline": "Portable APIs for asynchronous code",
41    "status": "deprecated",
42    "languages": [
43      "C++"
44    ]
45  },
46  "pw_async2": {
47    "tagline": "Cooperative async tasks for embedded",
48    "status": "experimental",
49    "languages": [
50      "C++17"
51    ]
52  },
53  "pw_base64": {
54    "tagline": "Base64 encoding, decoding, and validating",
55    "status": "stable",
56    "languages": [
57      "C",
58      "C++"
59    ]
60  },
61  "pw_bloat": {
62    "tagline": "Utilities for generating binary size reports",
63    "status": "stable",
64    "languages": [
65      "C++",
66      "GN"
67    ]
68  },
69  "pw_blob_store": {
70    "tagline": "Flash-backed persistent storage for data blobs",
71    "status": "stable",
72    "languages": [
73      "C++"
74    ]
75  },
76  "pw_bluetooth": {
77    "tagline": "Host-layer Bluetooth Low Energy APIs and utilities",
78    "status": "unstable",
79    "languages": [
80      "C++"
81    ]
82  },
83  "pw_bluetooth_hci": {
84    "tagline": "Bluetooth Host Controller Interface utilities",
85    "status": "stable",
86    "languages": [
87      "C++"
88    ]
89  },
90  "pw_bluetooth_profiles": {
91    "tagline": "Bluetooth profiles built on top of pw_bluetooth",
92    "status": "unstable",
93    "languages": [
94      "C++"
95    ]
96  },
97  "pw_bluetooth_proxy": {
98    "tagline": "Lightweight proxy for augmenting Bluetooth functionality",
99    "status": "unstable",
100    "languages": [
101      "C++17"
102    ]
103  },
104  "pw_bluetooth_sapphire": {
105    "tagline": "Battle-tested Bluetooth with rock-solid reliability",
106    "status": "unstable",
107    "size": "1.5 to 2 mB",
108    "languages": [
109      "C++17"
110    ]
111  },
112  "pw_boot": {
113    "tagline": "Simplified booting for C++ targets",
114    "status": "stable",
115    "languages": [
116      "C++17"
117    ]
118  },
119  "pw_build": {
120    "tagline": "Integrations for Bazel, GN, and CMake",
121    "status": "stable",
122    "languages": [
123      "Bazel",
124      "CMake",
125      "GN"
126    ]
127  },
128  "pw_build_android": {
129    "tagline": "Utilities for using Pigweed in Android platform",
130    "status": "unstable",
131    "languages": [
132      "C++20"
133    ]
134  },
135  "pw_build_info": {
136    "tagline": "Generate, embed, and parse build-related information",
137    "status": "stable",
138    "languages": [
139      "Bazel",
140      "CMake",
141      "GN"
142    ]
143  },
144  "pw_build_mcuxpresso": {
145    "tagline": "Utilities for building NXP MCUXpresso SDK targets",
146    "status": "stable",
147    "languages": [
148      "Bazel",
149      "GN"
150    ]
151  },
152  "pw_bytes": {
153    "tagline": "Utilities for manipulating binary data",
154    "status": "stable",
155    "languages": [
156      "C++"
157    ]
158  },
159  "pw_channel": {
160    "tagline": "Async, zero-copy API for sending and receiving bytes or datagrams",
161    "status": "experimental",
162    "languages": [
163      "C++"
164    ]
165  },
166  "pw_checksum": {
167    "tagline": "Checksum calculation API",
168    "status": "stable",
169    "languages": [
170      "C",
171      "C++"
172    ]
173  },
174  "pw_chre": {
175    "tagline": "Android Context Hub Runtime Environment backend",
176    "status": "experimental",
177    "languages": [
178      "C++"
179    ]
180  },
181  "pw_cli": {
182    "tagline": "Enhance and accelerate custom command-line tooling",
183    "status": "stable",
184    "languages": [
185      "Python"
186    ]
187  },
188  "pw_clock_tree": {
189    "tagline": "Clock tree management for embedded devices",
190    "status": "unstable",
191    "languages": [
192      "C++17"
193    ]
194  },
195  "pw_clock_tree_mcuxpresso": {
196    "tagline": "NXP MCUXpresso SDK implementation for pw_clock_tree",
197    "status": "unstable",
198    "languages": [
199      "C++17"
200    ]
201  },
202  "pw_console": {
203    "tagline": "Multi-purpose pluggable interactive console for dev & manufacturing",
204    "status": "stable",
205    "size": "N/A (host) but works best with pw_rpc on-device",
206    "languages": [
207      "Python"
208    ]
209  },
210  "pw_digital_io_linux": {
211    "tagline": "Digital I/O interface for Linux userspace",
212    "status": "unstable",
213    "languages": [
214      "C++17"
215    ]
216  },
217  "pw_dma_mcuxpresso": {
218    "tagline": "DMA helpers for MCUXpresso SDK",
219    "status": "unstable",
220    "languages": [
221      "C++17"
222    ]
223  },
224  "pw_docgen": {
225    "tagline": "Documentation generator for Pigweed-based projects",
226    "status": "stable",
227    "languages": [
228      "GN"
229    ]
230  },
231  "pw_emu": {
232    "tagline": "Flexible emulators frontend",
233    "status": "experimental",
234    "languages": [
235      "Python",
236      "CLI"
237    ]
238  },
239  "pw_env_setup_zephyr": {
240    "tagline": "Zephyr utilities",
241    "status": "experimental"
242  },
243  "pw_format": {
244    "tagline": "String formatting",
245    "status": "experimental",
246    "languages": [
247      "Rust"
248    ]
249  },
250  "pw_function": {
251    "tagline": "Embedded-friendly std::function",
252    "status": "stable",
253    "languages": [
254      "C++17"
255    ]
256  },
257  "pw_fuzzer": {
258    "tagline": "Better C++ code through easier fuzzing",
259    "status": "unstable",
260    "languages": [
261      "C++17",
262      "C++20"
263    ]
264  },
265  "pw_grpc": {
266    "tagline": "pw_rpc over gRPC",
267    "status": "unstable",
268    "languages": [
269      "C++17",
270      "C++20"
271    ]
272  },
273  "pw_hdlc": {
274    "tagline": "Simple, robust, and efficient serial communication",
275    "status": "stable",
276    "size": "1400 to 2600 bytes",
277    "languages": [
278      "Python",
279      "C++17",
280      "TypeScript"
281    ]
282  },
283  "pw_i2c": {
284    "tagline": "Cross-platform I2C API with interactive debugging",
285    "status": "stable",
286    "languages": [
287      "C++17"
288    ]
289  },
290  "pw_i2c_linux": {
291    "tagline": "Linux userspace implementation for pw_i2c",
292    "status": "stable",
293    "languages": [
294      "C++17"
295    ]
296  },
297  "pw_i2c_mcuxpresso": {
298    "tagline": "NXP MCUXpresso SDK implementation for pw_i2c",
299    "status": "stable",
300    "languages": [
301      "C++17"
302    ]
303  },
304  "pw_i2c_rp2040": {
305    "tagline": "Raspberry Pi Pico SDK implementation for pw_i2c",
306    "status": "stable",
307    "languages": [
308      "C++17"
309    ]
310  },
311  "pw_json": {
312    "tagline": "Simple, efficient C++ JSON serialization",
313    "status": "stable",
314    "languages": [
315      "C++17"
316    ]
317  },
318  "pw_kvs": {
319    "tagline": "Lightweight, persistent key-value store",
320    "status": "stable",
321    "size": "~12 kB",
322    "languages": [
323      "C++17"
324    ]
325  },
326  "pw_log": {
327    "tagline": "Robust and portable logging for embedded projects",
328    "status": "stable",
329    "languages": [
330      "C++",
331      "Java",
332      "Python"
333    ]
334  },
335  "pw_log_android": {
336    "tagline": "Android logging backend",
337    "status": "unstable",
338    "languages": [
339      "C++"
340    ]
341  },
342  "pw_multibuf": {
343    "tagline": "A buffer API optimized for zero-copy messaging",
344    "status": "unstable",
345    "languages": [
346      "C++17"
347    ]
348  },
349  "pw_perf_test": {
350    "tagline": "Micro-benchmarks that are easy to write and run",
351    "status": "unstable",
352    "languages": [
353      "C++17"
354    ]
355  },
356  "pw_presubmit": {
357    "tagline": "Python tools for running presubmit checks and linters",
358    "status": "stable",
359    "languages": [
360      "Python"
361    ]
362  },
363  "pw_protobuf": {
364    "tagline": "Expressive interface for encoding and decoding protocol buffers",
365    "status": "stable",
366    "languages": [
367      "C++"
368    ]
369  },
370  "pw_router": {
371    "tagline": "Transport-agnostic packet routing",
372    "status": "experimental",
373    "languages": [
374      "C++"
375    ]
376  },
377  "pw_result": {
378    "tagline": "Error propagation primitives: value-or-error",
379    "status": "stable",
380    "languages": [
381      "C++17"
382    ]
383  },
384  "pw_rpc": {
385    "tagline": "Efficient, low-code-size, higher-level RPC system for embedded devices",
386    "status": "stable",
387    "languages": [
388      "C++",
389      "Java",
390      "JavaScript",
391      "Python",
392      "TypeScript"
393    ]
394  },
395  "pw_software_update": {
396    "tagline": "Secure software delivery",
397    "status": "experimental",
398    "languages": [
399      "Python",
400      "C++17"
401    ]
402  },
403  "pw_span": {
404    "tagline": "std::span for C++17",
405    "status": "stable",
406    "languages": [
407      "C++17",
408      "C++20"
409    ]
410  },
411  "pw_spi_linux": {
412    "tagline": "SPI interface for Linux userspace",
413    "status": "unstable",
414    "languages": [
415      "C++17",
416      "C++20"
417    ]
418  },
419  "pw_spi_rp2040": {
420    "tagline": "Raspberry Pi RP2040 backend for pw_spi",
421    "status": "unstable",
422    "languages": [
423      "C++"
424    ]
425  },
426  "pw_status": {
427    "tagline": "Exception-free error propagation for embedded",
428    "status": "stable",
429    "languages": [
430      "C++17",
431      "C",
432      "Python",
433      "Java",
434      "TypeScript",
435      "Rust"
436    ]
437  },
438  "pw_string": {
439    "tagline": "Efficient, easy, and safe string manipulation",
440    "status": "stable",
441    "size": "500 to 1500 bytes",
442    "languages": [
443      "C++17"
444    ]
445  },
446  "pw_target_runner": {
447    "tagline": "gRPC server for running executables in parallel",
448    "status": "stable",
449    "languages": [
450      "Go"
451    ]
452  },
453  "pw_tokenizer": {
454    "tagline": "Compress strings to shrink logs by +75%",
455    "status": "stable",
456    "size": "50% reduction in log size",
457    "languages": [
458      "C++",
459      "C11",
460      "Python",
461      "Rust",
462      "TypeScript",
463      "Java"
464    ]
465  },
466  "pw_toolchain_bazel": {
467    "tagline": "A modular toolkit for declaring C/C++ toolchains in Bazel",
468    "status": "unstable",
469    "languages": [
470      "Starlark"
471    ]
472  },
473  "pw_uart": {
474    "tagline": "Core interfaces for UART communication",
475    "status": "unstable",
476    "languages": [
477      "C++"
478    ]
479  },
480  "pw_unit_test": {
481    "tagline": "GoogleTest for embedded",
482    "status": "stable"
483  },
484  "pw_varint": {
485    "tagline": "Functions for encoding and decoding variable length integers",
486    "status": "stable",
487    "languages": [
488      "C",
489      "C++",
490      "Rust"
491    ]
492  },
493  "pw_watch": {
494    "tagline": "Embedded development file system watcher",
495    "status": "stable"
496  }
497}
498