kstlib 0.0.1a0__py3-none-any.whl → 1.0.0__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 (166) hide show
  1. kstlib/__init__.py +266 -1
  2. kstlib/__main__.py +16 -0
  3. kstlib/alerts/__init__.py +110 -0
  4. kstlib/alerts/channels/__init__.py +36 -0
  5. kstlib/alerts/channels/base.py +197 -0
  6. kstlib/alerts/channels/email.py +227 -0
  7. kstlib/alerts/channels/slack.py +389 -0
  8. kstlib/alerts/exceptions.py +72 -0
  9. kstlib/alerts/manager.py +651 -0
  10. kstlib/alerts/models.py +142 -0
  11. kstlib/alerts/throttle.py +263 -0
  12. kstlib/auth/__init__.py +139 -0
  13. kstlib/auth/callback.py +399 -0
  14. kstlib/auth/config.py +502 -0
  15. kstlib/auth/errors.py +127 -0
  16. kstlib/auth/models.py +316 -0
  17. kstlib/auth/providers/__init__.py +14 -0
  18. kstlib/auth/providers/base.py +393 -0
  19. kstlib/auth/providers/oauth2.py +645 -0
  20. kstlib/auth/providers/oidc.py +821 -0
  21. kstlib/auth/session.py +338 -0
  22. kstlib/auth/token.py +482 -0
  23. kstlib/cache/__init__.py +50 -0
  24. kstlib/cache/decorator.py +261 -0
  25. kstlib/cache/strategies.py +516 -0
  26. kstlib/cli/__init__.py +8 -0
  27. kstlib/cli/app.py +195 -0
  28. kstlib/cli/commands/__init__.py +5 -0
  29. kstlib/cli/commands/auth/__init__.py +39 -0
  30. kstlib/cli/commands/auth/common.py +122 -0
  31. kstlib/cli/commands/auth/login.py +325 -0
  32. kstlib/cli/commands/auth/logout.py +74 -0
  33. kstlib/cli/commands/auth/providers.py +57 -0
  34. kstlib/cli/commands/auth/status.py +291 -0
  35. kstlib/cli/commands/auth/token.py +199 -0
  36. kstlib/cli/commands/auth/whoami.py +106 -0
  37. kstlib/cli/commands/config.py +89 -0
  38. kstlib/cli/commands/ops/__init__.py +39 -0
  39. kstlib/cli/commands/ops/attach.py +49 -0
  40. kstlib/cli/commands/ops/common.py +269 -0
  41. kstlib/cli/commands/ops/list_sessions.py +252 -0
  42. kstlib/cli/commands/ops/logs.py +49 -0
  43. kstlib/cli/commands/ops/start.py +98 -0
  44. kstlib/cli/commands/ops/status.py +138 -0
  45. kstlib/cli/commands/ops/stop.py +60 -0
  46. kstlib/cli/commands/rapi/__init__.py +60 -0
  47. kstlib/cli/commands/rapi/call.py +341 -0
  48. kstlib/cli/commands/rapi/list.py +99 -0
  49. kstlib/cli/commands/rapi/show.py +206 -0
  50. kstlib/cli/commands/secrets/__init__.py +35 -0
  51. kstlib/cli/commands/secrets/common.py +425 -0
  52. kstlib/cli/commands/secrets/decrypt.py +88 -0
  53. kstlib/cli/commands/secrets/doctor.py +743 -0
  54. kstlib/cli/commands/secrets/encrypt.py +242 -0
  55. kstlib/cli/commands/secrets/shred.py +96 -0
  56. kstlib/cli/common.py +86 -0
  57. kstlib/config/__init__.py +76 -0
  58. kstlib/config/exceptions.py +110 -0
  59. kstlib/config/export.py +225 -0
  60. kstlib/config/loader.py +963 -0
  61. kstlib/config/sops.py +287 -0
  62. kstlib/db/__init__.py +54 -0
  63. kstlib/db/aiosqlcipher.py +137 -0
  64. kstlib/db/cipher.py +112 -0
  65. kstlib/db/database.py +367 -0
  66. kstlib/db/exceptions.py +25 -0
  67. kstlib/db/pool.py +302 -0
  68. kstlib/helpers/__init__.py +35 -0
  69. kstlib/helpers/exceptions.py +11 -0
  70. kstlib/helpers/time_trigger.py +396 -0
  71. kstlib/kstlib.conf.yml +890 -0
  72. kstlib/limits.py +963 -0
  73. kstlib/logging/__init__.py +108 -0
  74. kstlib/logging/manager.py +633 -0
  75. kstlib/mail/__init__.py +42 -0
  76. kstlib/mail/builder.py +626 -0
  77. kstlib/mail/exceptions.py +27 -0
  78. kstlib/mail/filesystem.py +248 -0
  79. kstlib/mail/transport.py +224 -0
  80. kstlib/mail/transports/__init__.py +19 -0
  81. kstlib/mail/transports/gmail.py +268 -0
  82. kstlib/mail/transports/resend.py +324 -0
  83. kstlib/mail/transports/smtp.py +326 -0
  84. kstlib/meta.py +72 -0
  85. kstlib/metrics/__init__.py +88 -0
  86. kstlib/metrics/decorators.py +1090 -0
  87. kstlib/metrics/exceptions.py +14 -0
  88. kstlib/monitoring/__init__.py +116 -0
  89. kstlib/monitoring/_styles.py +163 -0
  90. kstlib/monitoring/cell.py +57 -0
  91. kstlib/monitoring/config.py +424 -0
  92. kstlib/monitoring/delivery.py +579 -0
  93. kstlib/monitoring/exceptions.py +63 -0
  94. kstlib/monitoring/image.py +220 -0
  95. kstlib/monitoring/kv.py +79 -0
  96. kstlib/monitoring/list.py +69 -0
  97. kstlib/monitoring/metric.py +88 -0
  98. kstlib/monitoring/monitoring.py +341 -0
  99. kstlib/monitoring/renderer.py +139 -0
  100. kstlib/monitoring/service.py +392 -0
  101. kstlib/monitoring/table.py +129 -0
  102. kstlib/monitoring/types.py +56 -0
  103. kstlib/ops/__init__.py +86 -0
  104. kstlib/ops/base.py +148 -0
  105. kstlib/ops/container.py +577 -0
  106. kstlib/ops/exceptions.py +209 -0
  107. kstlib/ops/manager.py +407 -0
  108. kstlib/ops/models.py +176 -0
  109. kstlib/ops/tmux.py +372 -0
  110. kstlib/ops/validators.py +287 -0
  111. kstlib/py.typed +0 -0
  112. kstlib/rapi/__init__.py +118 -0
  113. kstlib/rapi/client.py +875 -0
  114. kstlib/rapi/config.py +861 -0
  115. kstlib/rapi/credentials.py +887 -0
  116. kstlib/rapi/exceptions.py +213 -0
  117. kstlib/resilience/__init__.py +101 -0
  118. kstlib/resilience/circuit_breaker.py +440 -0
  119. kstlib/resilience/exceptions.py +95 -0
  120. kstlib/resilience/heartbeat.py +491 -0
  121. kstlib/resilience/rate_limiter.py +506 -0
  122. kstlib/resilience/shutdown.py +417 -0
  123. kstlib/resilience/watchdog.py +637 -0
  124. kstlib/secrets/__init__.py +29 -0
  125. kstlib/secrets/exceptions.py +19 -0
  126. kstlib/secrets/models.py +62 -0
  127. kstlib/secrets/providers/__init__.py +79 -0
  128. kstlib/secrets/providers/base.py +58 -0
  129. kstlib/secrets/providers/environment.py +66 -0
  130. kstlib/secrets/providers/keyring.py +107 -0
  131. kstlib/secrets/providers/kms.py +223 -0
  132. kstlib/secrets/providers/kwargs.py +101 -0
  133. kstlib/secrets/providers/sops.py +209 -0
  134. kstlib/secrets/resolver.py +221 -0
  135. kstlib/secrets/sensitive.py +130 -0
  136. kstlib/secure/__init__.py +23 -0
  137. kstlib/secure/fs.py +194 -0
  138. kstlib/secure/permissions.py +70 -0
  139. kstlib/ssl.py +347 -0
  140. kstlib/ui/__init__.py +23 -0
  141. kstlib/ui/exceptions.py +26 -0
  142. kstlib/ui/panels.py +484 -0
  143. kstlib/ui/spinner.py +864 -0
  144. kstlib/ui/tables.py +382 -0
  145. kstlib/utils/__init__.py +48 -0
  146. kstlib/utils/dict.py +36 -0
  147. kstlib/utils/formatting.py +338 -0
  148. kstlib/utils/http_trace.py +237 -0
  149. kstlib/utils/lazy.py +49 -0
  150. kstlib/utils/secure_delete.py +205 -0
  151. kstlib/utils/serialization.py +247 -0
  152. kstlib/utils/text.py +56 -0
  153. kstlib/utils/validators.py +124 -0
  154. kstlib/websocket/__init__.py +97 -0
  155. kstlib/websocket/exceptions.py +214 -0
  156. kstlib/websocket/manager.py +1102 -0
  157. kstlib/websocket/models.py +361 -0
  158. kstlib-1.0.0.dist-info/METADATA +201 -0
  159. kstlib-1.0.0.dist-info/RECORD +163 -0
  160. {kstlib-0.0.1a0.dist-info → kstlib-1.0.0.dist-info}/WHEEL +1 -1
  161. kstlib-1.0.0.dist-info/entry_points.txt +2 -0
  162. kstlib-1.0.0.dist-info/licenses/LICENSE.md +9 -0
  163. kstlib-0.0.1a0.dist-info/METADATA +0 -29
  164. kstlib-0.0.1a0.dist-info/RECORD +0 -6
  165. kstlib-0.0.1a0.dist-info/licenses/LICENSE.md +0 -5
  166. {kstlib-0.0.1a0.dist-info → kstlib-1.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,163 @@
1
+ kstlib/__init__.py,sha256=MO6fLXlSp_EKA-itBMmPMPoQDLja9MTMxGSgMFicaZE,10518
2
+ kstlib/__main__.py,sha256=l9-cxF6BGDYCb-giF4hDEewFv5ytrhKZTxfsVenUB3A,323
3
+ kstlib/kstlib.conf.yml,sha256=6NJznp7xBilNexSpRWHpxPVWH_fIs25vVjcKYVIXiNA,29616
4
+ kstlib/limits.py,sha256=i3E1O_qvniUlJoyzh6Gv14h7faqxEwydX6Gk6uOHCFo,31578
5
+ kstlib/meta.py,sha256=ig9sWNtd79WiDet-pzuJ4upcqWtXiarwV8d15Vkq3C4,6149
6
+ kstlib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ kstlib/ssl.py,sha256=LudzVfYFAoSxKFyEzACQlYnjPmuusoRl4tAPPsdBBmU,10355
8
+ kstlib/alerts/__init__.py,sha256=mixRr15D5jIhoyLWn6PWrZI6K-urwuw0aMBzMGhqTXQ,3153
9
+ kstlib/alerts/exceptions.py,sha256=ksJ0UrakheuObwlFTQfcDkXo1PlbakO5c5afIgWL-DM,1952
10
+ kstlib/alerts/manager.py,sha256=fMxX7jqZ3iiKACSyfM0K53smB3km_Jt4r2F17Nlu1NU,21132
11
+ kstlib/alerts/models.py,sha256=hB5jsSiF3ujkkrk6pHouL37ow4jkOhDuHyZ4MHRRIPY,4090
12
+ kstlib/alerts/throttle.py,sha256=nZ8NdfG0ZubnKEnAsUSIsf5lvP7pDWp_fmWe46VZ_oQ,7716
13
+ kstlib/alerts/channels/__init__.py,sha256=huQiRmQRCVtjZVwS3IYr1G4_aLRmNllX2om5N7Z1_O8,1032
14
+ kstlib/alerts/channels/base.py,sha256=DlrxU3zRYeW6ulslIepP54FaOJOuA0FlsT02qF1uYXc,5534
15
+ kstlib/alerts/channels/email.py,sha256=BNhGWzSa-q6xWmJX0NsMJM0-Xv8zl7jgcXB0Ap5prHc,6755
16
+ kstlib/alerts/channels/slack.py,sha256=cVxXf1rtL1WHBhN8cA-7Vm9V0siIWVPYJeB3X6aPS58,12643
17
+ kstlib/auth/__init__.py,sha256=xpLWP05f9c8mzbJo2Dj9gj8lN_7bJzlyWqiyxZiR3Bs,3877
18
+ kstlib/auth/callback.py,sha256=eOkX_zig36R1KjLOVl_8JPJJ6YOdwSLaiZgbkvS20ZQ,14337
19
+ kstlib/auth/config.py,sha256=XbspuTaGsw7If82sq8-RPV3rlJR9ZxlHbJiQ_bvQ-pY,17771
20
+ kstlib/auth/errors.py,sha256=1CeOiSyuw25ytlOOTmBVNzK9OUk0TfhztAl7CkIrEg0,3606
21
+ kstlib/auth/models.py,sha256=4p9Z9mvVKHjSxr2nyf0ChnpR2uOdRQWVOcaOxhX3C94,10474
22
+ kstlib/auth/session.py,sha256=kgwp0x6BrvlKE9Um23Dz_xxNecmkPTBrhFw9JbwOcEs,13936
23
+ kstlib/auth/token.py,sha256=bsXbXkovv7Vk4vE6-BH9Fdq8mrItA5tzf9y_-KtaXhQ,16388
24
+ kstlib/auth/providers/__init__.py,sha256=Wjws_QRdKNVsZOfRvgLfb75yMFiF8GegOIEH3Ws86kM,384
25
+ kstlib/auth/providers/base.py,sha256=fIzxIeMErWSIKe7JivjUwSbHZd5_FXhSVqzxw9bUT5k,15545
26
+ kstlib/auth/providers/oauth2.py,sha256=Xp-jGutJhn_7V5Eny4WLl9bD9Currg-aTOM0M8guFWc,24468
27
+ kstlib/auth/providers/oidc.py,sha256=jnjUqVWQAouF7S0iqhceYw-wWttCAReT50IisMZCKpg,32613
28
+ kstlib/cache/__init__.py,sha256=Vbh3k9-lEZKJxydE3bs3le0gkgS9T2A0LO0UD2iKetk,1365
29
+ kstlib/cache/decorator.py,sha256=Wlt4zGc-6Y5N-XwJ3SJnCciTzz-eQIYGAVyHOPtCbrQ,7939
30
+ kstlib/cache/strategies.py,sha256=bXeSt8YfIxhuSoHFZ1NQZr-a14FSmW3sm9sqQ0zhRxo,17206
31
+ kstlib/cli/__init__.py,sha256=MozgZNN9N8KCVCNEeh916_q4IyFGzSc0wl-xZpC7wpc,146
32
+ kstlib/cli/app.py,sha256=t4pGWg6QG5vDatV4bDEpI2z3hZryevmz7dHJaLvoquM,5601
33
+ kstlib/cli/common.py,sha256=x_3hlW32xuGTCwrSuR7TjIpKWyfwEnyEz6Yt18-rx0o,2074
34
+ kstlib/cli/commands/__init__.py,sha256=BDyHJlftrNOSjopycNehPEkIGuAzBikyLVuDY1RAiI4,99
35
+ kstlib/cli/commands/config.py,sha256=dFfwCsThnEdX2ogPLqt_uhcgFk3JcBAyPgy9zZ7GG7Q,2593
36
+ kstlib/cli/commands/auth/__init__.py,sha256=3vpKQlpvm6pJtOUiS5QqD_FY_xEOl_ORBOaB8ep6oUI,821
37
+ kstlib/cli/commands/auth/common.py,sha256=7P6VegOZFvbVk4otZFWZ2aX2jbk1mlw9_Zfu__AeQ8E,3317
38
+ kstlib/cli/commands/auth/login.py,sha256=yFCm0XfaOmUChddCKGvHjRguBc_WzjGPxYBv39v_WxM,11029
39
+ kstlib/cli/commands/auth/logout.py,sha256=JhHbTe8_OCY076jPw3y_-jpsTGDAfXjzItYHfvra-xM,2142
40
+ kstlib/cli/commands/auth/providers.py,sha256=pPHJ_JERAhRc7ywn8U9tv6B1xlM_CsHPr6oFGsosYLo,1764
41
+ kstlib/cli/commands/auth/status.py,sha256=xB6YuU_fwUNLgEMMlzmzP22RR4BbXI5O1Xsvyh_e36k,8866
42
+ kstlib/cli/commands/auth/token.py,sha256=GtBiPrE-xqRcFnMnLnlkvBLy7fy4DoNaiicjcmXF-_A,6430
43
+ kstlib/cli/commands/auth/whoami.py,sha256=g_zi9-hvC3EL-INFdUEFMA5fPATJy6vueDY47bbsAug,3490
44
+ kstlib/cli/commands/ops/__init__.py,sha256=28IH3q71YjZMVbh7uk9jAF9iou91_juOqKpnQQ0sP9g,832
45
+ kstlib/cli/commands/ops/attach.py,sha256=uPIdc1zEoiA86tZeZ5HNq51LQLrUAx9gJvM3Cq75Jbs,1212
46
+ kstlib/cli/commands/ops/common.py,sha256=VbjSSi9N6oZvqv06Kv-zaUDmMRKTaNbgnsjlQ5F0Oog,6356
47
+ kstlib/cli/commands/ops/list_sessions.py,sha256=70P1LFDK_xHRRuWM-DA6UxfBEbrD9NYwq7dP1BqPm8A,6952
48
+ kstlib/cli/commands/ops/logs.py,sha256=N5PMzjoxlHUJK5cpdlrRYyKiS2Ck1bS2qksNn4g-yaw,1212
49
+ kstlib/cli/commands/ops/start.py,sha256=ERIrP4fXSQZ4j9kaSPIGHYmm9lPxI5d3QGp_ykPUutA,2774
50
+ kstlib/cli/commands/ops/status.py,sha256=83yXo-3EamyXyYkGW22tMc0CjT577SYfE8jQp2oWuCc,4158
51
+ kstlib/cli/commands/ops/stop.py,sha256=dXo0HPKqEA1quWY4tIXWB8aZzFas06tWkFL4Fy86MVA,1421
52
+ kstlib/cli/commands/rapi/__init__.py,sha256=OUbYf-C1Blt7ItIV2-G5LMo61zw_xLQaPrNB-xWwLXk,1712
53
+ kstlib/cli/commands/rapi/call.py,sha256=hMLpZ8SFinLjwFpAHnl2bGzMbLZxUiZzm5e-pR6om9s,9976
54
+ kstlib/cli/commands/rapi/list.py,sha256=w7rU9CtudAuY_7dAwDBh5pPCrk5yhjbfYfVw0kDQM7o,3014
55
+ kstlib/cli/commands/rapi/show.py,sha256=dLRq5WeG3wvoysEt8ivNp06wHep14PvQNaiAlRVJQrQ,7599
56
+ kstlib/cli/commands/secrets/__init__.py,sha256=qxmuaeAgyVexnnOx72oqNOFJNBsn-CtEuMrXSAu3_vk,760
57
+ kstlib/cli/commands/secrets/common.py,sha256=9nurm3R1BVb_-Oa3t-LcpywBYK6SGeLGR6fzqm4bl_k,12043
58
+ kstlib/cli/commands/secrets/decrypt.py,sha256=Qrkx-xHIahbr8SRk4YvD8ddWazHcy8Ur6HhNiaEmxfE,2380
59
+ kstlib/cli/commands/secrets/doctor.py,sha256=KptEKMIaBTO1sftqDSr4LzuvCZPetigOjBh3ddaMems,25987
60
+ kstlib/cli/commands/secrets/encrypt.py,sha256=jDB0Q777I1XVOU6Fb8M7Mwou2rKOV_zwVNxy5hES-ls,7821
61
+ kstlib/cli/commands/secrets/shred.py,sha256=V0ndvIib4chiHq_7YqkliQ06GI9pQfGCc7xTPtiKx-U,2732
62
+ kstlib/config/__init__.py,sha256=urn7ZmbYMgDEIbZFxFA7wrgutscIptH1BqbS17FuYWQ,1805
63
+ kstlib/config/exceptions.py,sha256=MJqo_j5_WJU1pxbNYdpOqD5VqYbdQ2a-pCKzufcUk0c,2758
64
+ kstlib/config/export.py,sha256=PlTSear4gpkYR8GEGD7_dbYtk9XlB3huRHf3PCeGVCI,7753
65
+ kstlib/config/loader.py,sha256=zgThXpvAw64knlgJpZrlOgYncZFue-_AwGoZYaZFvkE,34089
66
+ kstlib/config/sops.py,sha256=LXpm7qBHDOsohYV9F0u6PD4XqJO1J9BDLrYm9L_cbto,8501
67
+ kstlib/db/__init__.py,sha256=_SKXnTAuk0bc72idzK-Ta8LtfgdGWJgUwcrVFPj5cds,1464
68
+ kstlib/db/aiosqlcipher.py,sha256=CcR1ZS5n4dc6UMz7Jsz_WqRN9RjLM7OQqlCaAEhtigw,4485
69
+ kstlib/db/cipher.py,sha256=uW14yIqbT5SFLBylFAfmNBQFk46J6ZPBIfgSeVv8RSM,3422
70
+ kstlib/db/database.py,sha256=C7MKtivAXIwu4JlET2aPb0APYoFqtvV7sxpc7QUMazM,11430
71
+ kstlib/db/exceptions.py,sha256=VXUEzEo6iCjyswxm_qQ5NeeOITYINqj1KgQlQ6gcCxM,590
72
+ kstlib/db/pool.py,sha256=FiR9W8viKaE90expIBgqDMjn1yQd2_D_CUfNmQO39C8,10344
73
+ kstlib/helpers/__init__.py,sha256=lIp07QU9V7B1m2jT9F9i3IIXbHa2YZqXhqjIrpg-NVY,1016
74
+ kstlib/helpers/exceptions.py,sha256=NMHTJxlv5W9rGnP9QIy0ninnScOyh4Wgqu03SjPDSIQ,290
75
+ kstlib/helpers/time_trigger.py,sha256=TqPujqpbi2mGIbauurENf_vj2mu5fO8uV7zh6sx13AI,12359
76
+ kstlib/logging/__init__.py,sha256=H721XPUGFNP25ADwcl2rP_i1-1zDGflBZo-aP9ue8kY,3729
77
+ kstlib/logging/manager.py,sha256=_vWypJFIFpNMQamaGrCQq9xooJgYy__LuvyEeitZzC8,22273
78
+ kstlib/mail/__init__.py,sha256=AkRJ7izkZbuhwMHg_HarayJ1jpOgEvI1UuCPdnUJNp4,1350
79
+ kstlib/mail/builder.py,sha256=xfKXiIYFWCg05p-qbxzm1YtdS01T7Fzn__EhxEOvhPY,23877
80
+ kstlib/mail/exceptions.py,sha256=Ng4DreqHHkih7e5Abgn6JZSz-Z6pg2S_bYl1TN7IBtI,603
81
+ kstlib/mail/filesystem.py,sha256=ITKYM5XJCxCH93m6hp8XYKgquo-QHZvEpLZrRR9OjtY,9643
82
+ kstlib/mail/transport.py,sha256=bJ6EQAP0N4N8y52v7yOlTYMIFmdzCGkHl6KU6IPasFw,6914
83
+ kstlib/mail/transports/__init__.py,sha256=rm_inTm7mDCM2wh_8Je6-G5dJAg1WbhOHXZmTKNnvJ0,548
84
+ kstlib/mail/transports/gmail.py,sha256=1L0M5EyLjQOP0OqFSfNBin_YJhTD8i8DtX4Uv_kcDgQ,8757
85
+ kstlib/mail/transports/resend.py,sha256=h4iCYdcf1dgaKxi3zXjaig5O6xCNvQkK7UCbngMqC38,10731
86
+ kstlib/mail/transports/smtp.py,sha256=II0avVRO3n7xXj7Dmcc9sYcqtgJHmXoWvoAX9UvCsbc,10701
87
+ kstlib/metrics/__init__.py,sha256=S3seScCisSUxB2oMcbrAeeBlQTJjD9ZbaHadG6h0Uus,2408
88
+ kstlib/metrics/decorators.py,sha256=Ql65uv3_9_ynsju1tzo9u__iVKuYfiHjMOaGmrmJVXA,33757
89
+ kstlib/metrics/exceptions.py,sha256=e8ocPtOWYZeXvDB-lRHb9g6BZh9-oVPP8f0wN_mfWHo,358
90
+ kstlib/monitoring/__init__.py,sha256=6B8M2QiMk8W7SB1LdgcMU1Ej6or6RUwxX5PLYNa0KBA,3571
91
+ kstlib/monitoring/_styles.py,sha256=8gttNrLtq4oTNmPzgbUXH2MqhlS6nVDvfMc-eG4RoJY,5300
92
+ kstlib/monitoring/cell.py,sha256=Se4tDDQLuZ_CPYwAM58XxHx4-4u3kxOc2nvfVRvUA-c,1579
93
+ kstlib/monitoring/config.py,sha256=h1guAL5wE1y36RXFjzSjY3Cuf8UV9iwEejn0g4I4XzY,15294
94
+ kstlib/monitoring/delivery.py,sha256=1s9bjh133BwI9fBTt_v8TPYRUmlhMiZ4WytGs0n6Sew,19400
95
+ kstlib/monitoring/exceptions.py,sha256=qGbxtrv7GlCiQSGcsqvKQQ6OQpQPQmDRFSOGuYgE0Vo,1661
96
+ kstlib/monitoring/image.py,sha256=xPr9jcIwf5kHTn99YG5zI_ZLYgcb7XzcgAQtRhC06hw,7457
97
+ kstlib/monitoring/kv.py,sha256=_eXo4zNWQyRT6NsOlvXj-AsVJ1qRUYKQ6XlIKkAHGdM,2301
98
+ kstlib/monitoring/list.py,sha256=poj4igBiQfnEmI77FKva1qjyXYbNacW1DRM9EQ9vOb8,1924
99
+ kstlib/monitoring/metric.py,sha256=3-VxsyfsNFbkW18-btAzk2EEaFMaF3pzZ2dBGL8qyq4,2802
100
+ kstlib/monitoring/monitoring.py,sha256=mJvVXOX6_9wAesjNnR4-RvW7Zc7XCPOhW1e4R7rQZyE,11342
101
+ kstlib/monitoring/renderer.py,sha256=Y0LfMawZ9qOvJBDJV5dQ2oyazRp28NsE4j43qkNBpP4,4617
102
+ kstlib/monitoring/service.py,sha256=zPaNFbTa93bnYim3htBkRRv_wxu4dPn_fYR-TjPDpJo,13086
103
+ kstlib/monitoring/table.py,sha256=oGrfK51C2Uzbbheyyp1RiysZzjgvku3qzbJeMypVvJ0,4294
104
+ kstlib/monitoring/types.py,sha256=_SNTb2Ih6zQf0Ke24NEB55p_-ZhPav9gXT9XRPlFNWQ,1521
105
+ kstlib/ops/__init__.py,sha256=dEuMViw16NWK0YiQDFCp_sx9R-rMLggJgygETNklvtQ,2440
106
+ kstlib/ops/base.py,sha256=lWTeN2FYwE5UmGcCVWvQn5k1ReGOS4Zd0uhXyunXlYw,4388
107
+ kstlib/ops/container.py,sha256=no4xcktv44Jmu_nVozHn7Q8aIMeiLMIxgT4IelqDUNc,17438
108
+ kstlib/ops/exceptions.py,sha256=LvhZREIxShbegg30IPsYKadtYEZKs-TrloD6hQZ7qGM,6298
109
+ kstlib/ops/manager.py,sha256=mcGCUOP8BZ_kZobn4YJcu1ZgEOMG2AKn12NJLgFanFE,12933
110
+ kstlib/ops/models.py,sha256=PTBhPSxBdzK-gRGQznwj5i-mg2gNBhXbV6Ojgc31t-w,5317
111
+ kstlib/ops/tmux.py,sha256=9WxCcKYmkmYMehEazTz4oWmlU7TDzfT3VVPTKQ9L1_0,11175
112
+ kstlib/ops/validators.py,sha256=CfkEdv5pxg5vYESz2XG5ghU9wcuUW0yWD8V8xb5gYw0,8072
113
+ kstlib/rapi/__init__.py,sha256=To_PLcyuTeATI8J_7z56CXjZGfxPZ80l5ux1tQu3h68,3236
114
+ kstlib/rapi/client.py,sha256=b1Kvyf2RbQerp43N-WRgTVMiRQ6qFQzPQ86yuPXAM8o,29427
115
+ kstlib/rapi/config.py,sha256=TsjcydfTNMwsyBn0vRuitMKGLamvy99hVUhQTsFB7OA,28870
116
+ kstlib/rapi/credentials.py,sha256=Q8zGwhx1JLdJFSU8XoKKwch8i_rB6n4Xb87VUruv9c0,31502
117
+ kstlib/rapi/exceptions.py,sha256=eK7t93uyjDkmoM2mpCz8F3SQ4NyC9KtU99dNQI23PDg,6528
118
+ kstlib/resilience/__init__.py,sha256=5u8anwYCOD2bvyCPT3RQkZBuSZKzzu3p-ljpx8__4NI,3167
119
+ kstlib/resilience/circuit_breaker.py,sha256=MiliIvNUiqH7DcXjWLs6lIDTh-jOfnBnNt5EWxmV5EI,13781
120
+ kstlib/resilience/exceptions.py,sha256=5UNyEHR-TEP66jB2RyqsYjPyisyL_FKjiGCBQziNShw,2556
121
+ kstlib/resilience/heartbeat.py,sha256=3nQ98FXGX35QMUQ2AB5zzHg9K7rSh4_jVvmIFJA3XZc,16944
122
+ kstlib/resilience/rate_limiter.py,sha256=vZFlJkzGUv5_Aku3NvM4_EkYLVmQ-P7DsxtulZ4oz7Q,15559
123
+ kstlib/resilience/shutdown.py,sha256=quMgRITUwG0JgcslAeQ9dSDGCYPbaCcIWFEgLlsVsuc,14078
124
+ kstlib/resilience/watchdog.py,sha256=PWRbmed3iOfB1zeLcxCK-DUjZnxXVCy2P2m6cKJZZh8,20105
125
+ kstlib/secrets/__init__.py,sha256=o3qS7Yy7tuUgqFXE7TNxk1_2B4RpSYelOeXP7nPLtfM,848
126
+ kstlib/secrets/exceptions.py,sha256=-7qMYJnCAY910CcW3635Tnv_pJjfC6ZyuG6VXPODt9E,446
127
+ kstlib/secrets/models.py,sha256=R34CQBcSv2uIRWL3KL2RgChFYr_bHZ6nBKP3pv1YacQ,1726
128
+ kstlib/secrets/resolver.py,sha256=b-8WSHHNegJcpo68ADLRhivKQDu1WmZJib_KCEDoTLk,8506
129
+ kstlib/secrets/sensitive.py,sha256=QG2pQNF4ZsT-Lg7BzbZaxVU_DXIp-_tngn2H-dSMszA,4371
130
+ kstlib/secrets/providers/__init__.py,sha256=3fQlicTqNGTtnQF9C4CmESoftHbi8dYuL8PvHP1-ZkY,2674
131
+ kstlib/secrets/providers/base.py,sha256=3MKQc5RuU0QWAmk0Qi8ZoE2fIFoc-XcP1khks7w4ON8,1860
132
+ kstlib/secrets/providers/environment.py,sha256=oFSH9Dcs3g2H--cOvOCSE54XocC_YNp9WsBLrGsBP8o,2301
133
+ kstlib/secrets/providers/keyring.py,sha256=tLVPMov3_o0RD8uJofRssIB7rE2-DlcxvD0XFILUvmw,3678
134
+ kstlib/secrets/providers/kms.py,sha256=SyqCCLrnTpwnvmeTXcodBvzrF1oD1wv2kttTtO6kw1A,8507
135
+ kstlib/secrets/providers/kwargs.py,sha256=LggLthqyFNLK-Yr9PJEUI9ct1y70ioW_iMeZci5znEs,3128
136
+ kstlib/secrets/providers/sops.py,sha256=6LXripZX6DGlURJoU056Aa2bpvEiJUgOwoysWtczakg,7627
137
+ kstlib/secure/__init__.py,sha256=XicMoN02Mk61wPMsqyOPovNMIT0ilw4-FPqFv2XCrXU,602
138
+ kstlib/secure/fs.py,sha256=Rx4EaaDskxIMQjv9hyYyxae0Z7_5ZheFfw9fnchkFZU,7438
139
+ kstlib/secure/permissions.py,sha256=Z9i87kSCCUUa3tDa3XwygS2ti4P6ePTjZ44SwqyxKRk,2325
140
+ kstlib/ui/__init__.py,sha256=3jVaBXliHlXvPrNT-afOVmZuquZ9pRmOAKAcaIgoMUs,538
141
+ kstlib/ui/exceptions.py,sha256=J2MAn0LVWCgMmHuejQlgtq9NfcZ-a011s5u2qVONzyg,681
142
+ kstlib/ui/panels.py,sha256=SWDOq9UbDY94djMoqFOlXNtZU4nO2CwYEKu8ngsNq08,17214
143
+ kstlib/ui/spinner.py,sha256=S4G7bWsUAUE3ONqz8kMmEdaKkG8plw8CiWqIkXsTj7s,29816
144
+ kstlib/ui/tables.py,sha256=UBtAUG7N9hOQpu1DXq1pPVl-P59BokJu9H8a9cF6iHQ,13517
145
+ kstlib/utils/__init__.py,sha256=YzXxwefbZODfAaV3QoE3WYdXMyj7ceNq-o3McgwYxAA,1206
146
+ kstlib/utils/dict.py,sha256=G8zc01qOqZ1bTfdTdnJn0WPXWw7d9MawqF9dH-GVf8c,1044
147
+ kstlib/utils/formatting.py,sha256=uJ0vp6bK43ONo_nDEzcqXfQr6njuborpAE9aqIcjyps,9554
148
+ kstlib/utils/http_trace.py,sha256=zONIUoKmE85LI9I6tfZEEfOOtgBt2bS7MZpy-ODO-QU,7675
149
+ kstlib/utils/lazy.py,sha256=t-u_C8sCT_6WwzsyVOWZUB84i-QaDwmSQrHRPcBWO2s,1553
150
+ kstlib/utils/secure_delete.py,sha256=ynrDmgFLMFFfrFN_B6JHvwp0a1lNAvP9wYda0yGCDC0,6725
151
+ kstlib/utils/serialization.py,sha256=tq7X8zdNdx5BwpPWlkZc-iWi0l4W61jEY2S8fq2pgAo,6797
152
+ kstlib/utils/text.py,sha256=b_RSVJu4jcCpdDddM_KcVZIT1np2S698vAm8g_TBlCk,1742
153
+ kstlib/utils/validators.py,sha256=IvpS5P2S7lOohVD1kGk7XI0TYEm9WO6KNMYgBQ_eYmA,3908
154
+ kstlib/websocket/__init__.py,sha256=yNpCeg3S0NA61WEOIaVW2-DeFFdPyNhFpV4Xi7ZEUT4,3248
155
+ kstlib/websocket/exceptions.py,sha256=Mku-3SoaadbRwQZLR7Rx5J4VVrp8wwJjKnCWOOxse3s,5957
156
+ kstlib/websocket/manager.py,sha256=rxiQ1N-H9PVWl9WEr_24QxeIHu9j8REL4GH31QrmTSg,42587
157
+ kstlib/websocket/models.py,sha256=-Ooe2oZJLH9wAW9_yZyUE1mreaguQZK3c4Y_Zt8MOgM,10986
158
+ kstlib-1.0.0.dist-info/licenses/LICENSE.md,sha256=y9Wv0ooml-DVaNOLi2BKvWJyklSACRKnLGOYXhnrdiQ,1077
159
+ kstlib-1.0.0.dist-info/METADATA,sha256=iXE-kneNFM9Rx1x056f5prToYwMo13xEtq7lvB2a3Sw,7332
160
+ kstlib-1.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
161
+ kstlib-1.0.0.dist-info/entry_points.txt,sha256=mqwbGFeHB_sJYnZMTpx-_64FPW6apGcfeK8VvObs5jM,48
162
+ kstlib-1.0.0.dist-info/top_level.txt,sha256=tgPJhgVk1CqZM_mx4fmT0_GUKmnLpJuntTo5GMs7EOs,7
163
+ kstlib-1.0.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ kstlib = kstlib.__main__:main
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright © • 2025 • Michel TRUONG
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,29 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: kstlib
3
- Version: 0.0.1a0
4
- Summary: Reserved name for future release of kstlib
5
- Author-email: Michel TRUONG <michel.truong@gmail.com>
6
- License: MIT License
7
-
8
- Copyright (c) 2025 Michel TRUONG
9
-
10
- Permission is hereby granted, free of charge, to any person obtaining a copy...
11
-
12
- Keywords: kstlib,placeholder,reserved
13
- Classifier: Development Status :: 1 - Planning
14
- Classifier: Intended Audience :: Developers
15
- Classifier: License :: OSI Approved :: MIT License
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.11
18
- Description-Content-Type: text/markdown
19
- License-File: LICENSE.md
20
- Dynamic: license-file
21
-
22
- # kstlib
23
-
24
- ⚠ **This is a placeholder release to reserve the project name on PyPI.**
25
-
26
- The real project is under development and will be released soon.
27
- Please do not install or use this version.
28
-
29
- Stay tuned ✨
@@ -1,6 +0,0 @@
1
- kstlib/__init__.py,sha256=LIlO0tEIeh6Obo4UnFGeXilPGMY6KKubzMST4VUyaUc,25
2
- kstlib-0.0.1a0.dist-info/licenses/LICENSE.md,sha256=pyJ2iPU5-GFq3_LcrG1mDyuH1_kNIbqbHhve1al3cSw,132
3
- kstlib-0.0.1a0.dist-info/METADATA,sha256=_eH5aGu9ktBdQ6k1nWAMD2dnu9E8mog0fuGCJmQCYiw,943
4
- kstlib-0.0.1a0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
5
- kstlib-0.0.1a0.dist-info/top_level.txt,sha256=tgPJhgVk1CqZM_mx4fmT0_GUKmnLpJuntTo5GMs7EOs,7
6
- kstlib-0.0.1a0.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Michel TRUONG
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy...