ominfra 0.0.0.dev29__tar.gz → 0.0.0.dev31__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.
- {ominfra-0.0.0.dev29/ominfra.egg-info → ominfra-0.0.0.dev31}/PKG-INFO +3 -2
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/__about__.py +1 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/_executor.py +20 -5
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/_main.py +20 -5
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/remote.py +1 -1
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/pyremote/_runcommands.py +20 -5
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/ssh.py +1 -1
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/tools/listresources.py +1 -1
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31/ominfra.egg-info}/PKG-INFO +3 -2
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra.egg-info/requires.txt +2 -1
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/pyproject.toml +3 -2
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/LICENSE +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/MANIFEST.in +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/README.rst +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/.manifests.json +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/clouds/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/clouds/aws/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/clouds/aws/auth.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/cmds.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/configs.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/base.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/dirs.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/nginx.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/repo.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/supervisor.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/systemd.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/user.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/concerns/venv.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/executor/main.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/base.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/configs.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/deploy.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/main.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/nginx.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/repo.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/runtime.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/site.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/supervisor.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/deploy/poly/venv.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/manage/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/manage/manage.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/pyremote/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/pyremote/bootstrap.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/pyremote/runcommands.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra/tools/__init__.py +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra.egg-info/SOURCES.txt +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra.egg-info/dependency_links.txt +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/ominfra.egg-info/top_level.txt +0 -0
- {ominfra-0.0.0.dev29 → ominfra-0.0.0.dev31}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev31
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License: BSD-3-Clause
|
@@ -12,7 +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:
|
15
|
+
Requires-Dist: omdev==0.0.0.dev31
|
16
|
+
Requires-Dist: omlish==0.0.0.dev31
|
16
17
|
Provides-Extra: all
|
17
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
18
19
|
Requires-Dist: asyncssh~=2.17; python_version < "3.13" and extra == "all"
|
@@ -48,6 +48,7 @@ import abc
|
|
48
48
|
import argparse
|
49
49
|
import base64
|
50
50
|
import collections.abc
|
51
|
+
import contextlib
|
51
52
|
import dataclasses as dc
|
52
53
|
import datetime
|
53
54
|
import decimal
|
@@ -440,6 +441,24 @@ class StandardLogHandler(ProxyLogHandler):
|
|
440
441
|
##
|
441
442
|
|
442
443
|
|
444
|
+
@contextlib.contextmanager
|
445
|
+
def _locking_logging_module_lock() -> ta.Iterator[None]:
|
446
|
+
if hasattr(logging, '_acquireLock'):
|
447
|
+
logging._acquireLock() # noqa
|
448
|
+
try:
|
449
|
+
yield
|
450
|
+
finally:
|
451
|
+
logging._releaseLock() # type: ignore # noqa
|
452
|
+
|
453
|
+
elif hasattr(logging, '_lock'):
|
454
|
+
# https://github.com/python/cpython/commit/74723e11109a320e628898817ab449b3dad9ee96
|
455
|
+
with logging._lock: # noqa
|
456
|
+
yield
|
457
|
+
|
458
|
+
else:
|
459
|
+
raise Exception("Can't find lock in logging module")
|
460
|
+
|
461
|
+
|
443
462
|
def configure_standard_logging(
|
444
463
|
level: ta.Union[int, str] = logging.INFO,
|
445
464
|
*,
|
@@ -447,8 +466,7 @@ def configure_standard_logging(
|
|
447
466
|
target: ta.Optional[logging.Logger] = None,
|
448
467
|
force: bool = False,
|
449
468
|
) -> ta.Optional[StandardLogHandler]:
|
450
|
-
|
451
|
-
try:
|
469
|
+
with _locking_logging_module_lock():
|
452
470
|
if target is None:
|
453
471
|
target = logging.root
|
454
472
|
|
@@ -488,9 +506,6 @@ def configure_standard_logging(
|
|
488
506
|
|
489
507
|
return StandardLogHandler(handler)
|
490
508
|
|
491
|
-
finally:
|
492
|
-
logging._releaseLock() # type: ignore # noqa
|
493
|
-
|
494
509
|
|
495
510
|
########################################
|
496
511
|
# ../../../../omlish/lite/marshal.py
|
@@ -5,6 +5,7 @@
|
|
5
5
|
# @omdev-amalg-output main.py
|
6
6
|
# ruff: noqa: N802 UP006 UP007 UP036
|
7
7
|
import abc
|
8
|
+
import contextlib
|
8
9
|
import dataclasses as dc
|
9
10
|
import datetime
|
10
11
|
import functools
|
@@ -498,6 +499,24 @@ class StandardLogHandler(ProxyLogHandler):
|
|
498
499
|
##
|
499
500
|
|
500
501
|
|
502
|
+
@contextlib.contextmanager
|
503
|
+
def _locking_logging_module_lock() -> ta.Iterator[None]:
|
504
|
+
if hasattr(logging, '_acquireLock'):
|
505
|
+
logging._acquireLock() # noqa
|
506
|
+
try:
|
507
|
+
yield
|
508
|
+
finally:
|
509
|
+
logging._releaseLock() # type: ignore # noqa
|
510
|
+
|
511
|
+
elif hasattr(logging, '_lock'):
|
512
|
+
# https://github.com/python/cpython/commit/74723e11109a320e628898817ab449b3dad9ee96
|
513
|
+
with logging._lock: # noqa
|
514
|
+
yield
|
515
|
+
|
516
|
+
else:
|
517
|
+
raise Exception("Can't find lock in logging module")
|
518
|
+
|
519
|
+
|
501
520
|
def configure_standard_logging(
|
502
521
|
level: ta.Union[int, str] = logging.INFO,
|
503
522
|
*,
|
@@ -505,8 +524,7 @@ def configure_standard_logging(
|
|
505
524
|
target: ta.Optional[logging.Logger] = None,
|
506
525
|
force: bool = False,
|
507
526
|
) -> ta.Optional[StandardLogHandler]:
|
508
|
-
|
509
|
-
try:
|
527
|
+
with _locking_logging_module_lock():
|
510
528
|
if target is None:
|
511
529
|
target = logging.root
|
512
530
|
|
@@ -546,9 +564,6 @@ def configure_standard_logging(
|
|
546
564
|
|
547
565
|
return StandardLogHandler(handler)
|
548
566
|
|
549
|
-
finally:
|
550
|
-
logging._releaseLock() # type: ignore # noqa
|
551
|
-
|
552
567
|
|
553
568
|
########################################
|
554
569
|
# ../../../../omlish/lite/runtime.py
|
@@ -7,6 +7,7 @@
|
|
7
7
|
import abc
|
8
8
|
import base64
|
9
9
|
import collections.abc
|
10
|
+
import contextlib
|
10
11
|
import dataclasses as dc
|
11
12
|
import datetime
|
12
13
|
import decimal
|
@@ -523,6 +524,24 @@ class StandardLogHandler(ProxyLogHandler):
|
|
523
524
|
##
|
524
525
|
|
525
526
|
|
527
|
+
@contextlib.contextmanager
|
528
|
+
def _locking_logging_module_lock() -> ta.Iterator[None]:
|
529
|
+
if hasattr(logging, '_acquireLock'):
|
530
|
+
logging._acquireLock() # noqa
|
531
|
+
try:
|
532
|
+
yield
|
533
|
+
finally:
|
534
|
+
logging._releaseLock() # type: ignore # noqa
|
535
|
+
|
536
|
+
elif hasattr(logging, '_lock'):
|
537
|
+
# https://github.com/python/cpython/commit/74723e11109a320e628898817ab449b3dad9ee96
|
538
|
+
with logging._lock: # noqa
|
539
|
+
yield
|
540
|
+
|
541
|
+
else:
|
542
|
+
raise Exception("Can't find lock in logging module")
|
543
|
+
|
544
|
+
|
526
545
|
def configure_standard_logging(
|
527
546
|
level: ta.Union[int, str] = logging.INFO,
|
528
547
|
*,
|
@@ -530,8 +549,7 @@ def configure_standard_logging(
|
|
530
549
|
target: ta.Optional[logging.Logger] = None,
|
531
550
|
force: bool = False,
|
532
551
|
) -> ta.Optional[StandardLogHandler]:
|
533
|
-
|
534
|
-
try:
|
552
|
+
with _locking_logging_module_lock():
|
535
553
|
if target is None:
|
536
554
|
target = logging.root
|
537
555
|
|
@@ -571,9 +589,6 @@ def configure_standard_logging(
|
|
571
589
|
|
572
590
|
return StandardLogHandler(handler)
|
573
591
|
|
574
|
-
finally:
|
575
|
-
logging._releaseLock() # type: ignore # noqa
|
576
|
-
|
577
592
|
|
578
593
|
########################################
|
579
594
|
# ../../../omlish/lite/marshal.py
|
@@ -18,10 +18,10 @@ import contextlib
|
|
18
18
|
import shlex
|
19
19
|
import typing as ta
|
20
20
|
|
21
|
+
from omdev.secrets import load_secrets
|
21
22
|
from omlish import check
|
22
23
|
from omlish import dataclasses as dc
|
23
24
|
from omlish import lang
|
24
|
-
from omserv.secrets import load_secrets
|
25
25
|
|
26
26
|
from .cmds import CommandRunner
|
27
27
|
from .cmds import LocalCommandRunner
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev31
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License: BSD-3-Clause
|
@@ -12,7 +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:
|
15
|
+
Requires-Dist: omdev==0.0.0.dev31
|
16
|
+
Requires-Dist: omlish==0.0.0.dev31
|
16
17
|
Provides-Extra: all
|
17
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
18
19
|
Requires-Dist: asyncssh~=2.17; python_version < "3.13" and extra == "all"
|
@@ -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.
|
15
|
+
version = '0.0.0.dev31'
|
16
16
|
classifiers = [
|
17
17
|
'License :: OSI Approved :: BSD License',
|
18
18
|
'Development Status :: 2 - Pre-Alpha',
|
@@ -22,7 +22,8 @@ classifiers = [
|
|
22
22
|
]
|
23
23
|
description = 'ominfra'
|
24
24
|
dependencies = [
|
25
|
-
'
|
25
|
+
'omdev == 0.0.0.dev31',
|
26
|
+
'omlish == 0.0.0.dev31',
|
26
27
|
]
|
27
28
|
|
28
29
|
[project.optional-dependencies]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|