ominfra 0.0.0.dev315__tar.gz → 0.0.0.dev317__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.dev315/ominfra.egg-info → ominfra-0.0.0.dev317}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/services/ec2.py +1 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/scripts/journald2aws.py +14 -1
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/scripts/manage.py +178 -19
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/scripts/supervisor.py +179 -19
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317/ominfra.egg-info}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra.egg-info/requires.txt +2 -2
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/pyproject.toml +3 -3
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/LICENSE +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/MANIFEST.in +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/README.md +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/.manifests.json +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/__about__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/__main__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/auth.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/cli.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/dataclasses.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/journald2aws/main.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/logs.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/metadata.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/base.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/gen/cli.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/gen/gen.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/services/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/services/rds.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/services/s3.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/models/services/services.toml +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/gcp/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/gcp/api.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/gcp/auth.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/commands/runners.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/commands/ssh.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/journald/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/journald/fields.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/journald/genmessages.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/journald/messages.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/journald/tailer.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/__main__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/bootstrap.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/bootstrap_.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/base.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/injection.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/local.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/marshal.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/ping.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/subprocess.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/commands/types.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/config.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/apps.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/commands.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/conf/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/conf/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/conf/manager.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/conf/specs.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/config.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/deploy.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/git.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/injection.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/interp.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/nginx.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/paths/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/paths/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/paths/manager.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/paths/owners.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/paths/paths.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/paths/specs.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/paths/types.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/specs.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/systemd.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/tags.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/tmp.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/types.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/deploy/venvs.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/main.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/marshal.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/_main.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/channel.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/config.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/connection.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/execution.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/payload.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/remote/spawning.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/system/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/system/commands.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/system/config.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/system/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/system/packages.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/system/platforms.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/targets/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/targets/bestpython.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/targets/bestpython.sh +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/targets/connection.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/targets/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/manage/targets/targets.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/pyremote.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/scripts/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/LICENSE.txt +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/__main__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/configs.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/dispatchers.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/dispatchersimpl.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/errors.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/events.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/groups.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/groupsimpl.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/http.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/inject.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/io.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/main.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/pipes.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/privileges.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/process.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/processimpl.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/setup.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/setupimpl.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/signals.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/spawning.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/spawningimpl.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/states.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/supervisor.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/types.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/collections.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/diag.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/fds.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/fs.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/os.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/ostypes.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/signals.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/strings.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/supervisor/utils/users.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/systemd.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/tailscale/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/tailscale/api.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/tailscale/cli.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/threadworkers.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/tools/__init__.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/tools/listresources.py +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra.egg-info/SOURCES.txt +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra.egg-info/dependency_links.txt +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra.egg-info/entry_points.txt +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra.egg-info/top_level.txt +0 -0
- {ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev317
|
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.
|
16
|
-
Requires-Dist: omlish==0.0.0.
|
15
|
+
Requires-Dist: omdev==0.0.0.dev317
|
16
|
+
Requires-Dist: omlish==0.0.0.dev317
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.21; extra == "all"
|
@@ -1498,6 +1498,7 @@ class ResourceType(_enum.Enum):
|
|
1498
1498
|
INSTANCE_CONNECT_ENDPOINT = 'instance-connect-endpoint'
|
1499
1499
|
VERIFIED_ACCESS_ENDPOINT_TARGET = 'verified-access-endpoint-target'
|
1500
1500
|
IPAM_EXTERNAL_RESOURCE_VERIFICATION_TOKEN = 'ipam-external-resource-verification-token'
|
1501
|
+
MAC_MODIFICATION_TASK = 'mac-modification-task'
|
1501
1502
|
|
1502
1503
|
|
1503
1504
|
class RootDeviceType(_enum.Enum):
|
@@ -1955,9 +1955,16 @@ def format_num_bytes(num_bytes: int) -> str:
|
|
1955
1955
|
# ../../../../../omlish/logs/filters.py
|
1956
1956
|
|
1957
1957
|
|
1958
|
+
##
|
1959
|
+
|
1960
|
+
|
1958
1961
|
class TidLogFilter(logging.Filter):
|
1959
1962
|
def filter(self, record):
|
1960
|
-
|
1963
|
+
# FIXME: handle better - missing from wasm and cosmos
|
1964
|
+
if hasattr(threading, 'get_native_id'):
|
1965
|
+
record.tid = threading.get_native_id()
|
1966
|
+
else:
|
1967
|
+
record.tid = '?'
|
1961
1968
|
return True
|
1962
1969
|
|
1963
1970
|
|
@@ -1965,6 +1972,9 @@ class TidLogFilter(logging.Filter):
|
|
1965
1972
|
# ../../../../../omlish/logs/proxy.py
|
1966
1973
|
|
1967
1974
|
|
1975
|
+
##
|
1976
|
+
|
1977
|
+
|
1968
1978
|
class ProxyLogFilterer(logging.Filterer):
|
1969
1979
|
def __init__(self, underlying: logging.Filterer) -> None: # noqa
|
1970
1980
|
self._underlying = underlying
|
@@ -4022,6 +4032,9 @@ TODO:
|
|
4022
4032
|
"""
|
4023
4033
|
|
4024
4034
|
|
4035
|
+
##
|
4036
|
+
|
4037
|
+
|
4025
4038
|
class JsonLogFormatter(logging.Formatter):
|
4026
4039
|
KEYS: ta.Mapping[str, bool] = {
|
4027
4040
|
'name': False,
|
@@ -102,6 +102,9 @@ CheckOnRaiseFn = ta.Callable[[Exception], None] # ta.TypeAlias
|
|
102
102
|
CheckExceptionFactory = ta.Callable[..., Exception] # ta.TypeAlias
|
103
103
|
CheckArgsRenderer = ta.Callable[..., ta.Optional[str]] # ta.TypeAlias
|
104
104
|
|
105
|
+
# ../../omlish/lite/maybes.py
|
106
|
+
U = ta.TypeVar('U')
|
107
|
+
|
105
108
|
# ../../omlish/lite/timeouts.py
|
106
109
|
TimeoutLike = ta.Union['Timeout', ta.Type['Timeout.DEFAULT'], ta.Iterable['TimeoutLike'], float, None] # ta.TypeAlias
|
107
110
|
|
@@ -133,7 +136,6 @@ ExitStackedT = ta.TypeVar('ExitStackedT', bound='ExitStacked')
|
|
133
136
|
AsyncExitStackedT = ta.TypeVar('AsyncExitStackedT', bound='AsyncExitStacked')
|
134
137
|
|
135
138
|
# ../../omlish/lite/inject.py
|
136
|
-
U = ta.TypeVar('U')
|
137
139
|
InjectorKeyCls = ta.Union[type, ta.NewType]
|
138
140
|
InjectorProviderFn = ta.Callable[['Injector'], ta.Any]
|
139
141
|
InjectorProviderFnMap = ta.Mapping['InjectorKey', 'InjectorProviderFn']
|
@@ -3011,7 +3013,13 @@ log = logging.getLogger(__name__)
|
|
3011
3013
|
##
|
3012
3014
|
|
3013
3015
|
|
3016
|
+
@functools.total_ordering
|
3014
3017
|
class Maybe(ta.Generic[T]):
|
3018
|
+
class ValueNotPresentError(BaseException):
|
3019
|
+
pass
|
3020
|
+
|
3021
|
+
#
|
3022
|
+
|
3015
3023
|
@property
|
3016
3024
|
@abc.abstractmethod
|
3017
3025
|
def present(self) -> bool:
|
@@ -3021,9 +3029,102 @@ class Maybe(ta.Generic[T]):
|
|
3021
3029
|
def must(self) -> T:
|
3022
3030
|
raise NotImplementedError
|
3023
3031
|
|
3032
|
+
#
|
3033
|
+
|
3034
|
+
@abc.abstractmethod
|
3035
|
+
def __repr__(self) -> str:
|
3036
|
+
raise NotImplementedError
|
3037
|
+
|
3038
|
+
@abc.abstractmethod
|
3039
|
+
def __hash__(self) -> int:
|
3040
|
+
raise NotImplementedError
|
3041
|
+
|
3042
|
+
@abc.abstractmethod
|
3043
|
+
def __eq__(self, other) -> bool:
|
3044
|
+
raise NotImplementedError
|
3045
|
+
|
3046
|
+
@abc.abstractmethod
|
3047
|
+
def __lt__(self, other) -> bool:
|
3048
|
+
raise NotImplementedError
|
3049
|
+
|
3050
|
+
#
|
3051
|
+
|
3052
|
+
@ta.final
|
3053
|
+
def __ne__(self, other):
|
3054
|
+
return not (self == other)
|
3055
|
+
|
3056
|
+
@ta.final
|
3057
|
+
def __iter__(self) -> ta.Iterator[T]:
|
3058
|
+
if self.present:
|
3059
|
+
yield self.must()
|
3060
|
+
|
3061
|
+
@ta.final
|
3062
|
+
def __bool__(self) -> ta.NoReturn:
|
3063
|
+
raise TypeError
|
3064
|
+
|
3065
|
+
#
|
3066
|
+
|
3067
|
+
@ta.final
|
3068
|
+
def if_present(self, consumer: ta.Callable[[T], None]) -> None:
|
3069
|
+
if self.present:
|
3070
|
+
consumer(self.must())
|
3071
|
+
|
3072
|
+
@ta.final
|
3073
|
+
def filter(self, predicate: ta.Callable[[T], bool]) -> 'Maybe[T]':
|
3074
|
+
if self.present and predicate(self.must()):
|
3075
|
+
return self
|
3076
|
+
else:
|
3077
|
+
return Maybe.empty()
|
3078
|
+
|
3079
|
+
@ta.final
|
3080
|
+
def map(self, mapper: ta.Callable[[T], U]) -> 'Maybe[U]':
|
3081
|
+
if self.present:
|
3082
|
+
return Maybe.just(mapper(self.must()))
|
3083
|
+
else:
|
3084
|
+
return Maybe.empty()
|
3085
|
+
|
3086
|
+
@ta.final
|
3087
|
+
def flat_map(self, mapper: ta.Callable[[T], 'Maybe[U]']) -> 'Maybe[U]':
|
3088
|
+
if self.present:
|
3089
|
+
if not isinstance(v := mapper(self.must()), Maybe):
|
3090
|
+
raise TypeError(v)
|
3091
|
+
return v
|
3092
|
+
else:
|
3093
|
+
return Maybe.empty()
|
3094
|
+
|
3095
|
+
@ta.final
|
3096
|
+
def or_else(self, other: ta.Union[T, U]) -> ta.Union[T, U]:
|
3097
|
+
if self.present:
|
3098
|
+
return self.must()
|
3099
|
+
else:
|
3100
|
+
return other
|
3101
|
+
|
3102
|
+
@ta.final
|
3103
|
+
def or_else_get(self, supplier: ta.Callable[[], ta.Union[T, U]]) -> ta.Union[T, U]:
|
3104
|
+
if self.present:
|
3105
|
+
return self.must()
|
3106
|
+
else:
|
3107
|
+
return supplier()
|
3108
|
+
|
3109
|
+
@ta.final
|
3110
|
+
def or_else_raise(self, exception_supplier: ta.Callable[[], Exception]) -> T:
|
3111
|
+
if self.present:
|
3112
|
+
return self.must()
|
3113
|
+
else:
|
3114
|
+
raise exception_supplier()
|
3115
|
+
|
3116
|
+
#
|
3117
|
+
|
3118
|
+
@classmethod
|
3119
|
+
def of_optional(cls, v: ta.Optional[T]) -> 'Maybe[T]':
|
3120
|
+
if v is not None:
|
3121
|
+
return cls.just(v)
|
3122
|
+
else:
|
3123
|
+
return cls.empty()
|
3124
|
+
|
3024
3125
|
@classmethod
|
3025
3126
|
def just(cls, v: T) -> 'Maybe[T]':
|
3026
|
-
return
|
3127
|
+
return _JustMaybe(v)
|
3027
3128
|
|
3028
3129
|
_empty: ta.ClassVar['Maybe']
|
3029
3130
|
|
@@ -3032,36 +3133,81 @@ class Maybe(ta.Generic[T]):
|
|
3032
3133
|
return Maybe._empty
|
3033
3134
|
|
3034
3135
|
|
3035
|
-
|
3036
|
-
__slots__ = ()
|
3136
|
+
##
|
3037
3137
|
|
3038
|
-
|
3039
|
-
|
3138
|
+
|
3139
|
+
class _Maybe(Maybe[T], abc.ABC):
|
3140
|
+
def __lt__(self, other):
|
3141
|
+
if not isinstance(other, _Maybe):
|
3142
|
+
return NotImplemented
|
3143
|
+
sp = self.present
|
3144
|
+
op = other.present
|
3145
|
+
if self.present and other.present:
|
3146
|
+
return self.must() < other.must()
|
3147
|
+
else:
|
3148
|
+
return op and not sp
|
3149
|
+
|
3150
|
+
|
3151
|
+
class _JustMaybe(_Maybe[T]):
|
3152
|
+
__slots__ = ('_v', '_hash')
|
3153
|
+
|
3154
|
+
def __init__(self, v: T) -> None:
|
3155
|
+
super().__init__()
|
3156
|
+
|
3157
|
+
self._v = v
|
3040
3158
|
|
3041
3159
|
@property
|
3042
3160
|
def present(self) -> bool:
|
3043
|
-
return
|
3161
|
+
return True
|
3044
3162
|
|
3045
3163
|
def must(self) -> T:
|
3046
|
-
|
3047
|
-
raise ValueError
|
3048
|
-
return self[0]
|
3164
|
+
return self._v
|
3049
3165
|
|
3166
|
+
#
|
3050
3167
|
|
3051
|
-
|
3168
|
+
def __repr__(self) -> str:
|
3169
|
+
return f'just({self._v!r})'
|
3052
3170
|
|
3171
|
+
_hash: int
|
3053
3172
|
|
3054
|
-
|
3173
|
+
def __hash__(self) -> int:
|
3174
|
+
try:
|
3175
|
+
return self._hash
|
3176
|
+
except AttributeError:
|
3177
|
+
pass
|
3178
|
+
h = self._hash = hash((_JustMaybe, self._v))
|
3179
|
+
return h
|
3055
3180
|
|
3181
|
+
def __eq__(self, other):
|
3182
|
+
return (
|
3183
|
+
self.__class__ is other.__class__ and
|
3184
|
+
self._v == other._v # noqa
|
3185
|
+
)
|
3186
|
+
|
3187
|
+
|
3188
|
+
class _EmptyMaybe(_Maybe[T]):
|
3189
|
+
__slots__ = ()
|
3190
|
+
|
3191
|
+
@property
|
3192
|
+
def present(self) -> bool:
|
3193
|
+
return False
|
3056
3194
|
|
3057
|
-
|
3058
|
-
|
3059
|
-
raise TypeError(obj)
|
3195
|
+
def must(self) -> T:
|
3196
|
+
raise Maybe.ValueNotPresentError
|
3060
3197
|
|
3198
|
+
#
|
3061
3199
|
|
3062
|
-
|
3063
|
-
|
3064
|
-
|
3200
|
+
def __repr__(self) -> str:
|
3201
|
+
return 'empty()'
|
3202
|
+
|
3203
|
+
def __hash__(self) -> int:
|
3204
|
+
return hash(_EmptyMaybe)
|
3205
|
+
|
3206
|
+
def __eq__(self, other):
|
3207
|
+
return self.__class__ is other.__class__
|
3208
|
+
|
3209
|
+
|
3210
|
+
Maybe._empty = _EmptyMaybe() # noqa
|
3065
3211
|
|
3066
3212
|
|
3067
3213
|
########################################
|
@@ -3563,9 +3709,16 @@ class Func3(ta.Generic[A0, A1, A2, T]):
|
|
3563
3709
|
# ../../../omlish/logs/filters.py
|
3564
3710
|
|
3565
3711
|
|
3712
|
+
##
|
3713
|
+
|
3714
|
+
|
3566
3715
|
class TidLogFilter(logging.Filter):
|
3567
3716
|
def filter(self, record):
|
3568
|
-
|
3717
|
+
# FIXME: handle better - missing from wasm and cosmos
|
3718
|
+
if hasattr(threading, 'get_native_id'):
|
3719
|
+
record.tid = threading.get_native_id()
|
3720
|
+
else:
|
3721
|
+
record.tid = '?'
|
3569
3722
|
return True
|
3570
3723
|
|
3571
3724
|
|
@@ -3573,6 +3726,9 @@ class TidLogFilter(logging.Filter):
|
|
3573
3726
|
# ../../../omlish/logs/proxy.py
|
3574
3727
|
|
3575
3728
|
|
3729
|
+
##
|
3730
|
+
|
3731
|
+
|
3576
3732
|
class ProxyLogFilterer(logging.Filterer):
|
3577
3733
|
def __init__(self, underlying: logging.Filterer) -> None: # noqa
|
3578
3734
|
self._underlying = underlying
|
@@ -7612,6 +7768,9 @@ TODO:
|
|
7612
7768
|
"""
|
7613
7769
|
|
7614
7770
|
|
7771
|
+
##
|
7772
|
+
|
7773
|
+
|
7615
7774
|
class JsonLogFormatter(logging.Formatter):
|
7616
7775
|
KEYS: ta.Mapping[str, bool] = {
|
7617
7776
|
'name': False,
|
@@ -57,6 +57,7 @@ import fractions
|
|
57
57
|
import functools
|
58
58
|
import grp
|
59
59
|
import html
|
60
|
+
import http
|
60
61
|
import http.client
|
61
62
|
import http.server
|
62
63
|
import inspect
|
@@ -127,6 +128,9 @@ CheckOnRaiseFn = ta.Callable[[Exception], None] # ta.TypeAlias
|
|
127
128
|
CheckExceptionFactory = ta.Callable[..., Exception] # ta.TypeAlias
|
128
129
|
CheckArgsRenderer = ta.Callable[..., ta.Optional[str]] # ta.TypeAlias
|
129
130
|
|
131
|
+
# ../../omlish/lite/maybes.py
|
132
|
+
U = ta.TypeVar('U')
|
133
|
+
|
130
134
|
# ../../omlish/lite/typing.py
|
131
135
|
A0 = ta.TypeVar('A0')
|
132
136
|
A1 = ta.TypeVar('A1')
|
@@ -146,7 +150,6 @@ ConfigDataT = ta.TypeVar('ConfigDataT', bound='ConfigData')
|
|
146
150
|
HttpHeaders = http.client.HTTPMessage # ta.TypeAlias
|
147
151
|
|
148
152
|
# ../../omlish/lite/inject.py
|
149
|
-
U = ta.TypeVar('U')
|
150
153
|
InjectorKeyCls = ta.Union[type, ta.NewType]
|
151
154
|
InjectorProviderFn = ta.Callable[['Injector'], ta.Any]
|
152
155
|
InjectorProviderFnMap = ta.Mapping['InjectorKey', 'InjectorProviderFn']
|
@@ -2541,7 +2544,13 @@ log = logging.getLogger(__name__)
|
|
2541
2544
|
##
|
2542
2545
|
|
2543
2546
|
|
2547
|
+
@functools.total_ordering
|
2544
2548
|
class Maybe(ta.Generic[T]):
|
2549
|
+
class ValueNotPresentError(BaseException):
|
2550
|
+
pass
|
2551
|
+
|
2552
|
+
#
|
2553
|
+
|
2545
2554
|
@property
|
2546
2555
|
@abc.abstractmethod
|
2547
2556
|
def present(self) -> bool:
|
@@ -2551,9 +2560,102 @@ class Maybe(ta.Generic[T]):
|
|
2551
2560
|
def must(self) -> T:
|
2552
2561
|
raise NotImplementedError
|
2553
2562
|
|
2563
|
+
#
|
2564
|
+
|
2565
|
+
@abc.abstractmethod
|
2566
|
+
def __repr__(self) -> str:
|
2567
|
+
raise NotImplementedError
|
2568
|
+
|
2569
|
+
@abc.abstractmethod
|
2570
|
+
def __hash__(self) -> int:
|
2571
|
+
raise NotImplementedError
|
2572
|
+
|
2573
|
+
@abc.abstractmethod
|
2574
|
+
def __eq__(self, other) -> bool:
|
2575
|
+
raise NotImplementedError
|
2576
|
+
|
2577
|
+
@abc.abstractmethod
|
2578
|
+
def __lt__(self, other) -> bool:
|
2579
|
+
raise NotImplementedError
|
2580
|
+
|
2581
|
+
#
|
2582
|
+
|
2583
|
+
@ta.final
|
2584
|
+
def __ne__(self, other):
|
2585
|
+
return not (self == other)
|
2586
|
+
|
2587
|
+
@ta.final
|
2588
|
+
def __iter__(self) -> ta.Iterator[T]:
|
2589
|
+
if self.present:
|
2590
|
+
yield self.must()
|
2591
|
+
|
2592
|
+
@ta.final
|
2593
|
+
def __bool__(self) -> ta.NoReturn:
|
2594
|
+
raise TypeError
|
2595
|
+
|
2596
|
+
#
|
2597
|
+
|
2598
|
+
@ta.final
|
2599
|
+
def if_present(self, consumer: ta.Callable[[T], None]) -> None:
|
2600
|
+
if self.present:
|
2601
|
+
consumer(self.must())
|
2602
|
+
|
2603
|
+
@ta.final
|
2604
|
+
def filter(self, predicate: ta.Callable[[T], bool]) -> 'Maybe[T]':
|
2605
|
+
if self.present and predicate(self.must()):
|
2606
|
+
return self
|
2607
|
+
else:
|
2608
|
+
return Maybe.empty()
|
2609
|
+
|
2610
|
+
@ta.final
|
2611
|
+
def map(self, mapper: ta.Callable[[T], U]) -> 'Maybe[U]':
|
2612
|
+
if self.present:
|
2613
|
+
return Maybe.just(mapper(self.must()))
|
2614
|
+
else:
|
2615
|
+
return Maybe.empty()
|
2616
|
+
|
2617
|
+
@ta.final
|
2618
|
+
def flat_map(self, mapper: ta.Callable[[T], 'Maybe[U]']) -> 'Maybe[U]':
|
2619
|
+
if self.present:
|
2620
|
+
if not isinstance(v := mapper(self.must()), Maybe):
|
2621
|
+
raise TypeError(v)
|
2622
|
+
return v
|
2623
|
+
else:
|
2624
|
+
return Maybe.empty()
|
2625
|
+
|
2626
|
+
@ta.final
|
2627
|
+
def or_else(self, other: ta.Union[T, U]) -> ta.Union[T, U]:
|
2628
|
+
if self.present:
|
2629
|
+
return self.must()
|
2630
|
+
else:
|
2631
|
+
return other
|
2632
|
+
|
2633
|
+
@ta.final
|
2634
|
+
def or_else_get(self, supplier: ta.Callable[[], ta.Union[T, U]]) -> ta.Union[T, U]:
|
2635
|
+
if self.present:
|
2636
|
+
return self.must()
|
2637
|
+
else:
|
2638
|
+
return supplier()
|
2639
|
+
|
2640
|
+
@ta.final
|
2641
|
+
def or_else_raise(self, exception_supplier: ta.Callable[[], Exception]) -> T:
|
2642
|
+
if self.present:
|
2643
|
+
return self.must()
|
2644
|
+
else:
|
2645
|
+
raise exception_supplier()
|
2646
|
+
|
2647
|
+
#
|
2648
|
+
|
2649
|
+
@classmethod
|
2650
|
+
def of_optional(cls, v: ta.Optional[T]) -> 'Maybe[T]':
|
2651
|
+
if v is not None:
|
2652
|
+
return cls.just(v)
|
2653
|
+
else:
|
2654
|
+
return cls.empty()
|
2655
|
+
|
2554
2656
|
@classmethod
|
2555
2657
|
def just(cls, v: T) -> 'Maybe[T]':
|
2556
|
-
return
|
2658
|
+
return _JustMaybe(v)
|
2557
2659
|
|
2558
2660
|
_empty: ta.ClassVar['Maybe']
|
2559
2661
|
|
@@ -2562,36 +2664,81 @@ class Maybe(ta.Generic[T]):
|
|
2562
2664
|
return Maybe._empty
|
2563
2665
|
|
2564
2666
|
|
2565
|
-
|
2566
|
-
__slots__ = ()
|
2667
|
+
##
|
2567
2668
|
|
2568
|
-
|
2569
|
-
|
2669
|
+
|
2670
|
+
class _Maybe(Maybe[T], abc.ABC):
|
2671
|
+
def __lt__(self, other):
|
2672
|
+
if not isinstance(other, _Maybe):
|
2673
|
+
return NotImplemented
|
2674
|
+
sp = self.present
|
2675
|
+
op = other.present
|
2676
|
+
if self.present and other.present:
|
2677
|
+
return self.must() < other.must()
|
2678
|
+
else:
|
2679
|
+
return op and not sp
|
2680
|
+
|
2681
|
+
|
2682
|
+
class _JustMaybe(_Maybe[T]):
|
2683
|
+
__slots__ = ('_v', '_hash')
|
2684
|
+
|
2685
|
+
def __init__(self, v: T) -> None:
|
2686
|
+
super().__init__()
|
2687
|
+
|
2688
|
+
self._v = v
|
2570
2689
|
|
2571
2690
|
@property
|
2572
2691
|
def present(self) -> bool:
|
2573
|
-
return
|
2692
|
+
return True
|
2574
2693
|
|
2575
2694
|
def must(self) -> T:
|
2576
|
-
|
2577
|
-
raise ValueError
|
2578
|
-
return self[0]
|
2695
|
+
return self._v
|
2579
2696
|
|
2697
|
+
#
|
2580
2698
|
|
2581
|
-
|
2699
|
+
def __repr__(self) -> str:
|
2700
|
+
return f'just({self._v!r})'
|
2582
2701
|
|
2702
|
+
_hash: int
|
2583
2703
|
|
2584
|
-
|
2704
|
+
def __hash__(self) -> int:
|
2705
|
+
try:
|
2706
|
+
return self._hash
|
2707
|
+
except AttributeError:
|
2708
|
+
pass
|
2709
|
+
h = self._hash = hash((_JustMaybe, self._v))
|
2710
|
+
return h
|
2585
2711
|
|
2712
|
+
def __eq__(self, other):
|
2713
|
+
return (
|
2714
|
+
self.__class__ is other.__class__ and
|
2715
|
+
self._v == other._v # noqa
|
2716
|
+
)
|
2717
|
+
|
2718
|
+
|
2719
|
+
class _EmptyMaybe(_Maybe[T]):
|
2720
|
+
__slots__ = ()
|
2721
|
+
|
2722
|
+
@property
|
2723
|
+
def present(self) -> bool:
|
2724
|
+
return False
|
2586
2725
|
|
2587
|
-
|
2588
|
-
|
2589
|
-
raise TypeError(obj)
|
2726
|
+
def must(self) -> T:
|
2727
|
+
raise Maybe.ValueNotPresentError
|
2590
2728
|
|
2729
|
+
#
|
2591
2730
|
|
2592
|
-
|
2593
|
-
|
2594
|
-
|
2731
|
+
def __repr__(self) -> str:
|
2732
|
+
return 'empty()'
|
2733
|
+
|
2734
|
+
def __hash__(self) -> int:
|
2735
|
+
return hash(_EmptyMaybe)
|
2736
|
+
|
2737
|
+
def __eq__(self, other):
|
2738
|
+
return self.__class__ is other.__class__
|
2739
|
+
|
2740
|
+
|
2741
|
+
Maybe._empty = _EmptyMaybe() # noqa
|
2595
2742
|
|
2596
2743
|
|
2597
2744
|
########################################
|
@@ -2832,9 +2979,16 @@ class Func3(ta.Generic[A0, A1, A2, T]):
|
|
2832
2979
|
# ../../../omlish/logs/filters.py
|
2833
2980
|
|
2834
2981
|
|
2982
|
+
##
|
2983
|
+
|
2984
|
+
|
2835
2985
|
class TidLogFilter(logging.Filter):
|
2836
2986
|
def filter(self, record):
|
2837
|
-
|
2987
|
+
# FIXME: handle better - missing from wasm and cosmos
|
2988
|
+
if hasattr(threading, 'get_native_id'):
|
2989
|
+
record.tid = threading.get_native_id()
|
2990
|
+
else:
|
2991
|
+
record.tid = '?'
|
2838
2992
|
return True
|
2839
2993
|
|
2840
2994
|
|
@@ -2842,6 +2996,9 @@ class TidLogFilter(logging.Filter):
|
|
2842
2996
|
# ../../../omlish/logs/proxy.py
|
2843
2997
|
|
2844
2998
|
|
2999
|
+
##
|
3000
|
+
|
3001
|
+
|
2845
3002
|
class ProxyLogFilterer(logging.Filterer):
|
2846
3003
|
def __init__(self, underlying: logging.Filterer) -> None: # noqa
|
2847
3004
|
self._underlying = underlying
|
@@ -6357,6 +6514,9 @@ TODO:
|
|
6357
6514
|
"""
|
6358
6515
|
|
6359
6516
|
|
6517
|
+
##
|
6518
|
+
|
6519
|
+
|
6360
6520
|
class JsonLogFormatter(logging.Formatter):
|
6361
6521
|
KEYS: ta.Mapping[str, bool] = {
|
6362
6522
|
'name': False,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev317
|
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.
|
16
|
-
Requires-Dist: omlish==0.0.0.
|
15
|
+
Requires-Dist: omdev==0.0.0.dev317
|
16
|
+
Requires-Dist: omlish==0.0.0.dev317
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.21; 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.dev317'
|
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.
|
26
|
-
'omlish == 0.0.0.
|
25
|
+
'omdev == 0.0.0.dev317',
|
26
|
+
'omlish == 0.0.0.dev317',
|
27
27
|
]
|
28
28
|
|
29
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
|
{ominfra-0.0.0.dev315 → ominfra-0.0.0.dev317}/ominfra/clouds/aws/instancetypes/cache.json.gz
RENAMED
File without changes
|