ominfra 0.0.0.dev419__tar.gz → 0.0.0.dev420__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.dev419/ominfra.egg-info → ominfra-0.0.0.dev420}/PKG-INFO +3 -3
  2. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/scripts/manage.py +36 -38
  3. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420/ominfra.egg-info}/PKG-INFO +3 -3
  4. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra.egg-info/requires.txt +2 -2
  5. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/pyproject.toml +3 -3
  6. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/LICENSE +0 -0
  7. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/MANIFEST.in +0 -0
  8. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/README.md +0 -0
  9. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/.manifests.json +0 -0
  10. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/__about__.py +0 -0
  11. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/__init__.py +0 -0
  12. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/__init__.py +0 -0
  13. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/__init__.py +0 -0
  14. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/__main__.py +0 -0
  15. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/auth.py +0 -0
  16. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/cli.py +0 -0
  17. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/dataclasses.py +0 -0
  18. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
  19. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
  20. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
  21. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
  22. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
  23. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
  24. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
  25. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
  26. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
  27. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/journald2aws/main.py +0 -0
  28. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
  29. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/logs.py +0 -0
  30. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/metadata.py +0 -0
  31. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/__init__.py +0 -0
  32. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/base.py +0 -0
  33. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
  34. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
  35. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/gen/cli.py +0 -0
  36. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/gen/gen.py +0 -0
  37. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/services/__init__.py +0 -0
  38. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/services/ec2.py +0 -0
  39. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
  40. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/services/rds.py +0 -0
  41. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/services/s3.py +0 -0
  42. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/aws/models/services/services.toml +0 -0
  43. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/gcp/__init__.py +0 -0
  44. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/gcp/api.py +0 -0
  45. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/clouds/gcp/auth.py +0 -0
  46. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/commands/__init__.py +0 -0
  47. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/commands/runners.py +0 -0
  48. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/commands/ssh.py +0 -0
  49. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/journald/__init__.py +0 -0
  50. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/journald/fields.py +0 -0
  51. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/journald/genmessages.py +0 -0
  52. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/journald/messages.py +0 -0
  53. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/journald/tailer.py +0 -0
  54. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/__init__.py +0 -0
  55. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/__main__.py +0 -0
  56. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/bootstrap.py +0 -0
  57. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/bootstrap_.py +0 -0
  58. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/__init__.py +0 -0
  59. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/base.py +0 -0
  60. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/inject.py +0 -0
  61. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/injection.py +0 -0
  62. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/local.py +0 -0
  63. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/marshal.py +0 -0
  64. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/ping.py +0 -0
  65. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/subprocess.py +0 -0
  66. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/commands/types.py +0 -0
  67. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/config.py +0 -0
  68. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/__init__.py +0 -0
  69. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/apps.py +0 -0
  70. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/commands.py +0 -0
  71. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/conf/__init__.py +0 -0
  72. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/conf/inject.py +0 -0
  73. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/conf/manager.py +0 -0
  74. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/conf/specs.py +0 -0
  75. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/config.py +0 -0
  76. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/deploy.py +0 -0
  77. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/git.py +0 -0
  78. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/inject.py +0 -0
  79. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/injection.py +0 -0
  80. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/interp.py +0 -0
  81. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/nginx.py +0 -0
  82. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/paths/__init__.py +0 -0
  83. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/paths/inject.py +0 -0
  84. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/paths/manager.py +0 -0
  85. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/paths/owners.py +0 -0
  86. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/paths/paths.py +0 -0
  87. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/paths/specs.py +0 -0
  88. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/paths/types.py +0 -0
  89. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/specs.py +0 -0
  90. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/systemd.py +0 -0
  91. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/tags.py +0 -0
  92. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/tmp.py +0 -0
  93. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/types.py +0 -0
  94. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/deploy/venvs.py +0 -0
  95. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/inject.py +0 -0
  96. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/main.py +0 -0
  97. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/marshal.py +0 -0
  98. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/__init__.py +0 -0
  99. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/_main.py +0 -0
  100. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/channel.py +0 -0
  101. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/config.py +0 -0
  102. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/connection.py +0 -0
  103. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/execution.py +0 -0
  104. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/inject.py +0 -0
  105. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/payload.py +0 -0
  106. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/remote/spawning.py +0 -0
  107. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/system/__init__.py +0 -0
  108. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/system/commands.py +0 -0
  109. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/system/config.py +0 -0
  110. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/system/inject.py +0 -0
  111. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/system/packages.py +0 -0
  112. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/system/platforms.py +0 -0
  113. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/targets/__init__.py +0 -0
  114. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/targets/bestpython.py +0 -0
  115. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/targets/bestpython.sh +0 -0
  116. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/targets/connection.py +0 -0
  117. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/targets/inject.py +0 -0
  118. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/manage/targets/targets.py +0 -0
  119. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/pyremote.py +0 -0
  120. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/scripts/__init__.py +0 -0
  121. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/scripts/journald2aws.py +0 -0
  122. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/scripts/supervisor.py +0 -0
  123. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/LICENSE.txt +0 -0
  124. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/__init__.py +0 -0
  125. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/__main__.py +0 -0
  126. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/configs.py +0 -0
  127. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/dispatchers.py +0 -0
  128. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/dispatchersimpl.py +0 -0
  129. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/errors.py +0 -0
  130. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/events.py +0 -0
  131. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/groups.py +0 -0
  132. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/groupsimpl.py +0 -0
  133. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/http.py +0 -0
  134. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/inject.py +0 -0
  135. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/io.py +0 -0
  136. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/main.py +0 -0
  137. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/pipes.py +0 -0
  138. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/privileges.py +0 -0
  139. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/process.py +0 -0
  140. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/processimpl.py +0 -0
  141. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/setup.py +0 -0
  142. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/setupimpl.py +0 -0
  143. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/signals.py +0 -0
  144. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/spawning.py +0 -0
  145. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/spawningimpl.py +0 -0
  146. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/states.py +0 -0
  147. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/supervisor.py +0 -0
  148. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/types.py +0 -0
  149. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/__init__.py +0 -0
  150. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/collections.py +0 -0
  151. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/diag.py +0 -0
  152. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/fds.py +0 -0
  153. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/fs.py +0 -0
  154. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/os.py +0 -0
  155. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/ostypes.py +0 -0
  156. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/signals.py +0 -0
  157. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/strings.py +0 -0
  158. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/supervisor/utils/users.py +0 -0
  159. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/systemd.py +0 -0
  160. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/tailscale/__init__.py +0 -0
  161. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/tailscale/api.py +0 -0
  162. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/tailscale/cli.py +0 -0
  163. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/threadworkers.py +0 -0
  164. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/tools/__init__.py +0 -0
  165. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra/tools/listresources.py +0 -0
  166. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra.egg-info/SOURCES.txt +0 -0
  167. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra.egg-info/dependency_links.txt +0 -0
  168. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra.egg-info/entry_points.txt +0 -0
  169. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/ominfra.egg-info/top_level.txt +0 -0
  170. {ominfra-0.0.0.dev419 → ominfra-0.0.0.dev420}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ominfra
