ominfra 0.0.0.dev226__tar.gz → 0.0.0.dev227__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 (170) hide show
  1. {ominfra-0.0.0.dev226/ominfra.egg-info → ominfra-0.0.0.dev227}/PKG-INFO +3 -3
  2. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/journald2aws/driver.py +1 -1
  3. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/scripts/journald2aws.py +32 -12
  4. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227/ominfra.egg-info}/PKG-INFO +3 -3
  5. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra.egg-info/requires.txt +2 -2
  6. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/pyproject.toml +3 -3
  7. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/LICENSE +0 -0
  8. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/MANIFEST.in +0 -0
  9. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/README.rst +0 -0
  10. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/.manifests.json +0 -0
  11. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/__about__.py +0 -0
  12. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/__init__.py +0 -0
  13. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/__init__.py +0 -0
  14. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/__init__.py +0 -0
  15. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/__main__.py +0 -0
  16. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/auth.py +0 -0
  17. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/cli.py +0 -0
  18. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/dataclasses.py +0 -0
  19. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
  20. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
  21. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
  22. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
  23. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
  24. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
  25. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
  26. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
  27. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/journald2aws/main.py +0 -0
  28. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
  29. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/logs.py +0 -0
  30. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/metadata.py +0 -0
  31. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/__init__.py +0 -0
  32. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/base.py +0 -0
  33. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
  34. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
  35. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/gen/cli.py +0 -0
  36. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/gen/gen.py +0 -0
  37. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/services/__init__.py +0 -0
  38. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/services/ec2.py +0 -0
  39. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
  40. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/services/rds.py +0 -0
  41. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/services/s3.py +0 -0
  42. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/aws/models/services/services.toml +0 -0
  43. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/gcp/__init__.py +0 -0
  44. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/gcp/api.py +0 -0
  45. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/clouds/gcp/auth.py +0 -0
  46. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/commands/__init__.py +0 -0
  47. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/commands/runners.py +0 -0
  48. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/commands/ssh.py +0 -0
  49. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/journald/__init__.py +0 -0
  50. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/journald/fields.py +0 -0
  51. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/journald/genmessages.py +0 -0
  52. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/journald/messages.py +0 -0
  53. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/journald/tailer.py +0 -0
  54. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/__init__.py +0 -0
  55. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/__main__.py +0 -0
  56. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/bootstrap.py +0 -0
  57. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/bootstrap_.py +0 -0
  58. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/__init__.py +0 -0
  59. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/base.py +0 -0
  60. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/inject.py +0 -0
  61. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/injection.py +0 -0
  62. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/local.py +0 -0
  63. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/marshal.py +0 -0
  64. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/ping.py +0 -0
  65. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/subprocess.py +0 -0
  66. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/commands/types.py +0 -0
  67. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/config.py +0 -0
  68. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/__init__.py +0 -0
  69. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/apps.py +0 -0
  70. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/commands.py +0 -0
  71. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/conf/__init__.py +0 -0
  72. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/conf/inject.py +0 -0
  73. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/conf/manager.py +0 -0
  74. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/conf/specs.py +0 -0
  75. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/config.py +0 -0
  76. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/deploy.py +0 -0
  77. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/git.py +0 -0
  78. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/inject.py +0 -0
  79. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/injection.py +0 -0
  80. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/interp.py +0 -0
  81. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/nginx.py +0 -0
  82. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/paths/__init__.py +0 -0
  83. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/paths/inject.py +0 -0
  84. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/paths/manager.py +0 -0
  85. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/paths/owners.py +0 -0
  86. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/paths/paths.py +0 -0
  87. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/paths/specs.py +0 -0
  88. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/paths/types.py +0 -0
  89. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/specs.py +0 -0
  90. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/systemd.py +0 -0
  91. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/tags.py +0 -0
  92. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/tmp.py +0 -0
  93. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/types.py +0 -0
  94. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/deploy/venvs.py +0 -0
  95. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/inject.py +0 -0
  96. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/main.py +0 -0
  97. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/marshal.py +0 -0
  98. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/__init__.py +0 -0
  99. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/_main.py +0 -0
  100. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/channel.py +0 -0
  101. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/config.py +0 -0
  102. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/connection.py +0 -0
  103. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/execution.py +0 -0
  104. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/inject.py +0 -0
  105. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/payload.py +0 -0
  106. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/remote/spawning.py +0 -0
  107. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/system/__init__.py +0 -0
  108. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/system/commands.py +0 -0
  109. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/system/config.py +0 -0
  110. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/system/inject.py +0 -0
  111. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/system/packages.py +0 -0
  112. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/system/platforms.py +0 -0
  113. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/targets/__init__.py +0 -0
  114. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/targets/bestpython.py +0 -0
  115. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/targets/bestpython.sh +0 -0
  116. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/targets/connection.py +0 -0
  117. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/targets/inject.py +0 -0
  118. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/manage/targets/targets.py +0 -0
  119. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/pyremote.py +0 -0
  120. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/scripts/__init__.py +0 -0
  121. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/scripts/manage.py +0 -0
  122. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/scripts/supervisor.py +0 -0
  123. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/LICENSE.txt +0 -0
  124. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/__init__.py +0 -0
  125. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/__main__.py +0 -0
  126. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/configs.py +0 -0
  127. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/dispatchers.py +0 -0
  128. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/dispatchersimpl.py +0 -0
  129. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/events.py +0 -0
  130. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/exceptions.py +0 -0
  131. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/groups.py +0 -0
  132. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/groupsimpl.py +0 -0
  133. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/http.py +0 -0
  134. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/inject.py +0 -0
  135. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/io.py +0 -0
  136. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/main.py +0 -0
  137. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/pipes.py +0 -0
  138. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/privileges.py +0 -0
  139. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/process.py +0 -0
  140. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/processimpl.py +0 -0
  141. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/setup.py +0 -0
  142. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/setupimpl.py +0 -0
  143. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/signals.py +0 -0
  144. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/spawning.py +0 -0
  145. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/spawningimpl.py +0 -0
  146. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/states.py +0 -0
  147. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/supervisor.py +0 -0
  148. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/types.py +0 -0
  149. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/__init__.py +0 -0
  150. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/collections.py +0 -0
  151. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/diag.py +0 -0
  152. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/fds.py +0 -0
  153. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/fs.py +0 -0
  154. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/os.py +0 -0
  155. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/ostypes.py +0 -0
  156. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/signals.py +0 -0
  157. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/strings.py +0 -0
  158. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/supervisor/utils/users.py +0 -0
  159. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/systemd.py +0 -0
  160. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/tailscale/__init__.py +0 -0
  161. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/tailscale/api.py +0 -0
  162. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/tailscale/cli.py +0 -0
  163. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/threadworkers.py +0 -0
  164. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/tools/__init__.py +0 -0
  165. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra/tools/listresources.py +0 -0
  166. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra.egg-info/SOURCES.txt +0 -0
  167. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra.egg-info/dependency_links.txt +0 -0
  168. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra.egg-info/entry_points.txt +0 -0
  169. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/ominfra.egg-info/top_level.txt +0 -0
  170. {ominfra-0.0.0.dev226 → ominfra-0.0.0.dev227}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ominfra
