running-process 3.4.0__tar.gz → 4.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. {running_process-3.4.0 → running_process-4.0.0}/Cargo.lock +13 -99
  2. {running_process-3.4.0 → running_process-4.0.0}/Cargo.toml +2 -2
  3. {running_process-3.4.0 → running_process-4.0.0}/PKG-INFO +2 -2
  4. {running_process-3.4.0 → running_process-4.0.0}/README.md +1 -1
  5. running_process-4.0.0/crates/running-process/Cargo.toml +102 -0
  6. running_process-4.0.0/crates/running-process/src/bin/daemon.rs +596 -0
  7. running_process-4.0.0/crates/running-process/src/bin/runpm.rs +347 -0
  8. running_process-4.0.0/crates/running-process/src/bin/trampoline.rs +144 -0
  9. {running_process-3.4.0/crates/running-process-client/src → running_process-4.0.0/crates/running-process/src/client}/client.rs +2 -2
  10. running_process-3.4.0/crates/running-process-client/src/lib.rs → running_process-4.0.0/crates/running-process/src/client/mod.rs +7 -0
  11. {running_process-3.4.0/crates/running-process-client/src → running_process-4.0.0/crates/running-process/src/client}/pipe_session.rs +2 -2
  12. {running_process-3.4.0/crates/running-process-client/src → running_process-4.0.0/crates/running-process/src/client}/pty_session.rs +2 -2
  13. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/containment.rs +1 -1
  14. running_process-4.0.0/crates/running-process/src/daemon/attach_stream.rs +291 -0
  15. running_process-4.0.0/crates/running-process/src/daemon/config.rs +261 -0
  16. running_process-4.0.0/crates/running-process/src/daemon/handlers/core.rs +62 -0
  17. running_process-4.0.0/crates/running-process/src/daemon/handlers/kill.rs +146 -0
  18. running_process-4.0.0/crates/running-process/src/daemon/handlers/maintenance.rs +186 -0
  19. running_process-4.0.0/crates/running-process/src/daemon/handlers/mod.rs +98 -0
  20. running_process-4.0.0/crates/running-process/src/daemon/handlers/pipe_sessions_handlers.rs +271 -0
  21. running_process-4.0.0/crates/running-process/src/daemon/handlers/process_tree.rs +80 -0
  22. running_process-4.0.0/crates/running-process/src/daemon/handlers/pty_sessions_handlers.rs +286 -0
  23. running_process-4.0.0/crates/running-process/src/daemon/handlers/registry_handlers.rs +159 -0
  24. running_process-4.0.0/crates/running-process/src/daemon/handlers/services.rs +125 -0
  25. running_process-4.0.0/crates/running-process/src/daemon/handlers/spawn.rs +227 -0
  26. running_process-4.0.0/crates/running-process/src/daemon/handlers/util.rs +57 -0
  27. running_process-4.0.0/crates/running-process/src/daemon/handlers_tests.rs +365 -0
  28. running_process-4.0.0/crates/running-process/src/daemon/idle.rs +170 -0
  29. running_process-4.0.0/crates/running-process/src/daemon/mod.rs +18 -0
  30. running_process-4.0.0/crates/running-process/src/daemon/pipe_attach_stream.rs +232 -0
  31. running_process-4.0.0/crates/running-process/src/daemon/pipe_sessions.rs +513 -0
  32. running_process-4.0.0/crates/running-process/src/daemon/platform/mod.rs +81 -0
  33. running_process-4.0.0/crates/running-process/src/daemon/platform/unix.rs +71 -0
  34. running_process-4.0.0/crates/running-process/src/daemon/platform/windows.rs +36 -0
  35. running_process-4.0.0/crates/running-process/src/daemon/pty_sessions.rs +678 -0
  36. running_process-4.0.0/crates/running-process/src/daemon/reaper.rs +465 -0
  37. running_process-4.0.0/crates/running-process/src/daemon/registry.rs +533 -0
  38. running_process-4.0.0/crates/running-process/src/daemon/runtime_gc.rs +319 -0
  39. running_process-4.0.0/crates/running-process/src/daemon/server.rs +723 -0
  40. running_process-4.0.0/crates/running-process/src/daemon/shadow.rs +221 -0
  41. running_process-4.0.0/crates/running-process/src/helpers.rs +74 -0
  42. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/lib.rs +186 -262
  43. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/originator.rs +2 -2
  44. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/pty/mod.rs +3 -3
  45. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/pty/native_pty_process.rs +17 -17
  46. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/pty/pty_windows.rs +7 -7
  47. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/public_symbols.rs +11 -0
  48. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/tests.rs +1 -0
  49. running_process-4.0.0/crates/running-process/src/types.rs +79 -0
  50. running_process-4.0.0/crates/running-process/src/unix.rs +43 -0
  51. running_process-4.0.0/crates/running-process/src/windows.rs +91 -0
  52. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/tests/containment_test.rs +2 -2
  53. running_process-4.0.0/crates/running-process/tests/daemon_autostart_test.rs +135 -0
  54. running_process-4.0.0/crates/running-process/tests/daemon_backlog_accumulation_test.rs +161 -0
  55. running_process-4.0.0/crates/running-process/tests/daemon_cross_process_pty_attach_test.rs +369 -0
  56. running_process-4.0.0/crates/running-process/tests/daemon_fast_ctrl_c_handoff_test.rs +229 -0
  57. running_process-4.0.0/crates/running-process/tests/daemon_integration/compiler_wrap_seam_test.rs +496 -0
  58. running_process-4.0.0/crates/running-process/tests/daemon_integration/env_replace_test.rs +378 -0
  59. running_process-4.0.0/crates/running-process/tests/daemon_integration/main.rs +621 -0
  60. running_process-4.0.0/crates/running-process/tests/daemon_integration/more_tests.rs +483 -0
  61. running_process-4.0.0/crates/running-process/tests/daemon_integration/stdout_seam_test.rs +367 -0
  62. running_process-4.0.0/crates/running-process/tests/daemon_non_tty_attach_test.rs +226 -0
  63. running_process-4.0.0/crates/running-process/tests/daemon_pipe_session_attach_test.rs +174 -0
  64. running_process-4.0.0/crates/running-process/tests/daemon_pty_session_attach_test.rs +301 -0
  65. running_process-4.0.0/crates/running-process/tests/daemon_resize_rpc_test.rs +125 -0
  66. running_process-4.0.0/crates/running-process/tests/daemon_runpm_service_stubs.rs +232 -0
  67. running_process-4.0.0/crates/running-process/tests/daemon_sessions_bulk_ops_test.rs +210 -0
  68. running_process-4.0.0/crates/running-process/tests/daemon_sessions_log_test.rs +147 -0
  69. running_process-4.0.0/crates/running-process/tests/daemon_termination_outcome_test.rs +185 -0
  70. running_process-4.0.0/crates/running-process/tests/daemon_tree_kill_test.rs +272 -0
  71. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/tests/fs_adversarial_test.rs +3 -3
  72. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/tests/originator_test.rs +3 -3
  73. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/tests/process_core_test.rs +144 -1
  74. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/tests/pty_conhost_job_test.rs +1 -1
  75. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/tests/spawn_test.rs +2 -2
  76. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/Cargo.toml +1 -3
  77. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/containment.rs +1 -1
  78. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/daemon_client.rs +3 -3
  79. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/debug_traces.rs +8 -8
  80. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/helpers.rs +3 -3
  81. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/idle_detector.rs +1 -1
  82. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/originator.rs +1 -1
  83. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/priority.rs +4 -4
  84. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/process.rs +8 -8
  85. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/process_tree.rs +2 -2
  86. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/pty_process.rs +1 -1
  87. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/py_native_process.rs +1 -1
  88. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/terminal_input.rs +1 -1
  89. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/control_churn.rs +4 -4
  90. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/parse_command.rs +2 -2
  91. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/pty_process.rs +5 -5
  92. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/terminal_input.rs +3 -3
  93. {running_process-3.4.0 → running_process-4.0.0}/pyproject.toml +18 -2
  94. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/__init__.py +1 -1
  95. running_process-4.0.0/src/running_process/pty/_pseudo_terminal.py +658 -0
  96. running_process-4.0.0/src/running_process/pty/_pty_expect.py +133 -0
  97. running_process-4.0.0/src/running_process/pty/_pty_idle_waiter.py +366 -0
  98. running_process-4.0.0/src/running_process/pty/_pty_input_relay.py +248 -0
  99. running_process-4.0.0/src/running_process/pty/_pty_reader.py +191 -0
  100. running_process-4.0.0/src/running_process/pty/_pty_wait_for.py +502 -0
  101. running_process-4.0.0/src/running_process/running_process/_classmethod_api.py +339 -0
  102. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/running_process/_core.py +161 -389
  103. running_process-4.0.0/src/running_process/running_process/_wait_methods.py +396 -0
  104. running_process-3.4.0/crates/running-process-client/Cargo.toml +0 -18
  105. running_process-3.4.0/crates/running-process-core/Cargo.toml +0 -25
  106. running_process-3.4.0/crates/running-process-proto/Cargo.toml +0 -17
  107. running_process-3.4.0/crates/running-process-proto/src/lib.rs +0 -3
  108. running_process-3.4.0/src/running_process/pty/_pseudo_terminal.py +0 -1647
  109. {running_process-3.4.0 → running_process-4.0.0}/LICENSE +0 -0
  110. {running_process-3.4.0/crates/running-process-proto → running_process-4.0.0/crates/running-process}/build.rs +0 -0
  111. {running_process-3.4.0/crates/running-process-proto → running_process-4.0.0/crates/running-process}/proto/daemon.proto +0 -0
  112. {running_process-3.4.0/crates/running-process-client/src → running_process-4.0.0/crates/running-process/src/client}/paths.rs +0 -0
  113. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/console_detect.rs +0 -0
  114. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/pty/pty_posix.rs +0 -0
  115. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/pty/terminal_input.rs +0 -0
  116. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/rust_debug.rs +0 -0
  117. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/spawn.rs +0 -0
  118. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/spawn_imp_unix.rs +0 -0
  119. {running_process-3.4.0/crates/running-process-core → running_process-4.0.0/crates/running-process}/src/spawn_imp_windows.rs +0 -0
  120. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/lib.rs +0 -0
  121. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/metrics.rs +0 -0
  122. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/pid_tracking.rs +0 -0
  123. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/pty_buffer.rs +0 -0
  124. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/public_symbols.rs +0 -0
  125. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/registry.rs +0 -0
  126. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/signal_bool.rs +0 -0
  127. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/expect_match.rs +0 -0
  128. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/idle_detector.rs +0 -0
  129. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/mod.rs +0 -0
  130. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/process_tree.rs +0 -0
  131. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/pty_buffer.rs +0 -0
  132. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/registry.rs +0 -0
  133. {running_process-3.4.0 → running_process-4.0.0}/crates/running-process-py/src/tests/signal_bool.rs +0 -0
  134. {running_process-3.4.0 → running_process-4.0.0}/crates/test-watchdog/Cargo.toml +0 -0
  135. {running_process-3.4.0 → running_process-4.0.0}/crates/test-watchdog/src/lib.rs +0 -0
  136. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/assets/example.txt +0 -0
  137. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/cli.py +0 -0
  138. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/command_render.py +0 -0
  139. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/compat.py +0 -0
  140. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/console_encoding.py +0 -0
  141. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/daemon.py +0 -0
  142. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/dashboard.py +0 -0
  143. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/exit_status.py +0 -0
  144. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/expect.py +0 -0
  145. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/interrupt_handler.py +0 -0
  146. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/launch.py +0 -0
  147. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/line_iterator.py +0 -0
  148. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/output_formatter.py +0 -0
  149. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/priority.py +0 -0
  150. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/process_utils.py +0 -0
  151. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/processor_cli.py +0 -0
  152. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/__init__.py +0 -0
  153. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_command.py +0 -0
  154. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_console_io.py +0 -0
  155. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_errors.py +0 -0
  156. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_idle_helpers.py +0 -0
  157. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_idle_state.py +0 -0
  158. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_interactive.py +0 -0
  159. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_process_helpers.py +0 -0
  160. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_terminal_strip.py +0 -0
  161. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_types.py +0 -0
  162. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/pty/_wait_input.py +0 -0
  163. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/running_process/__init__.py +0 -0
  164. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/running_process/_helpers.py +0 -0
  165. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/running_process/_iter.py +0 -0
  166. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/running_process/_subprocess.py +0 -0
  167. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/running_process/_types.py +0 -0
  168. {running_process-3.4.0 → running_process-4.0.0}/src/running_process/running_process_manager.py +0 -0
