hostctl 0.3.2__tar.gz → 0.4.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 (307) hide show
  1. {hostctl-0.3.2 → hostctl-0.4.0}/.gitignore +3 -3
  2. hostctl-0.4.0/CHANGELOG.md +1772 -0
  3. {hostctl-0.3.2 → hostctl-0.4.0}/PKG-INFO +120 -74
  4. {hostctl-0.3.2 → hostctl-0.4.0}/README.md +76 -60
  5. hostctl-0.4.0/RELEASENOTES.md +134 -0
  6. hostctl-0.4.0/docs/api/reference.md +165 -0
  7. hostctl-0.4.0/docs/guide/cli.md +217 -0
  8. hostctl-0.4.0/docs/guide/connecting.md +419 -0
  9. hostctl-0.4.0/docs/guide/contracts.md +160 -0
  10. hostctl-0.4.0/docs/guide/deploy.md +157 -0
  11. hostctl-0.4.0/docs/guide/extending.md +430 -0
  12. {hostctl-0.3.2 → hostctl-0.4.0}/docs/guide/path.md +50 -9
  13. {hostctl-0.3.2 → hostctl-0.4.0}/docs/guide/providers.md +185 -51
  14. hostctl-0.4.0/docs/guide/run.md +579 -0
  15. {hostctl-0.3.2 → hostctl-0.4.0}/docs/guide/transfer.md +32 -39
  16. {hostctl-0.3.2 → hostctl-0.4.0}/docs/index.md +2 -2
  17. {hostctl-0.3.2 → hostctl-0.4.0}/examples/application_provider.py +2 -2
  18. {hostctl-0.3.2 → hostctl-0.4.0}/examples/copy_between_hosts.py +3 -2
  19. {hostctl-0.3.2 → hostctl-0.4.0}/examples/remote_run.py +2 -2
  20. {hostctl-0.3.2 → hostctl-0.4.0}/mkdocs.yml +3 -1
  21. hostctl-0.4.0/pyproject.toml +190 -0
  22. hostctl-0.4.0/src/hostctl/AGENTS.md +1934 -0
  23. {hostctl-0.3.2 → hostctl-0.4.0}/src/hostctl/__init__.py +127 -79
  24. {hostctl-0.3.2 → hostctl-0.4.0}/src/hostctl/__main__.py +1 -1
  25. {hostctl-0.3.2 → hostctl-0.4.0}/src/hostctl/_async.py +33 -16
  26. hostctl-0.4.0/src/hostctl/_extras.py +78 -0
  27. hostctl-0.4.0/src/hostctl/_registry.py +49 -0
  28. hostctl-0.4.0/src/hostctl/_windows.py +24 -0
  29. hostctl-0.4.0/src/hostctl/cli/__init__.py +48 -0
  30. hostctl-0.4.0/src/hostctl/cli/_common.py +356 -0
  31. hostctl-0.4.0/src/hostctl/cli/_fanout.py +168 -0
  32. hostctl-0.4.0/src/hostctl/cli/_root.py +78 -0
  33. hostctl-0.4.0/src/hostctl/cli/_status.py +85 -0
  34. hostctl-0.4.0/src/hostctl/cli/cat.py +27 -0
  35. hostctl-0.4.0/src/hostctl/cli/cp.py +43 -0
  36. hostctl-0.4.0/src/hostctl/cli/deploy.py +111 -0
  37. hostctl-0.4.0/src/hostctl/cli/info.py +53 -0
  38. hostctl-0.4.0/src/hostctl/cli/ls.py +28 -0
  39. hostctl-0.4.0/src/hostctl/cli/run.py +57 -0
  40. hostctl-0.4.0/src/hostctl/cli/shell.py +70 -0
  41. hostctl-0.4.0/src/hostctl/console/__init__.py +26 -0
  42. hostctl-0.4.0/src/hostctl/console/_executor.py +178 -0
  43. hostctl-0.4.0/src/hostctl/console/_posix.py +570 -0
  44. hostctl-0.3.2/src/hostctl/serial/__init__.py → hostctl-0.4.0/src/hostctl/console/_profiles.py +93 -71
  45. hostctl-0.4.0/src/hostctl/console/_stream.py +122 -0
  46. hostctl-0.4.0/src/hostctl/deploy/__init__.py +292 -0
  47. hostctl-0.4.0/src/hostctl/deploy/_archive.py +149 -0
  48. hostctl-0.4.0/src/hostctl/deploy/_closure.py +345 -0
  49. hostctl-0.4.0/src/hostctl/deploy/_install.py +156 -0
  50. hostctl-0.4.0/src/hostctl/deploy/_tree.py +284 -0
  51. hostctl-0.4.0/src/hostctl/exceptions.py +136 -0
  52. hostctl-0.4.0/src/hostctl/executor.py +1051 -0
  53. hostctl-0.4.0/src/hostctl/host/__init__.py +21 -0
  54. hostctl-0.4.0/src/hostctl/host/_config.py +512 -0
  55. hostctl-0.4.0/src/hostctl/host/_dispatch.py +98 -0
  56. hostctl-0.4.0/src/hostctl/host/_host.py +343 -0
  57. hostctl-0.4.0/src/hostctl/host/_info.py +48 -0
  58. hostctl-0.4.0/src/hostctl/host/_selection.py +21 -0
  59. hostctl-0.4.0/src/hostctl/host/_timeout.py +302 -0
  60. hostctl-0.4.0/src/hostctl/host/_tls.py +95 -0
  61. hostctl-0.4.0/src/hostctl/host/_verify.py +95 -0
  62. hostctl-0.4.0/src/hostctl/paths/__init__.py +8 -0
  63. hostctl-0.4.0/src/hostctl/paths/_backend.py +165 -0
  64. hostctl-0.4.0/src/hostctl/paths/_composite.py +37 -0
  65. hostctl-0.4.0/src/hostctl/paths/_forwarding.py +323 -0
  66. hostctl-0.3.2/src/hostctl/host/composite_path.py → hostctl-0.4.0/src/hostctl/paths/_mixin.py +283 -399
  67. hostctl-0.4.0/src/hostctl/paths/_staged_io.py +187 -0
  68. hostctl-0.4.0/src/hostctl/paths/_utime.py +103 -0
  69. hostctl-0.3.2/src/hostctl/process/_common.py → hostctl-0.4.0/src/hostctl/process.py +112 -4
  70. hostctl-0.4.0/src/hostctl/provider/__init__.py +32 -0
  71. hostctl-0.4.0/src/hostctl/provider/_contracts.py +322 -0
  72. hostctl-0.4.0/src/hostctl/provider/_decline.py +158 -0
  73. hostctl-0.4.0/src/hostctl/provider/_selector.py +393 -0
  74. {hostctl-0.3.2 → hostctl-0.4.0}/src/hostctl/shell/__init__.py +30 -8
  75. hostctl-0.3.2/src/hostctl/shell/cmd.py → hostctl-0.4.0/src/hostctl/shell/_cmd.py +100 -42
  76. hostctl-0.3.2/src/hostctl/shell/fish.py → hostctl-0.4.0/src/hostctl/shell/_fish.py +23 -12
  77. hostctl-0.4.0/src/hostctl/shell/_flavour.py +401 -0
  78. {hostctl-0.3.2 → hostctl-0.4.0}/src/hostctl/shell/_grammar.py +61 -9
  79. hostctl-0.4.0/src/hostctl/shell/_invocation.py +69 -0
  80. hostctl-0.3.2/src/hostctl/shell/posix.py → hostctl-0.4.0/src/hostctl/shell/_posix.py +18 -16
  81. hostctl-0.4.0/src/hostctl/shell/_powershell.py +408 -0
  82. hostctl-0.4.0/src/hostctl/shell/_shell.py +434 -0
  83. hostctl-0.4.0/src/hostctl/shell/_vocabulary.py +189 -0
  84. {hostctl-0.3.2 → hostctl-0.4.0}/src/hostctl/sync.py +75 -49
  85. hostctl-0.4.0/src/hostctl/system/__init__.py +29 -0
  86. hostctl-0.4.0/src/hostctl/system/_config.py +177 -0
  87. hostctl-0.3.2/src/hostctl/host/system.py → hostctl-0.4.0/src/hostctl/system/_host.py +402 -554
  88. hostctl-0.4.0/src/hostctl/system/_kinds.py +75 -0
  89. hostctl-0.4.0/src/hostctl/system/_resolvers.py +223 -0
  90. hostctl-0.4.0/src/hostctl/system/_shell_plan.py +37 -0
  91. hostctl-0.4.0/src/hostctl/transports/__init__.py +8 -0
  92. hostctl-0.4.0/src/hostctl/transports/container/__init__.py +6 -0
  93. hostctl-0.4.0/src/hostctl/transports/container/_archive.py +255 -0
  94. hostctl-0.4.0/src/hostctl/transports/container/_config.py +201 -0
  95. hostctl-0.4.0/src/hostctl/transports/container/_executor.py +97 -0
  96. hostctl-0.3.2/src/hostctl/host/container.py → hostctl-0.4.0/src/hostctl/transports/container/_host.py +160 -211
  97. hostctl-0.4.0/src/hostctl/transports/container/_path.py +483 -0
  98. hostctl-0.3.2/src/hostctl/process/container.py → hostctl-0.4.0/src/hostctl/transports/container/_process.py +23 -11
  99. hostctl-0.4.0/src/hostctl/transports/container/_providers.py +127 -0
  100. hostctl-0.4.0/src/hostctl/transports/container/_times.py +150 -0
  101. hostctl-0.4.0/src/hostctl/transports/local/__init__.py +10 -0
  102. hostctl-0.3.2/src/hostctl/executor/local.py → hostctl-0.4.0/src/hostctl/transports/local/_executor.py +67 -27
  103. hostctl-0.3.2/src/hostctl/host/_local.py → hostctl-0.4.0/src/hostctl/transports/local/_host.py +57 -41
  104. hostctl-0.4.0/src/hostctl/transports/local/_providers.py +52 -0
  105. hostctl-0.4.0/src/hostctl/transports/qemu/__init__.py +22 -0
  106. hostctl-0.4.0/src/hostctl/transports/qemu/_backend.py +418 -0
  107. hostctl-0.4.0/src/hostctl/transports/qemu/_config.py +274 -0
  108. hostctl-0.3.2/src/hostctl/process/qemu_serial.py → hostctl-0.4.0/src/hostctl/transports/qemu/_console.py +55 -107
  109. hostctl-0.3.2/src/hostctl/executor/qemu.py → hostctl-0.4.0/src/hostctl/transports/qemu/_executor.py +39 -56
  110. hostctl-0.3.2/src/hostctl/host/_qga_helper.py → hostctl-0.4.0/src/hostctl/transports/qemu/_helper.py +123 -51
  111. hostctl-0.4.0/src/hostctl/transports/qemu/_host.py +493 -0
  112. hostctl-0.4.0/src/hostctl/transports/qemu/_path.py +103 -0
  113. hostctl-0.4.0/src/hostctl/transports/qemu/_providers.py +124 -0
  114. hostctl-0.4.0/src/hostctl/transports/qemu/_qga.py +379 -0
  115. hostctl-0.3.2/src/hostctl/executor/_qga.py → hostctl-0.4.0/src/hostctl/transports/qemu/_qga_transports.py +82 -403
  116. hostctl-0.4.0/src/hostctl/transports/serial/__init__.py +13 -0
  117. hostctl-0.3.2/src/hostctl/executor/serial.py → hostctl-0.4.0/src/hostctl/transports/serial/_executor.py +15 -37
  118. hostctl-0.3.2/src/hostctl/host/serial.py → hostctl-0.4.0/src/hostctl/transports/serial/_host.py +270 -122
  119. hostctl-0.3.2/src/hostctl/process/serial.py → hostctl-0.4.0/src/hostctl/transports/serial/_process.py +34 -67
  120. hostctl-0.4.0/src/hostctl/transports/ssh/__init__.py +23 -0
  121. hostctl-0.4.0/src/hostctl/transports/ssh/_config.py +414 -0
  122. hostctl-0.4.0/src/hostctl/transports/ssh/_config_source.py +265 -0
  123. hostctl-0.3.2/src/hostctl/executor/ssh.py → hostctl-0.4.0/src/hostctl/transports/ssh/_executor.py +111 -70
  124. hostctl-0.3.2/src/hostctl/process/ssh.py → hostctl-0.4.0/src/hostctl/transports/ssh/_process.py +11 -13
  125. hostctl-0.4.0/src/hostctl/transports/ssh/_providers.py +156 -0
  126. hostctl-0.4.0/src/hostctl/transports/ssh/_sftp.py +83 -0
  127. hostctl-0.4.0/src/hostctl/transports/ssh/_transport.py +516 -0
  128. hostctl-0.4.0/src/hostctl/transports/winrm/__init__.py +17 -0
  129. hostctl-0.4.0/src/hostctl/transports/winrm/_config.py +268 -0
  130. hostctl-0.4.0/src/hostctl/transports/winrm/_native.py +235 -0
  131. hostctl-0.4.0/src/hostctl/transports/winrm/_path.py +534 -0
  132. hostctl-0.4.0/src/hostctl/transports/winrm/_providers.py +103 -0
  133. hostctl-0.4.0/src/hostctl/transports/winrm/_psrp.py +408 -0
  134. hostctl-0.4.0/src/hostctl/transports/winrm/_pywinrm.py +327 -0
  135. hostctl-0.4.0/src/hostctl/transports/winrm/_transport.py +441 -0
  136. hostctl-0.4.0/src/hostctl/uri/__init__.py +21 -0
  137. {hostctl-0.3.2/src/hostctl/host → hostctl-0.4.0/src/hostctl/uri}/_connection.py +63 -39
  138. hostctl-0.4.0/src/hostctl/uri/_parse.py +450 -0
  139. hostctl-0.4.0/tests/_adversarial.py +162 -0
  140. hostctl-0.4.0/tests/_deploy_fakes.py +246 -0
  141. hostctl-0.4.0/tests/conformance/inprocess_ssh.py +340 -0
  142. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/path_fakes.py +321 -64
  143. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/providers.py +338 -117
  144. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/test_composite_path_routing.py +29 -29
  145. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/test_live.py +7 -6
  146. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/test_path_contract.py +25 -23
  147. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/test_process_contract.py +4 -4
  148. hostctl-0.4.0/tests/conformance/test_protocol_support.py +58 -0
  149. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/test_registry.py +21 -4
  150. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/test_run_contract.py +84 -32
  151. hostctl-0.4.0/tests/conformance/test_ssh_inprocess.py +116 -0
  152. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/test_sync_contract.py +47 -5
  153. hostctl-0.4.0/tests/conftest.py +102 -0
  154. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_application_provider.py +11 -9
  155. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_asyncssh_errors.py +15 -2
  156. hostctl-0.4.0/tests/test_backend_path.py +150 -0
  157. hostctl-0.4.0/tests/test_benchmarks.py +64 -0
  158. hostctl-0.4.0/tests/test_cli.py +481 -0
  159. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_cli_console.py +28 -27
  160. hostctl-0.4.0/tests/test_cli_credentials.py +387 -0
  161. hostctl-0.4.0/tests/test_cli_deploy.py +186 -0
  162. hostctl-0.4.0/tests/test_cli_fanout.py +319 -0
  163. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_cmd_live_effects.py +70 -1
  164. hostctl-0.4.0/tests/test_comment_hygiene.py +136 -0
  165. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_composite_path_backend_kwargs.py +5 -4
  166. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_composite_path_inherited_operations.py +55 -27
  167. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_composite_path_propagation.py +4 -3
  168. hostctl-0.4.0/tests/test_composite_path_standalone.py +391 -0
  169. hostctl-0.4.0/tests/test_composite_path_supports.py +141 -0
  170. hostctl-0.4.0/tests/test_config_repr.py +136 -0
  171. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_connection_string.py +55 -1
  172. hostctl-0.4.0/tests/test_console_executor.py +463 -0
  173. hostctl-0.4.0/tests/test_console_posix.py +1264 -0
  174. hostctl-0.4.0/tests/test_console_stream.py +201 -0
  175. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_container_path.py +400 -21
  176. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_container_process.py +30 -1
  177. hostctl-0.4.0/tests/test_credential_overrides.py +93 -0
  178. hostctl-0.4.0/tests/test_decline_reasons.py +408 -0
  179. hostctl-0.4.0/tests/test_deploy_bundle.py +660 -0
  180. hostctl-0.4.0/tests/test_deploy_install.py +324 -0
  181. hostctl-0.4.0/tests/test_exceptions.py +136 -0
  182. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_exec_command.py +55 -9
  183. hostctl-0.4.0/tests/test_executor_authoring.py +548 -0
  184. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_executor_exports.py +2 -2
  185. hostctl-0.4.0/tests/test_extras.py +67 -0
  186. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_host_api.py +87 -97
  187. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_host_container.py +64 -12
  188. hostctl-0.4.0/tests/test_host_identity.py +255 -0
  189. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_host_local.py +143 -24
  190. hostctl-0.4.0/tests/test_host_module_layout.py +80 -0
  191. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_host_qemu.py +99 -22
  192. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_host_remote.py +192 -131
  193. hostctl-0.4.0/tests/test_host_winrm.py +990 -0
  194. hostctl-0.4.0/tests/test_lazy_password.py +175 -0
  195. hostctl-0.4.0/tests/test_login_shell.py +280 -0
  196. hostctl-0.4.0/tests/test_missing_extras.py +305 -0
  197. hostctl-0.4.0/tests/test_module_hygiene.py +380 -0
  198. hostctl-0.4.0/tests/test_netimps_adoption.py +108 -0
  199. hostctl-0.4.0/tests/test_no_console_window.py +95 -0
  200. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_observability.py +138 -61
  201. hostctl-0.4.0/tests/test_packaging.py +367 -0
  202. hostctl-0.4.0/tests/test_powershell_status_live.py +116 -0
  203. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_process.py +18 -14
  204. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_provider_fault_injection.py +159 -78
  205. hostctl-0.4.0/tests/test_provider_resolution.py +254 -0
  206. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_psrp.py +239 -42
  207. hostctl-0.4.0/tests/test_public_annotations.py +68 -0
  208. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qemu_executor.py +20 -19
  209. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qemu_guest_semantics.py +14 -13
  210. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qemu_lifecycle.py +16 -15
  211. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qemu_path.py +195 -43
  212. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qemu_serial.py +4 -4
  213. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qemu_serial_process.py +40 -15
  214. hostctl-0.4.0/tests/test_qga_emulated_guest.py +188 -0
  215. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qga_errors.py +39 -17
  216. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qga_path_helper.py +268 -26
  217. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qga_ssh_transport.py +11 -14
  218. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_qga_transport.py +36 -13
  219. hostctl-0.4.0/tests/test_registries.py +197 -0
  220. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_serial_contract.py +12 -13
  221. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_serial_executor.py +37 -2
  222. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_serial_framing.py +30 -13
  223. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_serial_host.py +90 -13
  224. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_serial_live.py +2 -1
  225. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_shell.py +204 -90
  226. hostctl-0.4.0/tests/test_shell_corpus_live.py +878 -0
  227. hostctl-0.4.0/tests/test_shell_rendering.py +640 -0
  228. hostctl-0.4.0/tests/test_signatures.py +70 -0
  229. hostctl-0.4.0/tests/test_ssh_config_policy.py +48 -0
  230. hostctl-0.4.0/tests/test_ssh_config_reshape.py +175 -0
  231. hostctl-0.4.0/tests/test_ssh_config_sources.py +354 -0
  232. hostctl-0.4.0/tests/test_ssh_connection_accessor.py +82 -0
  233. hostctl-0.4.0/tests/test_ssh_default_username.py +184 -0
  234. hostctl-0.4.0/tests/test_ssh_lifecycle.py +145 -0
  235. hostctl-0.4.0/tests/test_ssh_powershell.py +175 -0
  236. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_ssh_process.py +51 -11
  237. hostctl-0.4.0/tests/test_ssh_relative_paths.py +111 -0
  238. hostctl-0.4.0/tests/test_ssh_shared_connection.py +224 -0
  239. hostctl-0.4.0/tests/test_ssh_target_validation.py +56 -0
  240. hostctl-0.4.0/tests/test_ssh_timeout.py +65 -0
  241. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_staged_io.py +261 -57
  242. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_sync_helpers.py +100 -7
  243. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_system_host_fidelity.py +58 -48
  244. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_system_hosts.py +361 -62
  245. hostctl-0.4.0/tests/test_timeout.py +195 -0
  246. hostctl-0.4.0/tests/test_timeout_configs.py +745 -0
  247. hostctl-0.4.0/tests/test_tls_trust.py +289 -0
  248. hostctl-0.4.0/tests/test_uri_hygiene.py +234 -0
  249. hostctl-0.4.0/tests/test_verify_container.py +369 -0
  250. hostctl-0.4.0/tests/test_verify_ssh.py +204 -0
  251. hostctl-0.4.0/tests/test_verify_winrm.py +415 -0
  252. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_winrm_path.py +192 -28
  253. hostctl-0.4.0/tests/test_winrm_powershell_live.py +299 -0
  254. hostctl-0.4.0/tests/test_winrm_timeout.py +724 -0
  255. hostctl-0.4.0/tests/tls_server.py +328 -0
  256. hostctl-0.3.2/AGENTS.md +0 -72
  257. hostctl-0.3.2/CHANGELOG.md +0 -803
  258. hostctl-0.3.2/benchmarks/README.md +0 -80
  259. hostctl-0.3.2/benchmarks/results/0.2.7-py3.14.json +0 -99
  260. hostctl-0.3.2/benchmarks/results/0.2.7-py3.9.json +0 -99
  261. hostctl-0.3.2/benchmarks/results/0.3.0-py3.14.json +0 -99
  262. hostctl-0.3.2/benchmarks/results/0.3.0-py3.9.json +0 -99
  263. hostctl-0.3.2/benchmarks/run.py +0 -175
  264. hostctl-0.3.2/docs/api/reference.md +0 -122
  265. hostctl-0.3.2/docs/guide/cli.md +0 -60
  266. hostctl-0.3.2/docs/guide/contracts.md +0 -107
  267. hostctl-0.3.2/docs/guide/extending.md +0 -68
  268. hostctl-0.3.2/docs/guide/run.md +0 -369
  269. hostctl-0.3.2/pyproject.toml +0 -130
  270. hostctl-0.3.2/src/hostctl/AGENTS.md +0 -552
  271. hostctl-0.3.2/src/hostctl/_cli.py +0 -361
  272. hostctl-0.3.2/src/hostctl/executor/__init__.py +0 -92
  273. hostctl-0.3.2/src/hostctl/executor/_common.py +0 -391
  274. hostctl-0.3.2/src/hostctl/executor/container.py +0 -174
  275. hostctl-0.3.2/src/hostctl/executor/psrp.py +0 -134
  276. hostctl-0.3.2/src/hostctl/executor/winrm.py +0 -320
  277. hostctl-0.3.2/src/hostctl/host/__init__.py +0 -99
  278. hostctl-0.3.2/src/hostctl/host/_common.py +0 -1033
  279. hostctl-0.3.2/src/hostctl/host/_ssh.py +0 -759
  280. hostctl-0.3.2/src/hostctl/host/_staged_io.py +0 -385
  281. hostctl-0.3.2/src/hostctl/host/_winrm.py +0 -1078
  282. hostctl-0.3.2/src/hostctl/host/container_path.py +0 -813
  283. hostctl-0.3.2/src/hostctl/host/qemu.py +0 -1294
  284. hostctl-0.3.2/src/hostctl/process/__init__.py +0 -49
  285. hostctl-0.3.2/src/hostctl/process/psrp.py +0 -270
  286. hostctl-0.3.2/src/hostctl/provider/__init__.py +0 -33
  287. hostctl-0.3.2/src/hostctl/provider/_common.py +0 -626
  288. hostctl-0.3.2/src/hostctl/provider/transports.py +0 -336
  289. hostctl-0.3.2/src/hostctl/shell/_common.py +0 -853
  290. hostctl-0.3.2/src/hostctl/shell/powershell.py +0 -258
  291. hostctl-0.3.2/tests/conftest.py +0 -25
  292. hostctl-0.3.2/tests/test_cli.py +0 -237
  293. hostctl-0.3.2/tests/test_host_module_layout.py +0 -26
  294. hostctl-0.3.2/tests/test_host_winrm.py +0 -516
  295. hostctl-0.3.2/tests/test_login_shell.py +0 -158
  296. hostctl-0.3.2/tests/test_module_hygiene.py +0 -105
  297. hostctl-0.3.2/tests/test_packaging.py +0 -186
  298. hostctl-0.3.2/tests/test_powershell_status_live.py +0 -74
  299. hostctl-0.3.2/tests/test_shell_rendering.py +0 -315
  300. hostctl-0.3.2/tests/test_uri_hygiene.py +0 -68
  301. hostctl-0.3.2/tests/test_winrm_powershell_live.py +0 -149
  302. {hostctl-0.3.2 → hostctl-0.4.0}/LICENSE +0 -0
  303. {hostctl-0.3.2 → hostctl-0.4.0}/docs/changelog.md +0 -0
  304. {hostctl-0.3.2 → hostctl-0.4.0}/examples/local_run.py +0 -0
  305. {hostctl-0.3.2 → hostctl-0.4.0}/src/hostctl/py.typed +0 -0
  306. {hostctl-0.3.2 → hostctl-0.4.0}/tests/conformance/__init__.py +0 -0
  307. {hostctl-0.3.2 → hostctl-0.4.0}/tests/test_docs_snippets.py +0 -0
@@ -8,6 +8,7 @@ __pycache__/
8
8
  htmlcov/
9
9
  *.egg-info/
10
10
  .venv/
11
+ .pyvenv/
11
12
  dist/
12
13
  build/
13
14
  site/
@@ -37,9 +38,8 @@ CLAUDE*
37
38
  # so `.github/` itself has to be un-ignored, not just the files under it.
38
39
  !/.github/
39
40
 
40
- # Run logs. `summarize_run.py` writes `run.log` into the working directory,
41
- # and the sdist target excludes only dotfiles -- so a test run from the repo
42
- # root followed by `python -m build` published that log once already.
41
+ # Run logs. A test run can leave a log in the working directory, and the
42
+ # sdist target excludes only dotfiles, so `python -m build` would ship it.
43
43
  run.log
44
44
  *.log
45
45