ominfra 0.0.0.dev23__py3-none-any.whl → 0.0.0.dev25__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.
- ominfra/__about__.py +10 -0
- ominfra/_manifests.json +1 -0
- ominfra/deploy/_executor.py +133 -4
- ominfra/deploy/poly/_main.py +133 -4
- ominfra/pyremote/_runcommands.py +133 -4
- {ominfra-0.0.0.dev23.dist-info → ominfra-0.0.0.dev25.dist-info}/METADATA +2 -2
- {ominfra-0.0.0.dev23.dist-info → ominfra-0.0.0.dev25.dist-info}/RECORD +10 -9
- {ominfra-0.0.0.dev23.dist-info → ominfra-0.0.0.dev25.dist-info}/LICENSE +0 -0
- {ominfra-0.0.0.dev23.dist-info → ominfra-0.0.0.dev25.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev23.dist-info → ominfra-0.0.0.dev25.dist-info}/top_level.txt +0 -0
ominfra/__about__.py
CHANGED
@@ -25,3 +25,13 @@ class Setuptools(SetuptoolsBase):
|
|
25
25
|
'include': [Project.name, f'{Project.name}.*'],
|
26
26
|
'exclude': [*SetuptoolsBase.find_packages['exclude']],
|
27
27
|
}
|
28
|
+
|
29
|
+
package_data = {
|
30
|
+
**SetuptoolsBase.package_data,
|
31
|
+
|
32
|
+
'*': [
|
33
|
+
*SetuptoolsBase.package_data['*'],
|
34
|
+
|
35
|
+
'Dockerfile',
|
36
|
+
],
|
37
|
+
}
|
ominfra/_manifests.json
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
[]
|
ominfra/deploy/_executor.py
CHANGED
@@ -320,13 +320,134 @@ class StandardLogFormatter(logging.Formatter):
|
|
320
320
|
##
|
321
321
|
|
322
322
|
|
323
|
+
class ProxyLogFilterer(logging.Filterer):
|
324
|
+
def __init__(self, underlying: logging.Filterer) -> None: # noqa
|
325
|
+
self._underlying = underlying
|
326
|
+
|
327
|
+
@property
|
328
|
+
def underlying(self) -> logging.Filterer:
|
329
|
+
return self._underlying
|
330
|
+
|
331
|
+
@property
|
332
|
+
def filters(self):
|
333
|
+
return self._underlying.filters
|
334
|
+
|
335
|
+
@filters.setter
|
336
|
+
def filters(self, filters):
|
337
|
+
self._underlying.filters = filters
|
338
|
+
|
339
|
+
def addFilter(self, filter): # noqa
|
340
|
+
self._underlying.addFilter(filter)
|
341
|
+
|
342
|
+
def removeFilter(self, filter): # noqa
|
343
|
+
self._underlying.removeFilter(filter)
|
344
|
+
|
345
|
+
def filter(self, record):
|
346
|
+
return self._underlying.filter(record)
|
347
|
+
|
348
|
+
|
349
|
+
class ProxyLogHandler(ProxyLogFilterer, logging.Handler):
|
350
|
+
def __init__(self, underlying: logging.Handler) -> None: # noqa
|
351
|
+
ProxyLogFilterer.__init__(self, underlying)
|
352
|
+
|
353
|
+
_underlying: logging.Handler
|
354
|
+
|
355
|
+
@property
|
356
|
+
def underlying(self) -> logging.Handler:
|
357
|
+
return self._underlying
|
358
|
+
|
359
|
+
def get_name(self):
|
360
|
+
return self._underlying.get_name()
|
361
|
+
|
362
|
+
def set_name(self, name):
|
363
|
+
self._underlying.set_name(name)
|
364
|
+
|
365
|
+
@property
|
366
|
+
def name(self):
|
367
|
+
return self._underlying.name
|
368
|
+
|
369
|
+
@property
|
370
|
+
def level(self):
|
371
|
+
return self._underlying.level
|
372
|
+
|
373
|
+
@level.setter
|
374
|
+
def level(self, level):
|
375
|
+
self._underlying.level = level
|
376
|
+
|
377
|
+
@property
|
378
|
+
def formatter(self):
|
379
|
+
return self._underlying.formatter
|
380
|
+
|
381
|
+
@formatter.setter
|
382
|
+
def formatter(self, formatter):
|
383
|
+
self._underlying.formatter = formatter
|
384
|
+
|
385
|
+
def createLock(self):
|
386
|
+
self._underlying.createLock()
|
387
|
+
|
388
|
+
def acquire(self):
|
389
|
+
self._underlying.acquire()
|
390
|
+
|
391
|
+
def release(self):
|
392
|
+
self._underlying.release()
|
393
|
+
|
394
|
+
def setLevel(self, level):
|
395
|
+
self._underlying.setLevel(level)
|
396
|
+
|
397
|
+
def format(self, record):
|
398
|
+
return self._underlying.format(record)
|
399
|
+
|
400
|
+
def emit(self, record):
|
401
|
+
self._underlying.emit(record)
|
402
|
+
|
403
|
+
def handle(self, record):
|
404
|
+
return self._underlying.handle(record)
|
405
|
+
|
406
|
+
def setFormatter(self, fmt):
|
407
|
+
self._underlying.setFormatter(fmt)
|
408
|
+
|
409
|
+
def flush(self):
|
410
|
+
self._underlying.flush()
|
411
|
+
|
412
|
+
def close(self):
|
413
|
+
self._underlying.close()
|
414
|
+
|
415
|
+
def handleError(self, record):
|
416
|
+
self._underlying.handleError(record)
|
417
|
+
|
418
|
+
|
419
|
+
##
|
420
|
+
|
421
|
+
|
422
|
+
class StandardLogHandler(ProxyLogHandler):
|
423
|
+
pass
|
424
|
+
|
425
|
+
|
426
|
+
##
|
427
|
+
|
428
|
+
|
323
429
|
def configure_standard_logging(
|
324
430
|
level: ta.Union[int, str] = logging.INFO,
|
325
431
|
*,
|
326
432
|
json: bool = False,
|
327
|
-
|
433
|
+
target: ta.Optional[logging.Logger] = None,
|
434
|
+
no_check: bool = False,
|
435
|
+
) -> ta.Optional[StandardLogHandler]:
|
436
|
+
if target is None:
|
437
|
+
target = logging.root
|
438
|
+
|
439
|
+
#
|
440
|
+
|
441
|
+
if not no_check:
|
442
|
+
if any(isinstance(h, StandardLogHandler) for h in list(target.handlers)):
|
443
|
+
return None
|
444
|
+
|
445
|
+
#
|
446
|
+
|
328
447
|
handler = logging.StreamHandler()
|
329
448
|
|
449
|
+
#
|
450
|
+
|
330
451
|
formatter: logging.Formatter
|
331
452
|
if json:
|
332
453
|
formatter = JsonLogFormatter()
|
@@ -334,14 +455,22 @@ def configure_standard_logging(
|
|
334
455
|
formatter = StandardLogFormatter(StandardLogFormatter.build_log_format(STANDARD_LOG_FORMAT_PARTS))
|
335
456
|
handler.setFormatter(formatter)
|
336
457
|
|
458
|
+
#
|
459
|
+
|
337
460
|
handler.addFilter(TidLogFilter())
|
338
461
|
|
339
|
-
|
462
|
+
#
|
463
|
+
|
464
|
+
target.addHandler(handler)
|
465
|
+
|
466
|
+
#
|
340
467
|
|
341
468
|
if level is not None:
|
342
|
-
|
469
|
+
target.setLevel(level)
|
470
|
+
|
471
|
+
#
|
343
472
|
|
344
|
-
return handler
|
473
|
+
return StandardLogHandler(handler)
|
345
474
|
|
346
475
|
|
347
476
|
########################################
|
ominfra/deploy/poly/_main.py
CHANGED
@@ -383,13 +383,134 @@ class StandardLogFormatter(logging.Formatter):
|
|
383
383
|
##
|
384
384
|
|
385
385
|
|
386
|
+
class ProxyLogFilterer(logging.Filterer):
|
387
|
+
def __init__(self, underlying: logging.Filterer) -> None: # noqa
|
388
|
+
self._underlying = underlying
|
389
|
+
|
390
|
+
@property
|
391
|
+
def underlying(self) -> logging.Filterer:
|
392
|
+
return self._underlying
|
393
|
+
|
394
|
+
@property
|
395
|
+
def filters(self):
|
396
|
+
return self._underlying.filters
|
397
|
+
|
398
|
+
@filters.setter
|
399
|
+
def filters(self, filters):
|
400
|
+
self._underlying.filters = filters
|
401
|
+
|
402
|
+
def addFilter(self, filter): # noqa
|
403
|
+
self._underlying.addFilter(filter)
|
404
|
+
|
405
|
+
def removeFilter(self, filter): # noqa
|
406
|
+
self._underlying.removeFilter(filter)
|
407
|
+
|
408
|
+
def filter(self, record):
|
409
|
+
return self._underlying.filter(record)
|
410
|
+
|
411
|
+
|
412
|
+
class ProxyLogHandler(ProxyLogFilterer, logging.Handler):
|
413
|
+
def __init__(self, underlying: logging.Handler) -> None: # noqa
|
414
|
+
ProxyLogFilterer.__init__(self, underlying)
|
415
|
+
|
416
|
+
_underlying: logging.Handler
|
417
|
+
|
418
|
+
@property
|
419
|
+
def underlying(self) -> logging.Handler:
|
420
|
+
return self._underlying
|
421
|
+
|
422
|
+
def get_name(self):
|
423
|
+
return self._underlying.get_name()
|
424
|
+
|
425
|
+
def set_name(self, name):
|
426
|
+
self._underlying.set_name(name)
|
427
|
+
|
428
|
+
@property
|
429
|
+
def name(self):
|
430
|
+
return self._underlying.name
|
431
|
+
|
432
|
+
@property
|
433
|
+
def level(self):
|
434
|
+
return self._underlying.level
|
435
|
+
|
436
|
+
@level.setter
|
437
|
+
def level(self, level):
|
438
|
+
self._underlying.level = level
|
439
|
+
|
440
|
+
@property
|
441
|
+
def formatter(self):
|
442
|
+
return self._underlying.formatter
|
443
|
+
|
444
|
+
@formatter.setter
|
445
|
+
def formatter(self, formatter):
|
446
|
+
self._underlying.formatter = formatter
|
447
|
+
|
448
|
+
def createLock(self):
|
449
|
+
self._underlying.createLock()
|
450
|
+
|
451
|
+
def acquire(self):
|
452
|
+
self._underlying.acquire()
|
453
|
+
|
454
|
+
def release(self):
|
455
|
+
self._underlying.release()
|
456
|
+
|
457
|
+
def setLevel(self, level):
|
458
|
+
self._underlying.setLevel(level)
|
459
|
+
|
460
|
+
def format(self, record):
|
461
|
+
return self._underlying.format(record)
|
462
|
+
|
463
|
+
def emit(self, record):
|
464
|
+
self._underlying.emit(record)
|
465
|
+
|
466
|
+
def handle(self, record):
|
467
|
+
return self._underlying.handle(record)
|
468
|
+
|
469
|
+
def setFormatter(self, fmt):
|
470
|
+
self._underlying.setFormatter(fmt)
|
471
|
+
|
472
|
+
def flush(self):
|
473
|
+
self._underlying.flush()
|
474
|
+
|
475
|
+
def close(self):
|
476
|
+
self._underlying.close()
|
477
|
+
|
478
|
+
def handleError(self, record):
|
479
|
+
self._underlying.handleError(record)
|
480
|
+
|
481
|
+
|
482
|
+
##
|
483
|
+
|
484
|
+
|
485
|
+
class StandardLogHandler(ProxyLogHandler):
|
486
|
+
pass
|
487
|
+
|
488
|
+
|
489
|
+
##
|
490
|
+
|
491
|
+
|
386
492
|
def configure_standard_logging(
|
387
493
|
level: ta.Union[int, str] = logging.INFO,
|
388
494
|
*,
|
389
495
|
json: bool = False,
|
390
|
-
|
496
|
+
target: ta.Optional[logging.Logger] = None,
|
497
|
+
no_check: bool = False,
|
498
|
+
) -> ta.Optional[StandardLogHandler]:
|
499
|
+
if target is None:
|
500
|
+
target = logging.root
|
501
|
+
|
502
|
+
#
|
503
|
+
|
504
|
+
if not no_check:
|
505
|
+
if any(isinstance(h, StandardLogHandler) for h in list(target.handlers)):
|
506
|
+
return None
|
507
|
+
|
508
|
+
#
|
509
|
+
|
391
510
|
handler = logging.StreamHandler()
|
392
511
|
|
512
|
+
#
|
513
|
+
|
393
514
|
formatter: logging.Formatter
|
394
515
|
if json:
|
395
516
|
formatter = JsonLogFormatter()
|
@@ -397,14 +518,22 @@ def configure_standard_logging(
|
|
397
518
|
formatter = StandardLogFormatter(StandardLogFormatter.build_log_format(STANDARD_LOG_FORMAT_PARTS))
|
398
519
|
handler.setFormatter(formatter)
|
399
520
|
|
521
|
+
#
|
522
|
+
|
400
523
|
handler.addFilter(TidLogFilter())
|
401
524
|
|
402
|
-
|
525
|
+
#
|
526
|
+
|
527
|
+
target.addHandler(handler)
|
528
|
+
|
529
|
+
#
|
403
530
|
|
404
531
|
if level is not None:
|
405
|
-
|
532
|
+
target.setLevel(level)
|
533
|
+
|
534
|
+
#
|
406
535
|
|
407
|
-
return handler
|
536
|
+
return StandardLogHandler(handler)
|
408
537
|
|
409
538
|
|
410
539
|
########################################
|
ominfra/pyremote/_runcommands.py
CHANGED
@@ -403,13 +403,134 @@ class StandardLogFormatter(logging.Formatter):
|
|
403
403
|
##
|
404
404
|
|
405
405
|
|
406
|
+
class ProxyLogFilterer(logging.Filterer):
|
407
|
+
def __init__(self, underlying: logging.Filterer) -> None: # noqa
|
408
|
+
self._underlying = underlying
|
409
|
+
|
410
|
+
@property
|
411
|
+
def underlying(self) -> logging.Filterer:
|
412
|
+
return self._underlying
|
413
|
+
|
414
|
+
@property
|
415
|
+
def filters(self):
|
416
|
+
return self._underlying.filters
|
417
|
+
|
418
|
+
@filters.setter
|
419
|
+
def filters(self, filters):
|
420
|
+
self._underlying.filters = filters
|
421
|
+
|
422
|
+
def addFilter(self, filter): # noqa
|
423
|
+
self._underlying.addFilter(filter)
|
424
|
+
|
425
|
+
def removeFilter(self, filter): # noqa
|
426
|
+
self._underlying.removeFilter(filter)
|
427
|
+
|
428
|
+
def filter(self, record):
|
429
|
+
return self._underlying.filter(record)
|
430
|
+
|
431
|
+
|
432
|
+
class ProxyLogHandler(ProxyLogFilterer, logging.Handler):
|
433
|
+
def __init__(self, underlying: logging.Handler) -> None: # noqa
|
434
|
+
ProxyLogFilterer.__init__(self, underlying)
|
435
|
+
|
436
|
+
_underlying: logging.Handler
|
437
|
+
|
438
|
+
@property
|
439
|
+
def underlying(self) -> logging.Handler:
|
440
|
+
return self._underlying
|
441
|
+
|
442
|
+
def get_name(self):
|
443
|
+
return self._underlying.get_name()
|
444
|
+
|
445
|
+
def set_name(self, name):
|
446
|
+
self._underlying.set_name(name)
|
447
|
+
|
448
|
+
@property
|
449
|
+
def name(self):
|
450
|
+
return self._underlying.name
|
451
|
+
|
452
|
+
@property
|
453
|
+
def level(self):
|
454
|
+
return self._underlying.level
|
455
|
+
|
456
|
+
@level.setter
|
457
|
+
def level(self, level):
|
458
|
+
self._underlying.level = level
|
459
|
+
|
460
|
+
@property
|
461
|
+
def formatter(self):
|
462
|
+
return self._underlying.formatter
|
463
|
+
|
464
|
+
@formatter.setter
|
465
|
+
def formatter(self, formatter):
|
466
|
+
self._underlying.formatter = formatter
|
467
|
+
|
468
|
+
def createLock(self):
|
469
|
+
self._underlying.createLock()
|
470
|
+
|
471
|
+
def acquire(self):
|
472
|
+
self._underlying.acquire()
|
473
|
+
|
474
|
+
def release(self):
|
475
|
+
self._underlying.release()
|
476
|
+
|
477
|
+
def setLevel(self, level):
|
478
|
+
self._underlying.setLevel(level)
|
479
|
+
|
480
|
+
def format(self, record):
|
481
|
+
return self._underlying.format(record)
|
482
|
+
|
483
|
+
def emit(self, record):
|
484
|
+
self._underlying.emit(record)
|
485
|
+
|
486
|
+
def handle(self, record):
|
487
|
+
return self._underlying.handle(record)
|
488
|
+
|
489
|
+
def setFormatter(self, fmt):
|
490
|
+
self._underlying.setFormatter(fmt)
|
491
|
+
|
492
|
+
def flush(self):
|
493
|
+
self._underlying.flush()
|
494
|
+
|
495
|
+
def close(self):
|
496
|
+
self._underlying.close()
|
497
|
+
|
498
|
+
def handleError(self, record):
|
499
|
+
self._underlying.handleError(record)
|
500
|
+
|
501
|
+
|
502
|
+
##
|
503
|
+
|
504
|
+
|
505
|
+
class StandardLogHandler(ProxyLogHandler):
|
506
|
+
pass
|
507
|
+
|
508
|
+
|
509
|
+
##
|
510
|
+
|
511
|
+
|
406
512
|
def configure_standard_logging(
|
407
513
|
level: ta.Union[int, str] = logging.INFO,
|
408
514
|
*,
|
409
515
|
json: bool = False,
|
410
|
-
|
516
|
+
target: ta.Optional[logging.Logger] = None,
|
517
|
+
no_check: bool = False,
|
518
|
+
) -> ta.Optional[StandardLogHandler]:
|
519
|
+
if target is None:
|
520
|
+
target = logging.root
|
521
|
+
|
522
|
+
#
|
523
|
+
|
524
|
+
if not no_check:
|
525
|
+
if any(isinstance(h, StandardLogHandler) for h in list(target.handlers)):
|
526
|
+
return None
|
527
|
+
|
528
|
+
#
|
529
|
+
|
411
530
|
handler = logging.StreamHandler()
|
412
531
|
|
532
|
+
#
|
533
|
+
|
413
534
|
formatter: logging.Formatter
|
414
535
|
if json:
|
415
536
|
formatter = JsonLogFormatter()
|
@@ -417,14 +538,22 @@ def configure_standard_logging(
|
|
417
538
|
formatter = StandardLogFormatter(StandardLogFormatter.build_log_format(STANDARD_LOG_FORMAT_PARTS))
|
418
539
|
handler.setFormatter(formatter)
|
419
540
|
|
541
|
+
#
|
542
|
+
|
420
543
|
handler.addFilter(TidLogFilter())
|
421
544
|
|
422
|
-
|
545
|
+
#
|
546
|
+
|
547
|
+
target.addHandler(handler)
|
548
|
+
|
549
|
+
#
|
423
550
|
|
424
551
|
if level is not None:
|
425
|
-
|
552
|
+
target.setLevel(level)
|
553
|
+
|
554
|
+
#
|
426
555
|
|
427
|
-
return handler
|
556
|
+
return StandardLogHandler(handler)
|
428
557
|
|
429
558
|
|
430
559
|
########################################
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev25
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License: BSD-3-Clause
|
@@ -12,7 +12,7 @@ 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: omlish ==0.0.0.
|
15
|
+
Requires-Dist: omlish ==0.0.0.dev25
|
16
16
|
Provides-Extra: all
|
17
17
|
Requires-Dist: paramiko ~=3.4 ; extra == 'all'
|
18
18
|
Requires-Dist: asyncssh ~=2.17 ; (python_version < "3.13") and extra == 'all'
|
@@ -1,12 +1,13 @@
|
|
1
|
-
ominfra/__about__.py,sha256=
|
1
|
+
ominfra/__about__.py,sha256=eG50SkpKgLC04fk3UMeI3rCgGDyK5RqyJkxZoO2Plqw,793
|
2
2
|
ominfra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
|
+
ominfra/_manifests.json,sha256=N1F-Xz3GaBn2H1p7uKzhkhKCQV8QVR0t76XD6wmFtXA,3
|
3
4
|
ominfra/cmds.py,sha256=E0AfnvEmnKntXWvmLW5L05_NeDpBET1VBXn7vV6EwBQ,2083
|
4
5
|
ominfra/ssh.py,sha256=U-JCvx41KI0B0riHy7cpFCKCx_LAHeSn-Irz5aAao2w,5393
|
5
6
|
ominfra/clouds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
7
|
ominfra/clouds/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
8
|
ominfra/clouds/aws/auth.py,sha256=eV6ayidQDKrhsgoRSg4_1tSvTMa1TzFvzxS7D_gjlCc,5499
|
8
9
|
ominfra/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
ominfra/deploy/_executor.py,sha256=
|
10
|
+
ominfra/deploy/_executor.py,sha256=txU0eH3rVc_8a8PLac9WXCD0EsdK8NDPf2PdE7TKIGc,31519
|
10
11
|
ominfra/deploy/configs.py,sha256=qi0kwT7G2NH7dXLOQic-u6R3yeadup_QtvrjwWIggbM,435
|
11
12
|
ominfra/deploy/remote.py,sha256=LJSe3AJlpvNgb_5QtUiK2JIkKC2OgMvjSD1701_y2uI,2147
|
12
13
|
ominfra/deploy/executor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
@@ -21,7 +22,7 @@ ominfra/deploy/executor/concerns/systemd.py,sha256=MtsSEToEa1HNouern_JukcYTnypw_
|
|
21
22
|
ominfra/deploy/executor/concerns/user.py,sha256=j5LDfQXquIp-eEM7t6aShsrYoQrM_ILXZycTmTcRVxA,686
|
22
23
|
ominfra/deploy/executor/concerns/venv.py,sha256=jbRriqJHO4r9Zyo5Hfl_qVmcU6Qm6UgrouBroKcPn2g,775
|
23
24
|
ominfra/deploy/poly/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
24
|
-
ominfra/deploy/poly/_main.py,sha256=
|
25
|
+
ominfra/deploy/poly/_main.py,sha256=PtFGmt5MA87KTgni9goPaz0r4HuzD2HgpmsCtjFQ_v8,22751
|
25
26
|
ominfra/deploy/poly/base.py,sha256=Bd-CzUTaDvTRbdXKiTxMxs77WCEXItwNoBYCRnTk1u4,4167
|
26
27
|
ominfra/deploy/poly/configs.py,sha256=9bzWdbxhOk_Q4KokDjmRz254KHnUU71Vl1frLlhQyU4,584
|
27
28
|
ominfra/deploy/poly/deploy.py,sha256=tMYKslXLjstcv86siRt5j37USsS0Wd6lsfeGRE26zio,544
|
@@ -35,13 +36,13 @@ ominfra/deploy/poly/venv.py,sha256=BoipDEa4NTeodjf3L57KJfq9eGKLagFNKwD8pS4yrzA,1
|
|
35
36
|
ominfra/manage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
37
|
ominfra/manage/manage.py,sha256=gS2FvvdZTmNqD2dEXWTCFgCXNCepFSHVojBZ5WG6mqk,65
|
37
38
|
ominfra/pyremote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
|
-
ominfra/pyremote/_runcommands.py,sha256=
|
39
|
+
ominfra/pyremote/_runcommands.py,sha256=Lo138TWUkFWhpIzNAllnUuTz5QgpqpnzdGNA2J3Nfj4,25339
|
39
40
|
ominfra/pyremote/bootstrap.py,sha256=ybXxNitrNKuPAIl0SrU55Ktn-4R-bDveAm_ZURrmfF0,3368
|
40
41
|
ominfra/pyremote/runcommands.py,sha256=hXXP41rvgL46Oe_HOcLSp2Y84ZMQfEZqqV_jNd1x7Ak,1570
|
41
42
|
ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
43
|
ominfra/tools/listresources.py,sha256=vgLgohPwRog8e5pEljI2hOGg-Li5fcwjj-nXj2j8IQo,5918
|
43
|
-
ominfra-0.0.0.
|
44
|
-
ominfra-0.0.0.
|
45
|
-
ominfra-0.0.0.
|
46
|
-
ominfra-0.0.0.
|
47
|
-
ominfra-0.0.0.
|
44
|
+
ominfra-0.0.0.dev25.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
45
|
+
ominfra-0.0.0.dev25.dist-info/METADATA,sha256=jGQeB1sKqyuN7dUSUqzN1WtPd3aJaTJAWIm-Qw9YU2c,764
|
46
|
+
ominfra-0.0.0.dev25.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
47
|
+
ominfra-0.0.0.dev25.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
|
48
|
+
ominfra-0.0.0.dev25.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|