ominfra 0.0.0.dev136__tar.gz → 0.0.0.dev137__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. {ominfra-0.0.0.dev136/ominfra.egg-info → ominfra-0.0.0.dev137}/PKG-INFO +3 -3
  2. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/new/_manage.py +39 -17
  3. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/new/main.py +40 -18
  4. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137/ominfra.egg-info}/PKG-INFO +3 -3
  5. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra.egg-info/requires.txt +2 -2
  6. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/pyproject.toml +3 -3
  7. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/LICENSE +0 -0
  8. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/MANIFEST.in +0 -0
  9. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/README.rst +0 -0
  10. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/.manifests.json +0 -0
  11. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/__about__.py +0 -0
  12. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/__init__.py +0 -0
  13. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/__init__.py +0 -0
  14. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/__init__.py +0 -0
  15. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/__main__.py +0 -0
  16. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/auth.py +0 -0
  17. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/cli.py +0 -0
  18. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/dataclasses.py +0 -0
  19. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
  20. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
  21. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
  22. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
  23. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/journald2aws/main.py +0 -0
  24. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
  25. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/logs.py +0 -0
  26. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/aws/metadata.py +0 -0
  27. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/gcp/__init__.py +0 -0
  28. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/clouds/gcp/auth.py +0 -0
  29. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/cmds.py +0 -0
  30. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/configs.py +0 -0
  31. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/journald/__init__.py +0 -0
  32. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/journald/fields.py +0 -0
  33. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/journald/genmessages.py +0 -0
  34. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/journald/messages.py +0 -0
  35. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/journald/tailer.py +0 -0
  36. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/__init__.py +0 -0
  37. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/__init__.py +0 -0
  38. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/_executor.py +0 -0
  39. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/configs.py +0 -0
  40. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/__init__.py +0 -0
  41. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/base.py +0 -0
  42. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/__init__.py +0 -0
  43. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/dirs.py +0 -0
  44. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/nginx.py +0 -0
  45. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/repo.py +0 -0
  46. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/supervisor.py +0 -0
  47. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/systemd.py +0 -0
  48. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/user.py +0 -0
  49. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/concerns/venv.py +0 -0
  50. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/executor/main.py +0 -0
  51. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/__init__.py +0 -0
  52. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/_main.py +0 -0
  53. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/base.py +0 -0
  54. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/configs.py +0 -0
  55. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/deploy.py +0 -0
  56. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/main.py +0 -0
  57. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/nginx.py +0 -0
  58. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/repo.py +0 -0
  59. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/runtime.py +0 -0
  60. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/site.py +0 -0
  61. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/supervisor.py +0 -0
  62. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/poly/venv.py +0 -0
  63. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/deploy/remote.py +0 -0
  64. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/manage.py +0 -0
  65. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/new/__init__.py +0 -0
  66. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/new/commands/__init__.py +0 -0
  67. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/new/commands/base.py +0 -0
  68. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/manage/new/commands/subprocess.py +0 -0
  69. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/pyremote.py +0 -0
  70. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/scripts/__init__.py +0 -0
  71. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/scripts/journald2aws.py +0 -0
  72. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/scripts/supervisor.py +0 -0
  73. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/ssh.py +0 -0
  74. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/LICENSE.txt +0 -0
  75. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/__init__.py +0 -0
  76. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/__main__.py +0 -0
  77. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/configs.py +0 -0
  78. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/dispatchers.py +0 -0
  79. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/dispatchersimpl.py +0 -0
  80. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/events.py +0 -0
  81. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/exceptions.py +0 -0
  82. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/groups.py +0 -0
  83. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/groupsimpl.py +0 -0
  84. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/http.py +0 -0
  85. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/inject.py +0 -0
  86. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/io.py +0 -0
  87. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/main.py +0 -0
  88. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/pipes.py +0 -0
  89. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/privileges.py +0 -0
  90. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/process.py +0 -0
  91. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/processimpl.py +0 -0
  92. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/setup.py +0 -0
  93. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/setupimpl.py +0 -0
  94. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/signals.py +0 -0
  95. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/spawning.py +0 -0
  96. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/spawningimpl.py +0 -0
  97. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/states.py +0 -0
  98. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/supervisor.py +0 -0
  99. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/types.py +0 -0
  100. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/__init__.py +0 -0
  101. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/collections.py +0 -0
  102. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/diag.py +0 -0
  103. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/fds.py +0 -0
  104. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/fs.py +0 -0
  105. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/os.py +0 -0
  106. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/ostypes.py +0 -0
  107. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/signals.py +0 -0
  108. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/strings.py +0 -0
  109. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/supervisor/utils/users.py +0 -0
  110. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/tailscale/__init__.py +0 -0
  111. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/tailscale/api.py +0 -0
  112. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/tailscale/cli.py +0 -0
  113. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/threadworkers.py +0 -0
  114. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/tools/__init__.py +0 -0
  115. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra/tools/listresources.py +0 -0
  116. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra.egg-info/SOURCES.txt +0 -0
  117. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra.egg-info/dependency_links.txt +0 -0
  118. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra.egg-info/entry_points.txt +0 -0
  119. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/ominfra.egg-info/top_level.txt +0 -0
  120. {ominfra-0.0.0.dev136 → ominfra-0.0.0.dev137}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ominfra
