pyinfra 0.11.dev3__py3-none-any.whl → 3.5.1__py3-none-any.whl

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 (203) hide show
  1. pyinfra/__init__.py +9 -12
  2. pyinfra/__main__.py +4 -0
  3. pyinfra/api/__init__.py +18 -3
  4. pyinfra/api/arguments.py +406 -0
  5. pyinfra/api/arguments_typed.py +79 -0
  6. pyinfra/api/command.py +274 -0
  7. pyinfra/api/config.py +222 -28
  8. pyinfra/api/connect.py +33 -13
  9. pyinfra/api/connectors.py +27 -0
  10. pyinfra/api/deploy.py +65 -66
  11. pyinfra/api/exceptions.py +67 -18
  12. pyinfra/api/facts.py +253 -202
  13. pyinfra/api/host.py +413 -50
  14. pyinfra/api/inventory.py +121 -160
  15. pyinfra/api/operation.py +432 -262
  16. pyinfra/api/operations.py +273 -260
  17. pyinfra/api/state.py +302 -248
  18. pyinfra/api/util.py +291 -368
  19. pyinfra/connectors/base.py +173 -0
  20. pyinfra/connectors/chroot.py +212 -0
  21. pyinfra/connectors/docker.py +381 -0
  22. pyinfra/connectors/dockerssh.py +297 -0
  23. pyinfra/connectors/local.py +238 -0
  24. pyinfra/connectors/scp/__init__.py +1 -0
  25. pyinfra/connectors/scp/client.py +204 -0
  26. pyinfra/connectors/ssh.py +670 -0
  27. pyinfra/connectors/ssh_util.py +114 -0
  28. pyinfra/connectors/sshuserclient/client.py +309 -0
  29. pyinfra/connectors/sshuserclient/config.py +102 -0
  30. pyinfra/connectors/terraform.py +135 -0
  31. pyinfra/connectors/util.py +410 -0
  32. pyinfra/connectors/vagrant.py +183 -0
  33. pyinfra/context.py +145 -0
  34. pyinfra/facts/__init__.py +7 -6
  35. pyinfra/facts/apk.py +22 -7
  36. pyinfra/facts/apt.py +117 -60
  37. pyinfra/facts/brew.py +100 -15
  38. pyinfra/facts/bsdinit.py +23 -0
  39. pyinfra/facts/cargo.py +37 -0
  40. pyinfra/facts/choco.py +47 -0
  41. pyinfra/facts/crontab.py +195 -0
  42. pyinfra/facts/deb.py +94 -0
  43. pyinfra/facts/dnf.py +48 -0
  44. pyinfra/facts/docker.py +96 -23
  45. pyinfra/facts/efibootmgr.py +113 -0
  46. pyinfra/facts/files.py +630 -58
  47. pyinfra/facts/flatpak.py +77 -0
  48. pyinfra/facts/freebsd.py +70 -0
  49. pyinfra/facts/gem.py +19 -6
  50. pyinfra/facts/git.py +59 -14
  51. pyinfra/facts/gpg.py +150 -0
  52. pyinfra/facts/hardware.py +313 -167
  53. pyinfra/facts/iptables.py +72 -62
  54. pyinfra/facts/launchd.py +44 -0
  55. pyinfra/facts/lxd.py +17 -4
  56. pyinfra/facts/mysql.py +122 -86
  57. pyinfra/facts/npm.py +17 -9
  58. pyinfra/facts/openrc.py +71 -0
  59. pyinfra/facts/opkg.py +246 -0
  60. pyinfra/facts/pacman.py +50 -7
  61. pyinfra/facts/pip.py +24 -7
  62. pyinfra/facts/pipx.py +82 -0
  63. pyinfra/facts/pkg.py +15 -6
  64. pyinfra/facts/pkgin.py +35 -0
  65. pyinfra/facts/podman.py +54 -0
  66. pyinfra/facts/postgres.py +178 -0
  67. pyinfra/facts/postgresql.py +6 -147
  68. pyinfra/facts/rpm.py +105 -0
  69. pyinfra/facts/runit.py +77 -0
  70. pyinfra/facts/selinux.py +161 -0
  71. pyinfra/facts/server.py +746 -285
  72. pyinfra/facts/snap.py +88 -0
  73. pyinfra/facts/systemd.py +139 -0
  74. pyinfra/facts/sysvinit.py +59 -0
  75. pyinfra/facts/upstart.py +35 -0
  76. pyinfra/facts/util/__init__.py +17 -0
  77. pyinfra/facts/util/databases.py +4 -6
  78. pyinfra/facts/util/packaging.py +37 -6
  79. pyinfra/facts/util/units.py +30 -0
  80. pyinfra/facts/util/win_files.py +99 -0
  81. pyinfra/facts/vzctl.py +20 -13
  82. pyinfra/facts/xbps.py +35 -0
  83. pyinfra/facts/yum.py +34 -40
  84. pyinfra/facts/zfs.py +77 -0
  85. pyinfra/facts/zypper.py +42 -0
  86. pyinfra/local.py +45 -83
  87. pyinfra/operations/__init__.py +12 -0
  88. pyinfra/operations/apk.py +98 -0
  89. pyinfra/operations/apt.py +488 -0
  90. pyinfra/operations/brew.py +231 -0
  91. pyinfra/operations/bsdinit.py +59 -0
  92. pyinfra/operations/cargo.py +45 -0
  93. pyinfra/operations/choco.py +61 -0
  94. pyinfra/operations/crontab.py +191 -0
  95. pyinfra/operations/dnf.py +210 -0
  96. pyinfra/operations/docker.py +446 -0
  97. pyinfra/operations/files.py +1939 -0
  98. pyinfra/operations/flatpak.py +94 -0
  99. pyinfra/operations/freebsd/__init__.py +12 -0
  100. pyinfra/operations/freebsd/freebsd_update.py +70 -0
  101. pyinfra/operations/freebsd/pkg.py +219 -0
  102. pyinfra/operations/freebsd/service.py +116 -0
  103. pyinfra/operations/freebsd/sysrc.py +92 -0
  104. pyinfra/operations/gem.py +47 -0
  105. pyinfra/operations/git.py +419 -0
  106. pyinfra/operations/iptables.py +311 -0
  107. pyinfra/operations/launchd.py +45 -0
  108. pyinfra/operations/lxd.py +68 -0
  109. pyinfra/operations/mysql.py +609 -0
  110. pyinfra/operations/npm.py +57 -0
  111. pyinfra/operations/openrc.py +63 -0
  112. pyinfra/operations/opkg.py +88 -0
  113. pyinfra/operations/pacman.py +81 -0
  114. pyinfra/operations/pip.py +205 -0
  115. pyinfra/operations/pipx.py +102 -0
  116. pyinfra/operations/pkg.py +70 -0
  117. pyinfra/operations/pkgin.py +91 -0
  118. pyinfra/operations/postgres.py +436 -0
  119. pyinfra/operations/postgresql.py +30 -0
  120. pyinfra/operations/puppet.py +40 -0
  121. pyinfra/operations/python.py +72 -0
  122. pyinfra/operations/runit.py +184 -0
  123. pyinfra/operations/selinux.py +189 -0
  124. pyinfra/operations/server.py +1099 -0
  125. pyinfra/operations/snap.py +117 -0
  126. pyinfra/operations/ssh.py +216 -0
  127. pyinfra/operations/systemd.py +149 -0
  128. pyinfra/operations/sysvinit.py +141 -0
  129. pyinfra/operations/upstart.py +68 -0
  130. pyinfra/operations/util/__init__.py +12 -0
  131. pyinfra/operations/util/docker.py +251 -0
  132. pyinfra/operations/util/files.py +247 -0
  133. pyinfra/operations/util/packaging.py +336 -0
  134. pyinfra/operations/util/service.py +46 -0
  135. pyinfra/operations/vzctl.py +137 -0
  136. pyinfra/operations/xbps.py +77 -0
  137. pyinfra/operations/yum.py +210 -0
  138. pyinfra/operations/zfs.py +175 -0
  139. pyinfra/operations/zypper.py +192 -0
  140. pyinfra/progress.py +44 -32
  141. pyinfra/py.typed +0 -0
  142. pyinfra/version.py +9 -1
  143. pyinfra-3.5.1.dist-info/METADATA +141 -0
  144. pyinfra-3.5.1.dist-info/RECORD +159 -0
  145. {pyinfra-0.11.dev3.dist-info → pyinfra-3.5.1.dist-info}/WHEEL +1 -2
  146. pyinfra-3.5.1.dist-info/entry_points.txt +12 -0
  147. {pyinfra-0.11.dev3.dist-info → pyinfra-3.5.1.dist-info/licenses}/LICENSE.md +1 -1
  148. pyinfra_cli/__init__.py +1 -0
  149. pyinfra_cli/cli.py +780 -0
  150. pyinfra_cli/commands.py +66 -0
  151. pyinfra_cli/exceptions.py +155 -65
  152. pyinfra_cli/inventory.py +233 -89
  153. pyinfra_cli/log.py +39 -43
  154. pyinfra_cli/main.py +26 -495
  155. pyinfra_cli/prints.py +215 -156
  156. pyinfra_cli/util.py +172 -105
  157. pyinfra_cli/virtualenv.py +25 -20
  158. pyinfra/api/connectors/__init__.py +0 -21
  159. pyinfra/api/connectors/ansible.py +0 -99
  160. pyinfra/api/connectors/docker.py +0 -178
  161. pyinfra/api/connectors/local.py +0 -169
  162. pyinfra/api/connectors/ssh.py +0 -402
  163. pyinfra/api/connectors/sshuserclient/client.py +0 -105
  164. pyinfra/api/connectors/sshuserclient/config.py +0 -90
  165. pyinfra/api/connectors/util.py +0 -63
  166. pyinfra/api/connectors/vagrant.py +0 -155
  167. pyinfra/facts/init.py +0 -176
  168. pyinfra/facts/util/files.py +0 -102
  169. pyinfra/hook.py +0 -41
  170. pyinfra/modules/__init__.py +0 -11
  171. pyinfra/modules/apk.py +0 -64
  172. pyinfra/modules/apt.py +0 -272
  173. pyinfra/modules/brew.py +0 -122
  174. pyinfra/modules/files.py +0 -711
  175. pyinfra/modules/gem.py +0 -30
  176. pyinfra/modules/git.py +0 -115
  177. pyinfra/modules/init.py +0 -344
  178. pyinfra/modules/iptables.py +0 -271
  179. pyinfra/modules/lxd.py +0 -45
  180. pyinfra/modules/mysql.py +0 -347
  181. pyinfra/modules/npm.py +0 -47
  182. pyinfra/modules/pacman.py +0 -60
  183. pyinfra/modules/pip.py +0 -99
  184. pyinfra/modules/pkg.py +0 -43
  185. pyinfra/modules/postgresql.py +0 -245
  186. pyinfra/modules/puppet.py +0 -20
  187. pyinfra/modules/python.py +0 -37
  188. pyinfra/modules/server.py +0 -524
  189. pyinfra/modules/ssh.py +0 -150
  190. pyinfra/modules/util/files.py +0 -52
  191. pyinfra/modules/util/packaging.py +0 -118
  192. pyinfra/modules/vzctl.py +0 -133
  193. pyinfra/modules/yum.py +0 -171
  194. pyinfra/pseudo_modules.py +0 -64
  195. pyinfra-0.11.dev3.dist-info/.DS_Store +0 -0
  196. pyinfra-0.11.dev3.dist-info/METADATA +0 -135
  197. pyinfra-0.11.dev3.dist-info/RECORD +0 -95
  198. pyinfra-0.11.dev3.dist-info/entry_points.txt +0 -3
  199. pyinfra-0.11.dev3.dist-info/top_level.txt +0 -2
  200. pyinfra_cli/__main__.py +0 -40
  201. pyinfra_cli/config.py +0 -92
  202. /pyinfra/{modules/util → connectors}/__init__.py +0 -0
  203. /pyinfra/{api/connectors → connectors}/sshuserclient/__init__.py +0 -0