3
- Version: 0.0.0.dev226
3
+ Version: 0.0.0.dev227
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omdev==0.0.0.dev226
16
- Requires-Dist: omlish==0.0.0.dev226
15
+ Requires-Dist: omdev==0.0.0.dev227
16
+ Requires-Dist: omlish==0.0.0.dev227
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -107,7 +107,7 @@ class JournalctlToAwsDriver(ExitStacked):
107
107
 
108
108
  def _ensure_locked(self) -> None:
109
109
  if (pf := self._pidfile()) is not None:
110
- pf.ensure_locked()
110
+ pf.acquire_lock()
111
111
 
112
112
  #
113
113
 
@@ -2048,7 +2048,7 @@ class Pidfile:
2048
2048
  del self._f
2049
2049
  return True
2050
2050
 
2051
- def try_lock(self) -> bool:
2051
+ def try_acquire_lock(self) -> bool:
2052
2052
  try:
2053
2053
  fcntl.flock(self._f, fcntl.LOCK_EX | fcntl.LOCK_NB)
2054
2054
  return True
@@ -2056,14 +2056,29 @@ class Pidfile:
2056
2056
  except OSError:
2057
2057
  return False
2058
2058
 
2059
- def ensure_locked(self) -> None:
2060
- if not self.try_lock():
2061
- raise RuntimeError('Could not get lock')
2059
+ #
2060
+
2061
+ class Error(Exception):
2062
+ pass
2063
+
2064
+ class LockedError(Error):
2065
+ pass
2066
+
2067
+ def acquire_lock(self) -> None:
2068
+ if not self.try_acquire_lock():
2069
+ raise self.LockedError
2070
+
2071
+ class NotLockedError(Error):
2072
+ pass
2073
+
2074
+ def ensure_cannot_lock(self) -> None:
2075
+ if self.try_acquire_lock():
2076
+ raise self.NotLockedError
2062
2077
 
