• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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