@@ -208,16 +208,6 @@ version = "0.8.21"
208
208
  source = "registry+https://github.com/rust-lang/crates.io-index"
209
209
  checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
210
210
 
211
- [[package]]
212
- name = "daemon-trampoline"
213
- version = "3.4.0"
214
- dependencies = [
215
- "libc",
216
- "serde",
217
- "serde_json",
218
- "winapi",
219
- ]
220
-
221
211
  [[package]]
222
212
  name = "dirs"
223
213
  version = "6.0.0"
@@ -1035,49 +1025,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1035
1025
  checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
1036
1026
 
1037
1027
  [[package]]
1038
- name = "running-process-client"
1039
- version = "3.4.0"
1040
- dependencies = [
1041
- "dirs",
1042
- "interprocess",
1043
- "libc",
1044
- "prost",
1045
- "running-process-proto",
1046
- ]
1047
-
1048
- [[package]]
1049
- name = "running-process-core"
1050
- version = "3.4.0"
1051
- dependencies = [
1052
- "libc",
1053
- "portable-pty",
1054
- "serde_json",
1055
- "sysinfo",
1056
- "tempfile",
1057
- "test-watchdog",
1058
- "thiserror 2.0.18",
1059
- "winapi",
1060
- ]
1061
-
1062
- [[package]]
1063
- name = "running-process-daemon"
1064
- version = "3.4.0"
1028
+ name = "running-process"
1029
+ version = "4.0.0"
1065
1030
  dependencies = [
1031
+ "anyhow",
1066
1032
  "bytes",
1067
1033
  "clap",
1068
1034
  "dirs",
1069
1035
  "futures-util",
1070
1036
  "interprocess",
1071
1037
  "libc",
1038
+ "portable-pty",
1072
1039
  "prost",
1073
- "running-process-client",
1074
- "running-process-core",
1075
- "running-process-proto",
1040
+ "prost-build",
1041
+ "prost-types",
1042
+ "protox",
1076
1043
  "rusqlite",
1077
1044
  "serde",
1078
1045
  "serde_json",
1079
1046
  "sysinfo",
1080
1047
  "tempfile",
1048
+ "test-watchdog",
1049
+ "thiserror 2.0.18",
1081
1050
  "tokio",
1082
1051
  "tokio-util",
1083
1052
  "toml",
@@ -1086,42 +1055,20 @@ dependencies = [
1086
1055
  "winapi",
1087
1056
  ]
1088
1057
 
1089
- [[package]]
1090
- name = "running-process-proto"
1091
- version = "3.4.0"
1092
- dependencies = [
1093
- "prost",
1094
- "prost-build",
1095
- "prost-types",
1096
- "protox",
1097
- ]
1098
-
1099
1058
  [[package]]
1100
1059
  name = "running-process-py"
1101
- version = "3.4.0"
1060
+ version = "4.0.0"
1102
1061
  dependencies = [
1103
1062
  "interprocess",
1104
1063
  "libc",
1105
1064
  "prost",
1106
1065
  "pyo3",
1107
1066
  "regex",
1108
- "running-process-client",
1109
- "running-process-core",
1110
- "running-process-proto",
1067
+ "running-process",
1111
1068
  "sysinfo",
1112
1069
  "winapi",
1113
1070
  ]
1114
1071
 
1115
- [[package]]
1116
- name = "runpm-cli"
1117
- version = "3.4.0"
1118
- dependencies = [
1119
- "anyhow",
1120
- "clap",
1121
- "running-process-client",
1122
- "running-process-proto",
1123
- ]
1124
-
1125
1072
  [[package]]
1126
1073
  name = "rusqlite"
1127
1074
  version = "0.32.1"
@@ -1358,44 +1305,11 @@ name = "test-watchdog"
1358
1305
  version = "0.0.0"
1359
1306
 
1360
1307
  [[package]]
1361
- name = "testbin-cwd-reporter"
1362
- version = "0.0.0"
1363
-
1364
- [[package]]
1365
- name = "testbin-dies-after-spawn"
1366
- version = "0.0.0"
1367
- dependencies = [
1368
- "running-process-core",
1369
- ]
1370
-
1371
- [[package]]
1372
- name = "testbin-emitter"
1373
- version = "0.0.0"
1374
-
1375
- [[package]]
1376
- name = "testbin-env-dump"
1377
- version = "0.0.0"
1378
-
1379
- [[package]]
1380
- name = "testbin-env-reporter"
1381
- version = "0.0.0"
1382
-
1383
- [[package]]
1384
- name = "testbin-sleeper"
1385
- version = "0.0.0"
1386
-
1387
- [[package]]
1388
- name = "testbin-spawner"
1389
- version = "0.0.0"
1390
- dependencies = [
1391
- "running-process-core",
1392
- ]
1393
-
1394
- [[package]]
1395
- name = "testbin-stubborn"
1308
+ name = "testbins"
1396
1309
  version = "0.0.0"
1397
1310
  dependencies = [
1398
1311
  "libc",
1312
+ "running-process",
1399
1313
  ]
1400
1314
 
1401
1315
  [[package]]
@@ -1,9 +1,9 @@
1
1
  [workspace]
2
2
  resolver = "2"
3
- members = ["crates/running-process-core", "crates/running-process-proto", "crates/running-process-client", "crates/running-process-py", "crates/test-watchdog"]
3
+ members = ["crates/running-process", "crates/running-process-py", "crates/test-watchdog"]
4
4
 
5
5
  [workspace.package]
6
- version = "3.4.0"
6
+ version = "4.0.0"
7
7
  edition = "2021"
8
8
  rust-version = "1.85"
9
9
  license = "BSD-3-Clause"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: running_process
3
- Version: 3.4.0
3
+ Version: 4.0.0
4
4
  License-File: LICENSE
5
5
  Summary: A Rust-backed subprocess wrapper with split stdout/stderr streaming
6
6
  Home-Page: https://github.com/zackees/running-process
@@ -14,7 +14,7 @@ Project-URL: Repository, https://github.com/zackees/running-process
14
14
 
15
15
  # running-process
16
16
 
17
- [![PyPI](https://img.shields.io/pypi/v/running-process)](https://pypi.org/project/running-process/) [![Crates.io](https://img.shields.io/crates/v/running-process-core)](https://crates.io/crates/running-process-core) [![codecov](https://codecov.io/gh/zackees/running-process/graph/badge.svg)](https://codecov.io/gh/zackees/running-process)
17
+ [![PyPI](https://img.shields.io/pypi/v/running-process)](https://pypi.org/project/running-process/) [![Crates.io](https://img.shields.io/crates/v/running-process)](https://crates.io/crates/running-process) [![codecov](https://codecov.io/gh/zackees/running-process/graph/badge.svg)](https://codecov.io/gh/zackees/running-process)
18
18
 
19
19
  `running-process` is what you wished python's subprocess was. Blazing fast, highly concurrent, huge feature list, dead process tracking, pty support. Built in Rust with a thin python api.
20
20
 
@@ -1,6 +1,6 @@
1
1
  # running-process
2
2
 
3
- [![PyPI](https://img.shields.io/pypi/v/running-process)](https://pypi.org/project/running-process/) [![Crates.io](https://img.shields.io/crates/v/running-process-core)](https://crates.io/crates/running-process-core) [![codecov](https://codecov.io/gh/zackees/running-process/graph/badge.svg)](https://codecov.io/gh/zackees/running-process)
3
+ [![PyPI](https://img.shields.io/pypi/v/running-process)](https://pypi.org/project/running-process/) [![Crates.io](https://img.shields.io/crates/v/running-process)](https://crates.io/crates/running-process) [![codecov](https://codecov.io/gh/zackees/running-process/graph/badge.svg)](https://codecov.io/gh/zackees/running-process)
4
4
 
5
5
  `running-process` is what you wished python's subprocess was. Blazing fast, highly concurrent, huge feature list, dead process tracking, pty support. Built in Rust with a thin python api.
6
6
 
@@ -0,0 +1,102 @@
1
+ [package]
2
+ name = "running-process"
3
+ version.workspace = true
4
+ edition.workspace = true
5
+ rust-version.workspace = true
6
+ license.workspace = true
7
+ repository.workspace = true
8
+ homepage.workspace = true
9
+ description = "Subprocess and PTY runtime for the running-process project"
10
+
11
+ [[bin]]
12
+ # Wave 4 of #165: PM2-style supervisor CLI absorbed from
13
+ # `running-process-client`. Requires the `client` feature for IPC deps.
14
+ name = "runpm"
15
+ path = "src/bin/runpm.rs"
16
+ required-features = ["client"]
17
+
18
+ [[bin]]
19
+ # Wave 5 of #165: daemon binary absorbed from `running-process-daemon`.
20
+ # Requires the heavy `daemon` feature (tokio, sqlite, etc.).
21
+ name = "running-process-daemon"
22
+ path = "src/bin/daemon.rs"
23
+ required-features = ["daemon"]
24
+
25
+ [[bin]]
26
+ # Wave 6 of #165: tiny launcher binary absorbed from the
27
+ # `daemon-trampoline` crate. Reads a sidecar JSON file and execs the
28
+ # target command. No required-features — uses only serde/serde_json
29
+ # (promoted to unconditional deps below) plus libc + winapi which
30
+ # the lib already pulls in.
31
+ name = "daemon-trampoline"
32
+ path = "src/bin/trampoline.rs"
33
+
34
+ [features]
35
+ # Final feature scheme per #165:
36
+ # * `core` — always-available API (spawn / pty / containment).
37
+ # * `client` — adds proto types + IPC client (prost, interprocess, dirs).
38
+ # * `daemon` — superset of client; adds the full daemon runtime
39
+ # (tokio, rusqlite, tracing, etc.).
40
+ # Default ships `client` so `cargo install running-process` installs
41
+ # the `runpm` binary out of the box (per Q1 resolution in #165:
42
+ # `required-features` are not auto-activated by cargo install).
43
+ default = ["client"]
44
+ core = []
45
+ client = ["dep:prost", "dep:prost-types", "dep:interprocess", "dep:dirs", "dep:anyhow", "dep:clap"]
46
+ daemon = [
47
+ "client",
48
+ "interprocess/tokio",
49
+ "dep:tokio", "dep:tokio-util", "dep:bytes", "dep:futures-util",
50
+ "dep:tracing", "dep:tracing-subscriber",
51
+ "dep:rusqlite", "dep:toml",
52
+ ]
53
+ originator-scan = [] # used by running-process-py for cwd-tagging
54
+
55
+ [dependencies]
56
+ libc = "0.2"
57
+ portable-pty = "0.9"
58
+ sysinfo = "0.30"
59
+ thiserror = { workspace = true }
60
+ winapi = { version = "0.3", features = ["errhandlingapi", "fileapi", "handleapi", "ioapiset", "jobapi2", "namedpipeapi", "processthreadsapi", "winnt", "minwindef", "windef", "winuser", "consoleapi", "processenv", "synchapi", "winbase", "wincon", "tlhelp32"] }
61
+ # Wave 4 of #165: client-feature deps. All optional so the always-on
62
+ # `core` API stays a minimal-dep leaf.
63
+ prost = { version = "0.14", optional = true }
64
+ prost-types = { version = "0.14", optional = true }
65
+ interprocess = { version = "2", optional = true }
66
+ dirs = { version = "6", optional = true }
67
+ # Used by the `runpm` PM2-style supervisor CLI (src/bin/runpm.rs).
68
+ anyhow = { version = "1", optional = true }
69
+ clap = { version = "4", features = ["derive"], optional = true }
70
+ # Wave 5 of #165: daemon-feature deps. All optional.
71
+ tokio = { version = "1", features = ["full"], optional = true }
72
+ tokio-util = { version = "0.7", features = ["codec"], optional = true }
73
+ bytes = { version = "1", optional = true }
74
+ futures-util = { version = "0.3", features = ["sink"], optional = true }
75
+ tracing = { version = "0.1", optional = true }
76
+ tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
77
+ rusqlite = { workspace = true, optional = true }
78
+ toml = { version = "0.8", optional = true }
79
+ # Wave 6 of #165: serde / serde_json promoted from daemon-feature
80
+ # optional to unconditional so the `daemon-trampoline` binary (which
81
+ # does not need the full daemon runtime) can deserialize its sidecar
82
+ # JSON without forcing `--features daemon`. They were already pulled
83
+ # in transitively under the daemon path; this just makes them always
84
+ # present.
85
+ serde = { version = "1", features = ["derive"] }
86
+ serde_json = "1"
87
+
88
+ [build-dependencies]
89
+ # Wave 3 of #165: build.rs absorbed from `running-process-proto`.
90
+ # Compiles proto/daemon.proto into OUT_DIR.
91
+ prost-build = "0.14"
92
+ protox = "0.9"
93
+
94
+ [dev-dependencies]
95
+ serde_json = "1"
96
+ tempfile = "3"
97
+ test-watchdog = { path = "../test-watchdog" }
98
+
99
+ # Wave 5 of #165: extra dev-deps absorbed from `running-process-daemon`
100
+ # for its windows-only and unix-only integration tests.
101
+ [target.'cfg(windows)'.dev-dependencies]
102
+ winapi = { version = "0.3", features = ["handleapi", "processthreadsapi", "winnt"] }