3
- Version: 0.0.0.dev419
3
+ Version: 0.0.0.dev420
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,8 +14,8 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omdev==0.0.0.dev419
18
- Requires-Dist: omlish==0.0.0.dev419
17
+ Requires-Dist: omdev==0.0.0.dev420
18
+ Requires-Dist: omlish==0.0.0.dev420
19
19
  Provides-Extra: all
20
20
  Requires-Dist: paramiko~=4.0; extra == "all"
21
21
  Requires-Dist: asyncssh~=2.21; extra == "all"
@@ -4833,7 +4833,7 @@ def get_cache_dir() -> str:
4833
4833
  # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This file is dual licensed under the terms of the
4834
4834
  # Apache License, Version 2.0, and the BSD License. See the LICENSE file in the root of this repository for complete
4835
4835
  # details.
4836
- # https://github.com/pypa/packaging/blob/2c885fe91a54559e2382902dce28428ad2887be5/src/packaging/specifiers.py
4836
+ # https://github.com/pypa/packaging/blob/48125006684bb2d7d28c50af48a03176da45942d/src/packaging/specifiers.py
4837
4837
 
4838
4838
 
4839
4839
  ##
@@ -4981,7 +4981,7 @@ class Specifier(BaseSpecifier):
4981
4981
  ) -> None:
