1.. _module-pw_console: 2 3---------- 4pw_console 5---------- 6 7:bdg-primary:`host` 8:bdg-secondary:`Python` 9:bdg-success:`stable` 10 11The Pigweed Console provides a Python repl (read eval print loop) using 12`ptpython`_ and a log message viewer in a single-window terminal based 13interface. It is designed to be a replacement for `IPython's embed()`_ function. 14 15.. figure:: images/pw_system_boot.png 16 :alt: Pigweed Console screenshot with serial debug log messages. 17 18Features 19======== 20 21``pw_console`` aims to be a complete solution for interacting with hardware 22devices using :ref:`module-pw_rpc` over a :ref:`module-pw_hdlc` transport. 23 24- Interactive Python repl and log viewer in a single terminal window. This 25 provides interactive RPC sending while the log viewer provides immediate 26 feedback on device status. 27 28 .. figure:: images/python_completion.png 29 :alt: Pigweed Console screenshot showing RPC Python repl completions. 30 31- Easily embeddable within a project's own custom console. This should allow 32 users to define their own transport layer. 33 34- Log viewer with searching and filtering. 35 36Contributing 37============ 38 39- All code submissions to ``pw_console`` require running the 40 :ref:`module-pw_console-testing`. 41 42- Commit messages should include a ``Testing:`` line with the steps that were 43 manually run. 44 45Guides 46====== 47 48.. toctree:: 49 :maxdepth: 1 50 51 py/pw_console/docs/user_guide 52 embedding 53 plugins 54 testing 55 internals 56 57 58.. _IPython's embed(): https://ipython.readthedocs.io/en/stable/interactive/reference.html#embedding 59.. _IPython: https://ipython.readthedocs.io/ 60.. _prompt_toolkit: https://python-prompt-toolkit.readthedocs.io/ 61.. _ptpython: https://github.com/prompt-toolkit/ptpython/ 62 63