| 1 | """Python Daemon Management |
| 2 | |
| 3 | This package aids in inspecting and managing daemon processes. A |
| 4 | program intended for running as a daemon may create PDM listeners, to |
| 5 | which PDM clients may connect in order to interact with the |
| 6 | process. |
| 7 | |
| 8 | This package contains the following modules: |
| 9 | |
| 10 | * srv -- Server module |
| 11 | * cli -- Client module |
| 12 | * perf -- Library for implementing object for the PERF protocol |
| 13 | |
| 14 | The protocol allows multiple management subprotocols for different |
| 15 | modes of operation. Currently, the following two management protocols |
| 16 | are supported. |
| 17 | |
| 18 | * The REPL protocol implements a simple read-eval-print loop which |
| 19 | accepts arbitrary Python code, executes it in the daemon process, |
| 20 | and returns its replies, all in text form. The protocol is simple, |
| 21 | generic, and has few failure modes, but is hardly suitable for |
| 22 | programmatic interaction. See the documentation for pdm.srv.repl |
| 23 | and pdm.cli.replclient for further details. |
| 24 | |
| 25 | * The PERF protocol is intended for programmatic interaction with the |
| 26 | daemon process. Various Python modules may expose objects that |
| 27 | implement one or several of a few pre-defined interfaces that allow |
| 28 | for various forms of inspection and management of the program |
| 29 | state. See the documentation for pdm.srv.perf and |
| 30 | pdm.cli.perfclient for further details. |
| 31 | """ |