3
- Version: 0.0.0.dev136
3
+ Version: 0.0.0.dev137
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.dev136
16
- Requires-Dist: omlish==0.0.0.dev136
15
+ Requires-Dist: omdev==0.0.0.dev137
16
+ Requires-Dist: omlish==0.0.0.dev137
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -1534,6 +1534,9 @@ def _recv_obj(f: ta.IO, ty: type) -> ta.Any:
1534
1534
  return unmarshal_obj(j, ty)
1535
1535
 
1536
1536
 
1537
+ ##
1538
+
1539
+
1537
1540
  def _remote_main() -> None:
1538
1541
  rt = pyremote_bootstrap_finalize() # noqa
1539
1542
 
@@ -1547,6 +1550,41 @@ def _remote_main() -> None:
1547
1550
  _send_obj(rt.output, o)
1548
1551
 
1549
1552
 
1553
+ ##
1554
+
1555
+
1556
+ @cached_nullary
1557
+ def _get_self_src() -> str:
1558
+ return inspect.getsource(sys.modules[__name__])
1559
+
1560
+
1561
+ def _is_src_amalg(src: str) -> bool:
1562
+ for l in src.splitlines(): # noqa
1563
+ if l.startswith('# @omlish-amalg-output '):
1564
+ return True
1565
+ return False
1566
+
1567
+
1568
+ @cached_nullary
1569
+ def _is_self_amalg() -> bool:
1570
+ return _is_src_amalg(_get_self_src())
1571
+
1572
+
1573
+ def _get_amalg_src(*, amalg_file: ta.Optional[str]) -> str:
1574
+ if amalg_file is not None:
1575
+ with open(amalg_file) as f:
1576
+ return f.read()
1577
+
1578
+ if _is_self_amalg():
1579
+ return _get_self_src()
1580
+
1581
+ import importlib.resources
1582
+ return importlib.resources.read_text(__package__, '_manage.py')
1583
+
1584
+
1585
+ ##
1586
+
1587
+
1550
1588
  def _main() -> None:
1551
1589
  import argparse
1552
1590
 
@@ -1561,23 +1599,7 @@ def _main() -> None:
1561
1599
 
1562
1600
  #
1563
1601
 
1564
- self_src = inspect.getsource(sys.modules[__name__])
1565
- self_src_lines = self_src.splitlines()
1566
- for l in self_src_lines:
1567
- if l.startswith('# @omlish-amalg-output '):
1568
- is_self_amalg = True
1569
- break
1570
- else:
1571
- is_self_amalg = False
1572
-
1573
- if is_self_amalg:
1574
- amalg_src = self_src
1575
- else:
1576
- amalg_file = args._amalg_file # noqa
1577
- if amalg_file is None:
1578
- amalg_file = os.path.join(os.path.dirname(__file__), '_manage.py')
1579
- with open(amalg_file) as f:
1580
- amalg_src = f.read()
1602
+ amalg_src = _get_amalg_src(amalg_file=args._amalg_file) # noqa
1581
1603
 