4982
4982
  match = self._regex.search(spec)
4983
4983
  if not match:
4984
- raise InvalidSpecifier(f"Invalid specifier: '{spec}'")
4984
+ raise InvalidSpecifier(f'Invalid specifier: {spec!r}')
4985
4985
 
4986
4986
  self._spec: ta.Tuple[str, str] = (
4987
4987
  match.group('operator').strip(),
@@ -4996,7 +4996,7 @@ class Specifier(BaseSpecifier):
4996
4996
  return self._prereleases
4997
4997
 
4998
4998
  operator, version = self._spec
4999
- if operator in ['==', '>=', '<=', '~=', '===']:
4999
+ if operator in ['==', '>=', '<=', '~=', '===', '>', '<']:
5000
5000
  if operator == '==' and version.endswith('.*'):
5001
5001
  version = version[:-2]
5002
5002
 
@@ -5122,40 +5122,38 @@ class Specifier(BaseSpecifier):
5122
5122
  return self.contains(item)
5123
5123
 
5124
5124
  def contains(self, item: UnparsedVersion, prereleases: ta.Optional[bool] = None) -> bool:
5125
- if prereleases is None:
5126
- prereleases = self.prereleases
5127
-
5128
- normalized_item = _coerce_version(item)
5129
-
5130
- if normalized_item.is_prerelease and not prereleases:
5131
- return False
5132
-
5133
- operator_callable: CallableVersionOperator = self._get_operator(self.operator)
5134
- return operator_callable(normalized_item, self.version)
5125
+ return bool(list(self.filter([item], prereleases=prereleases)))
5135
5126
 
5136
5127
  def filter(
5137
5128
  self,
5138
5129
  iterable: ta.Iterable[UnparsedVersionVar],
5139
5130
  prereleases: ta.Optional[bool] = None,
5140
5131
  ) -> ta.Iterator[UnparsedVersionVar]:
5141
- yielded = False
5142
- found_prereleases = []
5132
+ prereleases_versions = []
5133
+ found_non_prereleases = False
5143
5134
 
5144
- kw = {'prereleases': prereleases if prereleases is not None else True}
5135
+ include_prereleases = (
5136
+ prereleases if prereleases is not None else self.prereleases
5137
+ )
5138
+
5139
+ operator_callable = self._get_operator(self.operator)
5145
5140
 
5146
5141
  for version in iterable:
5147
5142
  parsed_version = _coerce_version(version)
5148
5143
 
5149
- if self.contains(parsed_version, **kw):
5150
- if parsed_version.is_prerelease and not (prereleases or self.prereleases):
5151
- found_prereleases.append(version)
5152
- else:
5153
- yielded = True
5144
+ if operator_callable(parsed_version, self.version):
5145
+ if not parsed_version.is_prerelease or include_prereleases:
5146
+ found_non_prereleases = True
5154
5147
  yield version
5148
+ elif prereleases is None and self._prereleases is not False:
5149
+ prereleases_versions.append(version)
5155
5150
 
5156
- if not yielded and found_prereleases:
5157
- for version in found_prereleases:
5158
- yield version
5151
+ if (
5152
+ not found_non_prereleases and
5153
+ prereleases is None and
5154
+ self._prereleases is not False
5155
+ ):
5156
+ yield from prereleases_versions
5159
5157
 
5160
5158
 
5161
5159
  _version_prefix_regex = re.compile(r'^([0-9]+)((?:a|b|c|rc)[0-9]+)$')
@@ -5206,12 +5204,15 @@ def _pad_version(left: ta.List[str], right: ta.List[str]) -> ta.Tuple[ta.List[st
5206
5204
  class SpecifierSet(BaseSpecifier):
5207
5205
  def __init__(
5208
5206
  self,
5209
- specifiers: str = '',
5207
+ specifiers: ta.Union[str, ta.Iterable['Specifier']] = '',
5210
5208
  prereleases: ta.Optional[bool] = None,
5211
5209
  ) -> None:
5212
- split_specifiers = [s.strip() for s in specifiers.split(',') if s.strip()]
5210
+ if isinstance(specifiers, str):
5211
+ split_specifiers = [s.strip() for s in specifiers.split(',') if s.strip()]
5212
+ self._specs = frozenset(map(Specifier, split_specifiers))
5213
+ else:
5214
+ self._specs = frozenset(specifiers)
5213
5215
 
5214
- self._specs = frozenset(map(Specifier, split_specifiers))
5215
5216
  self._prereleases = prereleases
5216
5217
 
5217
5218
  @property
@@ -5222,7 +5223,10 @@ class SpecifierSet(BaseSpecifier):
5222
5223
  if not self._specs:
5223
5224
  return None
5224
5225
 
5225
- return any(s.prereleases for s in self._specs)
5226
+ if any(s.prereleases for s in self._specs):
5227
+ return True
5228
+
5229
+ return None
5226
5230
 
5227
5231
  @prereleases.setter
5228
5232
  def prereleases(self, value: bool) -> None:
@@ -5289,28 +5293,22 @@ class SpecifierSet(BaseSpecifier):
5289
5293
  if not isinstance(item, Version):
5290
5294
  item = Version(item)
5291
5295
 
5292
- if prereleases is None:
5293
- prereleases = self.prereleases
5294
-
5295
- if not prereleases and item.is_prerelease:
5296
- return False
5297
-
5298
5296
  if installed and item.is_prerelease:
5299
- item = Version(item.base_version)
5297
+ prereleases = True
5300
5298
 
5301
- return all(s.contains(item, prereleases=prereleases) for s in self._specs)
5299
+ return bool(list(self.filter([item], prereleases=prereleases)))
5302
5300
 
5303
5301
  def filter(
5304
5302
  self,
5305
5303
  iterable: ta.Iterable[UnparsedVersionVar],
5306
5304
  prereleases: ta.Optional[bool] = None,
5307
5305
  ) -> ta.Iterator[UnparsedVersionVar]:
5308
- if prereleases is None:
5306
+ if prereleases is None and self.prereleases is not None:
5309
5307
  prereleases = self.prereleases
5310
5308
 
5311
5309
  if self._specs:
5312
5310
  for spec in self._specs:
5313
- iterable = spec.filter(iterable, prereleases=bool(prereleases))
5311
+ iterable = spec.filter(iterable, prereleases=prereleases)
5314
5312
  return iter(iterable)
5315
5313
 
5316
5314
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ominfra
3
- Version: 0.0.0.dev419
3
+ Version: 0.0.0.dev420
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,8 +14,8 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omdev==0.0.0.dev419
18
- Requires-Dist: omlish==0.0.0.dev419
17
+ Requires-Dist: omdev==0.0.0.dev420
18
+ Requires-Dist: omlish==0.0.0.dev420
19
19
  Provides-Extra: all
20
20
  Requires-Dist: paramiko~=4.0; extra == "all"
21
21
  Requires-Dist: asyncssh~=2.21; extra == "all"
@@ -1,5 +1,5 @@
1
- omdev==0.0.0.dev419
2
- omlish==0.0.0.dev419
1
+ omdev==0.0.0.dev420
2
+ omlish==0.0.0.dev420
3
3
 
4
4
  [all]
5
5
  paramiko~=4.0
@@ -13,7 +13,7 @@ urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = 'BSD-3-Clause'
14
14
  readme = 'README.md'
15
15
  requires-python = '>=3.13'
16
- version = '0.0.0.dev419'
16
+ version = '0.0.0.dev420'
17
17
  classifiers = [
18
18
  'Development Status :: 2 - Pre-Alpha',
19
19
  'Intended Audience :: Developers',
@@ -24,8 +24,8 @@ classifiers = [
24
24
  ]
25
25
  description = 'ominfra'
26
26
  dependencies = [
27
- 'omdev == 0.0.0.dev419',
28
- 'omlish == 0.0.0.dev419',
27
+ 'omdev == 0.0.0.dev420',
28
+ 'omlish == 0.0.0.dev420',
29
29
  ]
30
30
 
31
31
  [project.optional-dependencies]
File without changes
File without changes
File without changes