pyinfra 0.11.dev3__py3-none-any.whl → 3.6__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 (204) hide show
  1. pyinfra/__init__.py +9 -12
  2. pyinfra/__main__.py +4 -0
  3. pyinfra/api/__init__.py +19 -3
  4. pyinfra/api/arguments.py +413 -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 +73 -18
  12. pyinfra/api/facts.py +267 -200
  13. pyinfra/api/host.py +416 -50
  14. pyinfra/api/inventory.py +121 -160
  15. pyinfra/api/metadata.py +69 -0
  16. pyinfra/api/operation.py +432 -262
  17. pyinfra/api/operations.py +273 -260
  18. pyinfra/api/state.py +302 -248
  19. pyinfra/api/util.py +309 -369
  20. pyinfra/connectors/base.py +173 -0
  21. pyinfra/connectors/chroot.py +212 -0
  22. pyinfra/connectors/docker.py +405 -0
  23. pyinfra/connectors/dockerssh.py +297 -0
  24. pyinfra/connectors/local.py +238 -0
  25. pyinfra/connectors/scp/__init__.py +1 -0
  26. pyinfra/connectors/scp/client.py +204 -0
  27. pyinfra/connectors/ssh.py +727 -0
  28. pyinfra/connectors/ssh_util.py +114 -0
  29. pyinfra/connectors/sshuserclient/client.py +309 -0
  30. pyinfra/connectors/sshuserclient/config.py +102 -0
  31. pyinfra/connectors/terraform.py +135 -0
  32. pyinfra/connectors/util.py +417 -0
  33. pyinfra/connectors/vagrant.py +183 -0
  34. pyinfra/context.py +145 -0
  35. pyinfra/facts/__init__.py +7 -6
  36. pyinfra/facts/apk.py +22 -7
  37. pyinfra/facts/apt.py +117 -60
  38. pyinfra/facts/brew.py +100 -15
  39. pyinfra/facts/bsdinit.py +23 -0
  40. pyinfra/facts/cargo.py +37 -0
  41. pyinfra/facts/choco.py +47 -0
  42. pyinfra/facts/crontab.py +195 -0
  43. pyinfra/facts/deb.py +94 -0
  44. pyinfra/facts/dnf.py +48 -0
  45. pyinfra/facts/docker.py +96 -23
  46. pyinfra/facts/efibootmgr.py +113 -0
  47. pyinfra/facts/files.py +629 -58
  48. pyinfra/facts/flatpak.py +77 -0
  49. pyinfra/facts/freebsd.py +70 -0
  50. pyinfra/facts/gem.py +19 -6
  51. pyinfra/facts/git.py +59 -14
  52. pyinfra/facts/gpg.py +150 -0
  53. pyinfra/facts/hardware.py +313 -167
  54. pyinfra/facts/iptables.py +72 -62
  55. pyinfra/facts/launchd.py +44 -0
  56. pyinfra/facts/lxd.py +17 -4
  57. pyinfra/facts/mysql.py +122 -86
  58. pyinfra/facts/npm.py +17 -9
  59. pyinfra/facts/openrc.py +71 -0
  60. pyinfra/facts/opkg.py +246 -0
  61. pyinfra/facts/pacman.py +50 -7
  62. pyinfra/facts/pip.py +24 -7
  63. pyinfra/facts/pipx.py +82 -0
  64. pyinfra/facts/pkg.py +15 -6
  65. pyinfra/facts/pkgin.py +35 -0
  66. pyinfra/facts/podman.py +54 -0
  67. pyinfra/facts/postgres.py +178 -0
  68. pyinfra/facts/postgresql.py +6 -147
  69. pyinfra/facts/rpm.py +105 -0
  70. pyinfra/facts/runit.py +77 -0
  71. pyinfra/facts/selinux.py +161 -0
  72. pyinfra/facts/server.py +762 -285
  73. pyinfra/facts/snap.py +88 -0
  74. pyinfra/facts/systemd.py +139 -0
  75. pyinfra/facts/sysvinit.py +59 -0
  76. pyinfra/facts/upstart.py +35 -0
  77. pyinfra/facts/util/__init__.py +17 -0
  78. pyinfra/facts/util/databases.py +4 -6
  79. pyinfra/facts/util/packaging.py +37 -6
  80. pyinfra/facts/util/units.py +30 -0
  81. pyinfra/facts/util/win_files.py +99 -0
  82. pyinfra/facts/vzctl.py +20 -13
  83. pyinfra/facts/xbps.py +35 -0
  84. pyinfra/facts/yum.py +34 -40
  85. pyinfra/facts/zfs.py +77 -0
  86. pyinfra/facts/zypper.py +42 -0
  87. pyinfra/local.py +45 -83
  88. pyinfra/operations/__init__.py +12 -0
  89. pyinfra/operations/apk.py +99 -0
  90. pyinfra/operations/apt.py +496 -0
  91. pyinfra/operations/brew.py +232 -0
  92. pyinfra/operations/bsdinit.py +59 -0
  93. pyinfra/operations/cargo.py +45 -0
  94. pyinfra/operations/choco.py +61 -0
  95. pyinfra/operations/crontab.py +194 -0
  96. pyinfra/operations/dnf.py +213 -0
  97. pyinfra/operations/docker.py +492 -0
  98. pyinfra/operations/files.py +2014 -0
  99. pyinfra/operations/flatpak.py +95 -0
  100. pyinfra/operations/freebsd/__init__.py +12 -0
  101. pyinfra/operations/freebsd/freebsd_update.py +70 -0
  102. pyinfra/operations/freebsd/pkg.py +219 -0
  103. pyinfra/operations/freebsd/service.py +116 -0
  104. pyinfra/operations/freebsd/sysrc.py +92 -0
  105. pyinfra/operations/gem.py +48 -0
  106. pyinfra/operations/git.py +420 -0
  107. pyinfra/operations/iptables.py +312 -0
  108. pyinfra/operations/launchd.py +45 -0
  109. pyinfra/operations/lxd.py +69 -0
  110. pyinfra/operations/mysql.py +610 -0
  111. pyinfra/operations/npm.py +57 -0
  112. pyinfra/operations/openrc.py +63 -0
  113. pyinfra/operations/opkg.py +89 -0
  114. pyinfra/operations/pacman.py +82 -0
  115. pyinfra/operations/pip.py +206 -0
  116. pyinfra/operations/pipx.py +103 -0
  117. pyinfra/operations/pkg.py +71 -0
  118. pyinfra/operations/pkgin.py +92 -0
  119. pyinfra/operations/postgres.py +437 -0
  120. pyinfra/operations/postgresql.py +30 -0
  121. pyinfra/operations/puppet.py +41 -0
  122. pyinfra/operations/python.py +73 -0
  123. pyinfra/operations/runit.py +184 -0
  124. pyinfra/operations/selinux.py +190 -0
  125. pyinfra/operations/server.py +1100 -0
  126. pyinfra/operations/snap.py +118 -0
  127. pyinfra/operations/ssh.py +217 -0
  128. pyinfra/operations/systemd.py +150 -0
  129. pyinfra/operations/sysvinit.py +142 -0
  130. pyinfra/operations/upstart.py +68 -0
  131. pyinfra/operations/util/__init__.py +12 -0
  132. pyinfra/operations/util/docker.py +407 -0
  133. pyinfra/operations/util/files.py +247 -0
  134. pyinfra/operations/util/packaging.py +338 -0
  135. pyinfra/operations/util/service.py +46 -0
  136. pyinfra/operations/vzctl.py +137 -0
  137. pyinfra/operations/xbps.py +78 -0
  138. pyinfra/operations/yum.py +213 -0
  139. pyinfra/operations/zfs.py +176 -0
  140. pyinfra/operations/zypper.py +193 -0
  141. pyinfra/progress.py +44 -32
  142. pyinfra/py.typed +0 -0
  143. pyinfra/version.py +9 -1
  144. pyinfra-3.6.dist-info/METADATA +142 -0
  145. pyinfra-3.6.dist-info/RECORD +160 -0
  146. {pyinfra-0.11.dev3.dist-info → pyinfra-3.6.dist-info}/WHEEL +1 -2
  147. pyinfra-3.6.dist-info/entry_points.txt +12 -0
  148. {pyinfra-0.11.dev3.dist-info → pyinfra-3.6.dist-info/licenses}/LICENSE.md +1 -1
  149. pyinfra_cli/__init__.py +1 -0
  150. pyinfra_cli/cli.py +793 -0
  151. pyinfra_cli/commands.py +66 -0
  152. pyinfra_cli/exceptions.py +155 -65
  153. pyinfra_cli/inventory.py +233 -89
  154. pyinfra_cli/log.py +39 -43
  155. pyinfra_cli/main.py +26 -495
  156. pyinfra_cli/prints.py +215 -156
  157. pyinfra_cli/util.py +172 -105
  158. pyinfra_cli/virtualenv.py +25 -20
  159. pyinfra/api/connectors/__init__.py +0 -21
  160. pyinfra/api/connectors/ansible.py +0 -99
  161. pyinfra/api/connectors/docker.py +0 -178
  162. pyinfra/api/connectors/local.py +0 -169
  163. pyinfra/api/connectors/ssh.py +0 -402
  164. pyinfra/api/connectors/sshuserclient/client.py +0 -105
  165. pyinfra/api/connectors/sshuserclient/config.py +0 -90
  166. pyinfra/api/connectors/util.py +0 -63
  167. pyinfra/api/connectors/vagrant.py +0 -155
  168. pyinfra/facts/init.py +0 -176
  169. pyinfra/facts/util/files.py +0 -102
  170. pyinfra/hook.py +0 -41
  171. pyinfra/modules/__init__.py +0 -11
  172. pyinfra/modules/apk.py +0 -64
  173. pyinfra/modules/apt.py +0 -272
  174. pyinfra/modules/brew.py +0 -122
  175. pyinfra/modules/files.py +0 -711
  176. pyinfra/modules/gem.py +0 -30
  177. pyinfra/modules/git.py +0 -115
  178. pyinfra/modules/init.py +0 -344
  179. pyinfra/modules/iptables.py +0 -271
  180. pyinfra/modules/lxd.py +0 -45
  181. pyinfra/modules/mysql.py +0 -347
  182. pyinfra/modules/npm.py +0 -47
  183. pyinfra/modules/pacman.py +0 -60
  184. pyinfra/modules/pip.py +0 -99
  185. pyinfra/modules/pkg.py +0 -43
  186. pyinfra/modules/postgresql.py +0 -245
  187. pyinfra/modules/puppet.py +0 -20
  188. pyinfra/modules/python.py +0 -37
  189. pyinfra/modules/server.py +0 -524
  190. pyinfra/modules/ssh.py +0 -150
  191. pyinfra/modules/util/files.py +0 -52
  192. pyinfra/modules/util/packaging.py +0 -118
  193. pyinfra/modules/vzctl.py +0 -133
  194. pyinfra/modules/yum.py +0 -171
  195. pyinfra/pseudo_modules.py +0 -64
  196. pyinfra-0.11.dev3.dist-info/.DS_Store +0 -0
  197. pyinfra-0.11.dev3.dist-info/METADATA +0 -135
  198. pyinfra-0.11.dev3.dist-info/RECORD +0 -95
  199. pyinfra-0.11.dev3.dist-info/entry_points.txt +0 -3
  200. pyinfra-0.11.dev3.dist-info/top_level.txt +0 -2
  201. pyinfra_cli/__main__.py +0 -40
  202. pyinfra_cli/config.py +0 -92
  203. /pyinfra/{modules/util → connectors}/__init__.py +0 -0
  204. /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