@@ -1,95 +0,0 @@
1
- pyinfra/__init__.py,sha256=dUDaSpZWEC7zGKXD17OFIh26osXlRtaJRxXAlxbLaUI,445
2
- pyinfra/hook.py,sha256=JW7NVJmfQxXjcW-XC5rMzFk8h1yc7DutIm8Fvd6-LWU,922
3
- pyinfra/local.py,sha256=xYgi484PV-40cvtmPCHMFtb-w1SZCmzAYp9mlNs3w1g,3951
4
- pyinfra/progress.py,sha256=RJuvBewU2cdSJe10qdF3M2A4sp-vbWmSHM4S3fdXMNA,3809
5
- pyinfra/pseudo_modules.py,sha256=Ezzq9s-QK4Wexd22EBX2os8giKXZeeJcbNXVYf1zhkM,1713
6
- pyinfra/version.py,sha256=Rs3MlziwLJ_cb8EEfmDfvHFpUMDhX0o0H3D-Ilxm0OY,26
7
- pyinfra/api/__init__.py,sha256=YRl6KmnrnDD4UcSD3lVfP_B_fboseTnFAkUef9z9hGw,504
8
- pyinfra/api/config.py,sha256=q302MQgf0TvML1707H7V97OF965jkDzGpwZD_tC21WU,1190
9
- pyinfra/api/connect.py,sha256=3V7AQE1NnTrdhLEN1gubd2zu3qijZHLC8vDJjvgE30U,1272
10
- pyinfra/api/deploy.py,sha256=wBoNkE5k15oBmd10P9963wGwhOE6u1dr3FKSZBNwoIA,3183
11
- pyinfra/api/exceptions.py,sha256=q5nuC9yCm3KFGYMFFuTyCdBSlVrFDAJz_5uRsfRVei4,798
12
- pyinfra/api/facts.py,sha256=TZdfO6ALuE3cpFgrX_Cl46TSYyR0ygQ7nR9Y7nrpoMA,7080
13
- pyinfra/api/host.py,sha256=iWNBiVpToHodfFEBQj5e-6IRKVbytwvPJIgb0k0Feoo,2815
14
- pyinfra/api/inventory.py,sha256=bZgwUUP4IDnBhBbOn-TDNDYacGhGKrDCm9m4MQbaY50,8690
15
- pyinfra/api/operation.py,sha256=hbB4FAJ_r9Bq082Gel2kKGYtBTfkQWdI2x9LVO1Wd8A,10543
16
- pyinfra/api/operations.py,sha256=M7BBKNfk1dx7lQ3hp23ySIrfv8nrrGuRmy_nMC1764I,11938
17
- pyinfra/api/state.py,sha256=hXjbZh9PFWa1WTHFenRGT2AVz0tCVqRZbOd_xbnna7M,11599
18
- pyinfra/api/util.py,sha256=dyk71XkKcjDIVxEpjz1VsB4nAadgiE0Gk-mkskrfsk0,14407
19
- pyinfra/api/connectors/__init__.py,sha256=9DD0qXW6M0VvAtNYEXhxG1_fhgbAjl8ChBCswoNsG60,504
20
- pyinfra/api/connectors/ansible.py,sha256=oH3Spyp3EcH7uo5sSvPj4XKNY4UYFsIB97Rxx6HrTwk,3036
21
- pyinfra/api/connectors/docker.py,sha256=9ecV4UN7reZehertMFE7V19rVIvLG0F2jbReKYAqzLU,4807
22
- pyinfra/api/connectors/local.py,sha256=wOpTyU41tAnZL9fILcMGLZ6S7XvRRK68QBQpllfziAI,4605
23
- pyinfra/api/connectors/ssh.py,sha256=Ys8GzvVWg2aNaOsX0LQ0SpizwxZMrLrqqETJlZnhQF4,12078
24
- pyinfra/api/connectors/util.py,sha256=uKVrUsr9usp3gFWax-5-aYxl9CkmKxSGiD-iDO0fcuc,1853
25
- pyinfra/api/connectors/vagrant.py,sha256=TNu-ipE21xeOxHyQ4_KIrsz7l0dPgO1x0TKHdh_3sXg,3877
26
- pyinfra/api/connectors/sshuserclient/__init__.py,sha256=Qc4RO2wknSWIiNTwOeQ0y2TeiuKHmyWDW2Dz4MOo9CE,44
27
- pyinfra/api/connectors/sshuserclient/client.py,sha256=nxVg3U9HjbwFLlEUnGn0Q7AX_DtqHH1cKHDJrvgor94,3561
28
- pyinfra/api/connectors/sshuserclient/config.py,sha256=Cy8da2DO5u_eFK3GpmAcMHXeNXrOvNSXIAebD6VOaNQ,3590
29
- pyinfra/facts/__init__.py,sha256=lodHWdomIFdK-ZL1RR3-e5x7-cIn0kSOoyIsOymiseA,329
30
- pyinfra/facts/apk.py,sha256=UbpY3t2G3k5TBaTXxAn8vNEnFeykivkUZoCtldTp4ho,436
31
- pyinfra/facts/apt.py,sha256=6hEGDHe5-slVuPCOEc2MaC6CDcqQyEAP7ZJ2NJUPLAc,2398
32
- pyinfra/facts/brew.py,sha256=N2DQp383iURBiKS_Rsg9MldYF1TRXtzd6SZBkWSAJaw,799
33
- pyinfra/facts/docker.py,sha256=lt5y6MA6kQh2D4NBXCdM-qks0DUhuHTm6LcfQP2Qvp8,1574
34
- pyinfra/facts/files.py,sha256=RqH-2EgTL6dO9F3bACUdFz9yjCEVSxlDOiAjaIngoE4,2502
35
- pyinfra/facts/gem.py,sha256=SFrIeKo4r-tWOwZQT7ve3qLfLZGhq_GXHOdCDWYX5nA,431
36
- pyinfra/facts/git.py,sha256=_iv9rUjNoE7JcSD3Ctvq3K0PmBm9Lw4Gm1CxNcBLhgo,577
37
- pyinfra/facts/hardware.py,sha256=Oc77uu0VYzyTxbYIINnAG0FMfQlMHpAv7gFl7ja8ZeE,7230
38
- pyinfra/facts/init.py,sha256=Qc5FmzjWICNvCenG_OcD5tkeanmPD9xL5H8eQx1v55g,4331
39
- pyinfra/facts/iptables.py,sha256=T7SMmPpqfzKBk_UFTCX8s5dVCadX8iGDl0gWMahsQEE,3219
40
- pyinfra/facts/lxd.py,sha256=6nLZAm0OF8-h7kLKozMokBksdcpVL9kAN7Zm3A7y0ZM,307
41
- pyinfra/facts/mysql.py,sha256=ebjAkr6cnwkOEC_Isy0X8hKROpFZr6tu6YawIWym76I,5376
42
- pyinfra/facts/npm.py,sha256=MB-gKZw0rtbmUv1iWSmnS3Q-ImINiRwYe_vOVm3hT4g,686
43
- pyinfra/facts/pacman.py,sha256=WzpIsmjL4wdLAcL-CLY1uFx6Sti494jskCGPUWIJweQ,431
44
- pyinfra/facts/pip.py,sha256=XW1-kQMRocplROnq-2aLQ5gMZp-dW9XiSxK8-SgBrag,487
45
- pyinfra/facts/pkg.py,sha256=9CDKVfiSthg_TtmquC8yrhoZMLr-LbjsGzBC9bT-EdQ,420
46
- pyinfra/facts/postgresql.py,sha256=AiLlv7xeq_LgjjojkeryI3SHZNlIg78Vb0lpg5rxtpY,3755
47
- pyinfra/facts/server.py,sha256=ThYXLm9YM3W4ACEqvp7-wC8eVhDBcIoNmfD862YzKJM,11430
48
- pyinfra/facts/vzctl.py,sha256=RDUhLF7LWJUzTIvrjkfF6ghq59xfoJCEptK1WEEjOik,608
49
- pyinfra/facts/yum.py,sha256=j6AtTjByxmkSYar0UPWUt3-olKoEwi_8q0kbbvZ24Ek,1077
50
- pyinfra/facts/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- pyinfra/facts/util/databases.py,sha256=HIiz1WR8CCMo59YEY4vkHh5tN1B5EqkwXMaywZdC6IU,759
52
- pyinfra/facts/util/files.py,sha256=4dLuT8GeDqRFJDT7AlozwFRaU4spl5f5QzlSi6hXDWk,2226
53
- pyinfra/facts/util/packaging.py,sha256=SEG--A6ip--xbDQWOXITZ4LAhKYS3yqMkVrj3QTn6-o,401
54
- pyinfra/modules/__init__.py,sha256=lrSWU7uE6ISMiRBzuI0us84cOUcg5TjyP27kNzJR4Gw,334
55
- pyinfra/modules/apk.py,sha256=oYsKuZwFo7GMFR2wsHQ2zzZ7xQ9VmAjO2GL5AWF1eU0,1293
56
- pyinfra/modules/apt.py,sha256=RSMm1jdmy6Jcs1jIoNSxdk0Jhzy094RIAhxkEgyzT_k,8364
57
- pyinfra/modules/brew.py,sha256=JxKpYQhgd8h4cVxHLAKcEXo2BJkOSzSxu45qdgYKFbY,2644
58
- pyinfra/modules/files.py,sha256=TankAXmosf8AULUWF8L8qjVXvmHVPyrgABZX7A8c_bk,23333
59
- pyinfra/modules/gem.py,sha256=xccLIwPXlrxdFPSE5uhrBIto3TRhVwFQnzyC8BW8e6Y,752
60
- pyinfra/modules/git.py,sha256=9ZlPsXPs3ueNS_d0mvely8M79HCdDoLZ_IBFK6xO41o,3402
61
- pyinfra/modules/init.py,sha256=jT7mv6Bi98lzribKSofGaNOMVGIDojPKPSnnezdP7hU,10884
62
- pyinfra/modules/iptables.py,sha256=3jQPxdVW3oR-wjsL-GzCef2sYV_wYFECZoLXVr-Y4bg,8180
63
- pyinfra/modules/lxd.py,sha256=NdhSySS-M3iRKYzKo1JCMXSUGWTvOFKS6qjeVfLLSfk,1152
64
- pyinfra/modules/mysql.py,sha256=qpD0H7fiWx_fMEE4T7EVEdqti8jR6wc7nSZigEHA5Ck,10417
65
- pyinfra/modules/npm.py,sha256=1HRYfJAgFRW_s2q6olLqC1XcTJlyUZP2y5UKdOugBQA,1294
66
- pyinfra/modules/pacman.py,sha256=v1k8jipFi4evUB7-NC7KvNGg5QYjvhdOW2gaqz8LKJ8,1168
67
- pyinfra/modules/pip.py,sha256=z-SeBq77EGMU7X1T4LnocmNxztbi82E8W1V7PQU0yQs,2923
68
- pyinfra/modules/pkg.py,sha256=8uM4gdLFVA-jKYxh2moFQWlzQCC30AYSF_473qcBBfU,1404
69
- pyinfra/modules/postgresql.py,sha256=Y-mOTHcnCBhwsCgdkl_I-86wYqB1vVbiVhygZ4FtgqU,7650
70
- pyinfra/modules/puppet.py,sha256=P3004dkhkxxCDsdJumFPbnkm6jNn1BngXm_7cX187r0,379
71
- pyinfra/modules/python.py,sha256=Bz3ZMX46wDrzLqcjWgIfhBb_MJ0uoAL7wrLPun1V7tY,919
72
- pyinfra/modules/server.py,sha256=8b92kbPVt3lh98CAWOlvEn7-0mCm8kZpB1yKPPbMIuU,15016
73
- pyinfra/modules/ssh.py,sha256=ueRLfIKBy91hNMasTrR-us4sXog4Kl0i3-OdbeC-b1Y,4226
74
- pyinfra/modules/vzctl.py,sha256=RRSn8bO8Pg-_FTR4-QH5itisTKHhMupyrSwgdTSSwls,2868
75
- pyinfra/modules/yum.py,sha256=86mpEg_EAFzJqxnrpzkbDrTnNPnmj7jTkhVfSonGWUc,4575
76
- pyinfra/modules/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
- pyinfra/modules/util/files.py,sha256=iPDlwIy7Lq5M-agn1E--eaafAip1Bip0zKLr6m86wQM,1232
78
- pyinfra/modules/util/packaging.py,sha256=5V06tPiiGvc-rn2fzctjcNM3GWiYT_IlJbCnSguZ_aM,3867
79
- pyinfra_cli/__init__.py,sha256=BoExpEIu62rco4SdCdqc6QcLUs52ZPfz9SFX55KXCw8,283
80
- pyinfra_cli/__main__.py,sha256=bTVT5zZQ1M5td0fEMQbL64nJp_r2XhTBiBEF4hvwZVs,811
81
- pyinfra_cli/config.py,sha256=5CIa2RjntD_Kxo4wva8I77GVBOYUPl3SKJGxi_7YmdI,2230
82
- pyinfra_cli/exceptions.py,sha256=JHOhtGnJs58Gb1gRmFDzNVuuuOpRuEdkNyqHJz_dzLA,2395
83
- pyinfra_cli/inventory.py,sha256=QsRRbGQGEHbSKltgWmWJovirSLP7PeJWmun7Q8kkoiQ,5990
84
- pyinfra_cli/log.py,sha256=TKzK4L7bZBGmP0TKBh1Ha8-wKO-J2QKRBmxaKnuWoYc,2385
85
- pyinfra_cli/main.py,sha256=9q3gkANQlIbU1gvaSFbk4m92P8HoYpvwAyiS8PEvmTs,14043
86
- pyinfra_cli/prints.py,sha256=ToW67edAHSXJ_X3Pe4mEMEsihsJmr59QO8sEk8mjUoI,7841
87
- pyinfra_cli/util.py,sha256=KrTWMgi4berXjo6Vz5LrM3LYvOKEnSXAZmYzeDcy2WM,4132
88
- pyinfra_cli/virtualenv.py,sha256=asNS_ZQ_oheKzdB6GKG60yqE6apu2tWVaKVrkeXS9L0,2411
89
- pyinfra-0.11.dev3.dist-info/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
90
- pyinfra-0.11.dev3.dist-info/LICENSE.md,sha256=RAnSqAdk2ako-JsOkYrtR_ouEc8jiW7TZZmQjWuasW0,1085
91
- pyinfra-0.11.dev3.dist-info/METADATA,sha256=ERdmed4prvTMXxTXcw8NRe-JfJHe9dFJNPsVLA0FTSs,5476
92
- pyinfra-0.11.dev3.dist-info/WHEEL,sha256=p46_5Uhzqz6AzeSosiOnxK-zmFja1i22CrQCjmYe8ec,92
93
- pyinfra-0.11.dev3.dist-info/entry_points.txt,sha256=kgN9JzyzU4n7V7iDs7MwjNRsXRg0Fx9O_jzdtisfM6o,66
94
- pyinfra-0.11.dev3.dist-info/top_level.txt,sha256=mVAFfkC7bLYYrMpVbO2ZTg6bIOYdViuK6yoX_kQlcVo,20
95
- pyinfra-0.11.dev3.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- pyinfra = pyinfra_cli.__main__:execute_pyinfra
3
-
@@ -1,2 +0,0 @@
1
- pyinfra
2
- pyinfra_cli
pyinfra_cli/__main__.py DELETED
@@ -1,40 +0,0 @@
1
- import os
2
- import signal
3
- import sys
4
-
5
- import click
6
- import gevent
7
-
8
- import pyinfra
9
-
10
- from .main import cli
11
-
12
-
13
- # Set CLI mode
14
- pyinfra.is_cli = True
15
-
16
- # Don't write out deploy.pyc/config.pyc etc
17
- sys.dont_write_bytecode = True
18
-
19
- # Make sure imported files (deploy.py/etc) behave as if imported from the cwd
20
- sys.path.append('.')
21
-
22
- # Shut it click
23
- click.disable_unicode_literals_warning = True # noqa
24
-
25
- # Force line buffering
26
- sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 1)
27
- sys.stderr = os.fdopen(sys.stderr.fileno(), 'w', 1)
28
-
29
-
30
- def _handle_interrupt(signum, frame):
31
- click.echo('Exiting upon user request!')
32
- sys.exit(0)
33
-
34
-
35
- gevent.signal(signal.SIGINT, gevent.kill) # kill any greenlets on ctrl+c
36
- signal.signal(signal.SIGINT, _handle_interrupt) # print the message and exit main
37
-
38
-
39
- def execute_pyinfra():
40
- cli()
pyinfra_cli/config.py DELETED
@@ -1,92 +0,0 @@
1
- import ast
2
-
3
- from os import path
4
-
5
- from pyinfra.api import Config
6
-
7
- from .util import exec_file
8
-
9
-
10
- def extract_file_config(filename, config=None):
11
- with open(filename, 'r') as f:
12
- data = f.read()
13
-
14
- ast_data = ast.parse(data, filename=filename)
15
- config_data = {}
16
-
17
- for node in ast_data.body:
18
- if not isinstance(node, ast.Assign):
19
- continue
20
-
21
- # Named Python objects (eg True/False/None)
22
- if isinstance(node.value, ast.Name):
23
- if node.value.id == 'True':
24
- value = True
25
- elif node.value.id == 'False':
26
- value = False
27
- else:
28
- value = None
29
-
30
- # NameConstant is Python 3+ only
31
- elif isinstance(node.value, ast.NameConstant):
32
- value = node.value.value
33
-
34
- # Strings
35
- elif isinstance(node.value, ast.Str):
36
- value = node.value.s
37
-
38
- # Integers
39
- elif isinstance(node.value, ast.Num):
40
- value = node.value.n
41
-
42
- # Config cannot be anything else
43
- else:
44
- continue
45
-
46
- # If one of the assignments matches a config variable (eg SUDO = True)
47
- # then assign it to the config object!
48
- for target in node.targets:
49
- if target.id.isupper() and hasattr(Config, target.id):
50
- config_data[target.id] = value
51
-
52
- # If we have a config, update and exit
53
- if config:
54
- for key, value in config_data.items():
55
- setattr(config, key, value)
56
- return
57
-
58
- return config_data
59
-
60
-
61
- def load_config(deploy_dir):
62
- '''
63
- Loads any local config.py file.
64
- '''
65
-
66
- config = Config()
67
- config_filename = path.join(deploy_dir, 'config.py')
68
-
69
- if path.exists(config_filename):
70
- extract_file_config(config_filename, config)
71
-
72
- # Now execute the file to trigger loading of any hooks
73
- exec_file(config_filename)
74
-
75
- return config
76
-
77
-
78
- def load_deploy_config(deploy_filename, config=None):
79
- '''
80
- Loads any local config overrides in the deploy file.
81
- '''
82
-
83
- if not config:
84
- config = Config()
85
-
86
- if not deploy_filename:
87
- return
88
-
89
- if path.exists(deploy_filename):
90
- extract_file_config(deploy_filename, config)
91
-
92
- return config
File without changes