2063
2078
  #
2064
2079
 
2065
2080
  def write(self, pid: ta.Optional[int] = None) -> None:
2066
- self.ensure_locked()
2081
+ self.acquire_lock()
2067
2082
 
2068
2083
  if pid is None:
2069
2084
  pid = os.getpid()
@@ -2074,20 +2089,25 @@ class Pidfile:
2074
2089
  self._f.flush()
2075
2090
 
2076
2091
  def clear(self) -> None:
2077
- self.ensure_locked()
2092
+ self.acquire_lock()
2078
2093
 
2079
2094
  self._f.seek(0)
2080
2095
  self._f.truncate()
2081
2096
 
2082
- def read(self) -> int:
2083
- if self.try_lock():
2084
- raise RuntimeError('Got lock')
2097
+ #
2098
+
2099
+ def read(self) -> ta.Optional[int]:
2100
+ self.ensure_cannot_lock()
2085
2101
 
2086
2102
  self._f.seek(0)
2087
- return int(self._f.read())
2103
+ buf = self._f.read()
2104
+ if not buf:
2105
+ return None
2106
+ return int(buf)
2088
2107
 
2089
2108
  def kill(self, sig: int = signal.SIGTERM) -> None:
2090
- pid = self.read()
2109
+ if (pid := self.read()) is None:
2110
+ raise self.Error(f'Pidfile locked but empty')
2091
2111
  os.kill(pid, sig)
2092
2112
 
2093
2113
 
@@ -5044,7 +5064,7 @@ class JournalctlToAwsDriver(ExitStacked):
5044
5064
 
5045
5065
  def _ensure_locked(self) -> None:
5046
5066
  if (pf := self._pidfile()) is not None:
5047
- pf.ensure_locked()
5067
+ pf.acquire_lock()
5048
5068
 
5049
5069
  #
5050
5070
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ominfra
3
- Version: 0.0.0.dev226
3
+ Version: 0.0.0.dev227
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omdev==0.0.0.dev226
16
- Requires-Dist: omlish==0.0.0.dev226
15
+ Requires-Dist: omdev==0.0.0.dev227
16
+ Requires-Dist: omlish==0.0.0.dev227
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -1,5 +1,5 @@
1
- omdev==0.0.0.dev226
2
- omlish==0.0.0.dev226
1
+ omdev==0.0.0.dev227
2
+ omlish==0.0.0.dev227
3
3
 
4
4
  [all]
5
5
  paramiko~=3.5
@@ -12,7 +12,7 @@ authors = [
12
12
  urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = {text = 'BSD-3-Clause'}
14
14
  requires-python = '>=3.12'
15
- version = '0.0.0.dev226'
15
+ version = '0.0.0.dev227'
16
16
  classifiers = [
17
17
  'License :: OSI Approved :: BSD License',
18
18
  'Development Status :: 2 - Pre-Alpha',
@@ -22,8 +22,8 @@ classifiers = [
22
22
  ]
23
23
  description = 'ominfra'
24
24
  dependencies = [
25
- 'omdev == 0.0.0.dev226',
26
- 'omlish == 0.0.0.dev226',
25
+ 'omdev == 0.0.0.dev227',
26
+ 'omlish == 0.0.0.dev227',
27
27
  ]
28
28
 
29
29
  [project.optional-dependencies]
File without changes
File without changes