1582
1604
  #
1583
1605
 
@@ -3,13 +3,13 @@
3
3
  # ruff: noqa: UP006 UP007
4
4
  import inspect
5
5
  import json
6
- import os
7
6
  import shlex
8
7
  import struct
9
8
  import subprocess
10
9
  import sys
11
10
  import typing as ta
12
11
 
12
+ from omlish.lite.cached import cached_nullary
13
13
  from omlish.lite.check import check_not_none
14
14
  from omlish.lite.json import json_dumps_compact
15
15
  from omlish.lite.marshal import marshal_obj
@@ -50,6 +50,9 @@ def _recv_obj(f: ta.IO, ty: type) -> ta.Any:
50
50
  return unmarshal_obj(j, ty)
51
51
 
52
52
 
53
+ ##
54
+
55
+
53
56
  def _remote_main() -> None:
54
57
  rt = pyremote_bootstrap_finalize() # noqa
55
58
 
@@ -63,6 +66,41 @@ def _remote_main() -> None:
63
66
  _send_obj(rt.output, o)
64
67
 
65
68
 
69
+ ##
70
+
71
+
72
+ @cached_nullary
73
+ def _get_self_src() -> str:
74
+ return inspect.getsource(sys.modules[__name__])
75
+
76
+
77
+ def _is_src_amalg(src: str) -> bool:
78
+ for l in src.splitlines(): # noqa
79
+ if l.startswith('# @omlish-amalg-output '):
80
+ return True
81
+ return False
82
+
83
+
84
+ @cached_nullary
85
+ def _is_self_amalg() -> bool:
86
+ return _is_src_amalg(_get_self_src())
87
+
88
+
89
+ def _get_amalg_src(*, amalg_file: ta.Optional[str]) -> str:
90
+ if amalg_file is not None:
91
+ with open(amalg_file) as f:
92
+ return f.read()
93
+
94
+ if _is_self_amalg():
95
+ return _get_self_src()
96
+
97
+ import importlib.resources
98
+ return importlib.resources.read_text(__package__, '_manage.py')
99
+
100
+
101
+ ##
102
+
103
+
66
104
  def _main() -> None:
67
105
  import argparse
68
106
 
@@ -77,23 +115,7 @@ def _main() -> None:
77
115
 
78
116
  #
79
117
 
80
- self_src = inspect.getsource(sys.modules[__name__])
81
- self_src_lines = self_src.splitlines()
82
- for l in self_src_lines:
83
- if l.startswith('# @omlish-amalg-output '):
84
- is_self_amalg = True
85
- break
86
- else:
87
- is_self_amalg = False
88
-
89
- if is_self_amalg:
90
- amalg_src = self_src
91
- else:
92
- amalg_file = args._amalg_file # noqa
93
- if amalg_file is None:
94
- amalg_file = os.path.join(os.path.dirname(__file__), '_manage.py')
95
- with open(amalg_file) as f:
96
- amalg_src = f.read()
118
+ amalg_src = _get_amalg_src(amalg_file=args._amalg_file) # noqa
97
119
 
98
120
  #
99
121
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ominfra
3
- Version: 0.0.0.dev136
3
+ Version: 0.0.0.dev137
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.dev136
16
- Requires-Dist: omlish==0.0.0.dev136
15
+ Requires-Dist: omdev==0.0.0.dev137
16
+ Requires-Dist: omlish==0.0.0.dev137
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.dev136
2
- omlish==0.0.0.dev136
1
+ omdev==0.0.0.dev137
2
+ omlish==0.0.0.dev137
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.dev136'
15
+ version = '0.0.0.dev137'
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.dev136',
26
- 'omlish == 0.0.0.dev136',
25
+ 'omdev == 0.0.0.dev137',
26
+ 'omlish == 0.0.0.dev137',
27
27
  ]
28
28
 
29
29
  [project.optional-dependencies]
File without changes
File without changes