ominfra 0.0.0.dev372__tar.gz → 0.0.0.dev374__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.dev372/ominfra.egg-info → ominfra-0.0.0.dev374}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/scripts/journald2aws.py +63 -3
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/scripts/manage.py +63 -3
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/scripts/supervisor.py +63 -3
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374/ominfra.egg-info}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra.egg-info/requires.txt +2 -2
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/pyproject.toml +3 -3
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/LICENSE +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/MANIFEST.in +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/README.md +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/.manifests.json +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/__about__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/__main__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/auth.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/cli.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/dataclasses.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/journald2aws/main.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/logs.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/metadata.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/base.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/gen/cli.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/gen/gen.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/ec2.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/rds.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/s3.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/services.toml +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/gcp/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/gcp/api.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/gcp/auth.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/commands/runners.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/commands/ssh.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/journald/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/journald/fields.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/journald/genmessages.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/journald/messages.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/journald/tailer.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/__main__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/bootstrap.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/bootstrap_.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/base.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/injection.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/local.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/marshal.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/ping.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/subprocess.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/commands/types.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/config.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/apps.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/commands.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/conf/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/conf/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/conf/manager.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/conf/specs.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/config.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/deploy.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/git.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/injection.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/interp.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/nginx.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/paths/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/paths/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/paths/manager.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/paths/owners.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/paths/paths.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/paths/specs.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/paths/types.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/specs.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/systemd.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/tags.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/tmp.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/types.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/deploy/venvs.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/main.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/marshal.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/_main.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/channel.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/config.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/connection.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/execution.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/payload.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/remote/spawning.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/system/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/system/commands.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/system/config.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/system/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/system/packages.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/system/platforms.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/targets/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/targets/bestpython.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/targets/bestpython.sh +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/targets/connection.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/targets/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/manage/targets/targets.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/pyremote.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/scripts/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/LICENSE.txt +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/__main__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/configs.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/dispatchers.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/dispatchersimpl.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/errors.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/events.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/groups.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/groupsimpl.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/http.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/inject.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/io.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/main.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/pipes.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/privileges.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/process.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/processimpl.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/setup.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/setupimpl.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/signals.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/spawning.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/spawningimpl.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/states.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/supervisor.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/types.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/collections.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/diag.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/fds.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/fs.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/os.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/ostypes.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/signals.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/strings.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/supervisor/utils/users.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/systemd.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/tailscale/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/tailscale/api.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/tailscale/cli.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/threadworkers.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/tools/__init__.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/tools/listresources.py +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra.egg-info/SOURCES.txt +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra.egg-info/dependency_links.txt +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra.egg-info/entry_points.txt +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra.egg-info/top_level.txt +0 -0
- {ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/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.dev374
|
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.13
|
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.dev374
|
16
|
+
Requires-Dist: omlish==0.0.0.dev374
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.21; extra == "all"
|
@@ -3423,7 +3423,6 @@ class aclosing(contextlib.AbstractAsyncContextManager): # noqa
|
|
3423
3423
|
"""
|
3424
3424
|
TODO:
|
3425
3425
|
- pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
|
3426
|
-
- literals
|
3427
3426
|
- Options.sequence_cls = list, mapping_cls = dict, ... - def with_mutable_containers() -> Options
|
3428
3427
|
"""
|
3429
3428
|
|
@@ -3537,6 +3536,28 @@ class OptionalObjMarshaler(ObjMarshaler):
|
|
3537
3536
|
return self.item.unmarshal(o, ctx)
|
3538
3537
|
|
3539
3538
|
|
3539
|
+
@dc.dataclass(frozen=True)
|
3540
|
+
class PrimitiveUnionObjMarshaler(ObjMarshaler):
|
3541
|
+
pt: ta.Tuple[type, ...]
|
3542
|
+
x: ta.Optional[ObjMarshaler] = None
|
3543
|
+
|
3544
|
+
def marshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
3545
|
+
if isinstance(o, self.pt):
|
3546
|
+
return o
|
3547
|
+
elif self.x is not None:
|
3548
|
+
return self.x.marshal(o, ctx)
|
3549
|
+
else:
|
3550
|
+
raise TypeError(o)
|
3551
|
+
|
3552
|
+
def unmarshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
3553
|
+
if isinstance(o, self.pt):
|
3554
|
+
return o
|
3555
|
+
elif self.x is not None:
|
3556
|
+
return self.x.unmarshal(o, ctx)
|
3557
|
+
else:
|
3558
|
+
raise TypeError(o)
|
3559
|
+
|
3560
|
+
|
3540
3561
|
@dc.dataclass(frozen=True)
|
3541
3562
|
class LiteralObjMarshaler(ObjMarshaler):
|
3542
3563
|
item: ObjMarshaler
|
@@ -3735,6 +3756,13 @@ _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES: ta.Dict[ta.Any, type] = {
|
|
3735
3756
|
collections.abc.MutableSequence: list,
|
3736
3757
|
}
|
3737
3758
|
|
3759
|
+
_OBJ_MARSHALER_PRIMITIVE_TYPES: ta.Set[type] = {
|
3760
|
+
int,
|
3761
|
+
float,
|
3762
|
+
bool,
|
3763
|
+
str,
|
3764
|
+
}
|
3765
|
+
|
3738
3766
|
|
3739
3767
|
##
|
3740
3768
|
|
@@ -3883,8 +3911,16 @@ class ObjMarshalerManager:
|
|
3883
3911
|
|
3884
3912
|
if is_literal_type(ty):
|
3885
3913
|
lvs = frozenset(get_literal_type_args(ty))
|
3914
|
+
if None in lvs:
|
3915
|
+
is_opt = True
|
3916
|
+
lvs -= frozenset([None])
|
3917
|
+
else:
|
3918
|
+
is_opt = False
|
3886
3919
|
lty = check.single(set(map(type, lvs)))
|
3887
|
-
|
3920
|
+
lm: ObjMarshaler = LiteralObjMarshaler(rec(lty), lvs)
|
3921
|
+
if is_opt:
|
3922
|
+
lm = OptionalObjMarshaler(lm)
|
3923
|
+
return lm
|
3888
3924
|
|
3889
3925
|
if is_generic_alias(ty):
|
3890
3926
|
try:
|
@@ -3904,7 +3940,31 @@ class ObjMarshalerManager:
|
|
3904
3940
|
return IterableObjMarshaler(st, rec(e))
|
3905
3941
|
|
3906
3942
|
if is_union_alias(ty):
|
3907
|
-
|
3943
|
+
uts = frozenset(ta.get_args(ty))
|
3944
|
+
if None in uts or type(None) in uts:
|
3945
|
+
is_opt = True
|
3946
|
+
uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
|
3947
|
+
else:
|
3948
|
+
is_opt = False
|
3949
|
+
|
3950
|
+
um: ObjMarshaler
|
3951
|
+
if not uts:
|
3952
|
+
raise TypeError(ty)
|
3953
|
+
elif len(uts) == 1:
|
3954
|
+
um = rec(check.single(uts))
|
3955
|
+
else:
|
3956
|
+
pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
|
3957
|
+
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
3958
|
+
if not np_uts:
|
3959
|
+
um = PrimitiveUnionObjMarshaler(pt)
|
3960
|
+
elif len(np_uts) == 1:
|
3961
|
+
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
3962
|
+
else:
|
3963
|
+
raise TypeError(ty)
|
3964
|
+
|
3965
|
+
if is_opt:
|
3966
|
+
um = OptionalObjMarshaler(um)
|
3967
|
+
return um
|
3908
3968
|
|
3909
3969
|
raise TypeError(ty)
|
3910
3970
|
|
@@ -7211,7 +7211,6 @@ inj = InjectionApi()
|
|
7211
7211
|
"""
|
7212
7212
|
TODO:
|
7213
7213
|
- pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
|
7214
|
-
- literals
|
7215
7214
|
- Options.sequence_cls = list, mapping_cls = dict, ... - def with_mutable_containers() -> Options
|
7216
7215
|
"""
|
7217
7216
|
|
@@ -7325,6 +7324,28 @@ class OptionalObjMarshaler(ObjMarshaler):
|
|
7325
7324
|
return self.item.unmarshal(o, ctx)
|
7326
7325
|
|
7327
7326
|
|
7327
|
+
@dc.dataclass(frozen=True)
|
7328
|
+
class PrimitiveUnionObjMarshaler(ObjMarshaler):
|
7329
|
+
pt: ta.Tuple[type, ...]
|
7330
|
+
x: ta.Optional[ObjMarshaler] = None
|
7331
|
+
|
7332
|
+
def marshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
7333
|
+
if isinstance(o, self.pt):
|
7334
|
+
return o
|
7335
|
+
elif self.x is not None:
|
7336
|
+
return self.x.marshal(o, ctx)
|
7337
|
+
else:
|
7338
|
+
raise TypeError(o)
|
7339
|
+
|
7340
|
+
def unmarshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
7341
|
+
if isinstance(o, self.pt):
|
7342
|
+
return o
|
7343
|
+
elif self.x is not None:
|
7344
|
+
return self.x.unmarshal(o, ctx)
|
7345
|
+
else:
|
7346
|
+
raise TypeError(o)
|
7347
|
+
|
7348
|
+
|
7328
7349
|
@dc.dataclass(frozen=True)
|
7329
7350
|
class LiteralObjMarshaler(ObjMarshaler):
|
7330
7351
|
item: ObjMarshaler
|
@@ -7523,6 +7544,13 @@ _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES: ta.Dict[ta.Any, type] = {
|
|
7523
7544
|
collections.abc.MutableSequence: list,
|
7524
7545
|
}
|
7525
7546
|
|
7547
|
+
_OBJ_MARSHALER_PRIMITIVE_TYPES: ta.Set[type] = {
|
7548
|
+
int,
|
7549
|
+
float,
|
7550
|
+
bool,
|
7551
|
+
str,
|
7552
|
+
}
|
7553
|
+
|
7526
7554
|
|
7527
7555
|
##
|
7528
7556
|
|
@@ -7671,8 +7699,16 @@ class ObjMarshalerManager:
|
|
7671
7699
|
|
7672
7700
|
if is_literal_type(ty):
|
7673
7701
|
lvs = frozenset(get_literal_type_args(ty))
|
7702
|
+
if None in lvs:
|
7703
|
+
is_opt = True
|
7704
|
+
lvs -= frozenset([None])
|
7705
|
+
else:
|
7706
|
+
is_opt = False
|
7674
7707
|
lty = check.single(set(map(type, lvs)))
|
7675
|
-
|
7708
|
+
lm: ObjMarshaler = LiteralObjMarshaler(rec(lty), lvs)
|
7709
|
+
if is_opt:
|
7710
|
+
lm = OptionalObjMarshaler(lm)
|
7711
|
+
return lm
|
7676
7712
|
|
7677
7713
|
if is_generic_alias(ty):
|
7678
7714
|
try:
|
@@ -7692,7 +7728,31 @@ class ObjMarshalerManager:
|
|
7692
7728
|
return IterableObjMarshaler(st, rec(e))
|
7693
7729
|
|
7694
7730
|
if is_union_alias(ty):
|
7695
|
-
|
7731
|
+
uts = frozenset(ta.get_args(ty))
|
7732
|
+
if None in uts or type(None) in uts:
|
7733
|
+
is_opt = True
|
7734
|
+
uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
|
7735
|
+
else:
|
7736
|
+
is_opt = False
|
7737
|
+
|
7738
|
+
um: ObjMarshaler
|
7739
|
+
if not uts:
|
7740
|
+
raise TypeError(ty)
|
7741
|
+
elif len(uts) == 1:
|
7742
|
+
um = rec(check.single(uts))
|
7743
|
+
else:
|
7744
|
+
pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
|
7745
|
+
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
7746
|
+
if not np_uts:
|
7747
|
+
um = PrimitiveUnionObjMarshaler(pt)
|
7748
|
+
elif len(np_uts) == 1:
|
7749
|
+
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
7750
|
+
else:
|
7751
|
+
raise TypeError(ty)
|
7752
|
+
|
7753
|
+
if is_opt:
|
7754
|
+
um = OptionalObjMarshaler(um)
|
7755
|
+
return um
|
7696
7756
|
|
7697
7757
|
raise TypeError(ty)
|
7698
7758
|
|
@@ -5902,7 +5902,6 @@ inj = InjectionApi()
|
|
5902
5902
|
"""
|
5903
5903
|
TODO:
|
5904
5904
|
- pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
|
5905
|
-
- literals
|
5906
5905
|
- Options.sequence_cls = list, mapping_cls = dict, ... - def with_mutable_containers() -> Options
|
5907
5906
|
"""
|
5908
5907
|
|
@@ -6016,6 +6015,28 @@ class OptionalObjMarshaler(ObjMarshaler):
|
|
6016
6015
|
return self.item.unmarshal(o, ctx)
|
6017
6016
|
|
6018
6017
|
|
6018
|
+
@dc.dataclass(frozen=True)
|
6019
|
+
class PrimitiveUnionObjMarshaler(ObjMarshaler):
|
6020
|
+
pt: ta.Tuple[type, ...]
|
6021
|
+
x: ta.Optional[ObjMarshaler] = None
|
6022
|
+
|
6023
|
+
def marshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
6024
|
+
if isinstance(o, self.pt):
|
6025
|
+
return o
|
6026
|
+
elif self.x is not None:
|
6027
|
+
return self.x.marshal(o, ctx)
|
6028
|
+
else:
|
6029
|
+
raise TypeError(o)
|
6030
|
+
|
6031
|
+
def unmarshal(self, o: ta.Any, ctx: 'ObjMarshalContext') -> ta.Any:
|
6032
|
+
if isinstance(o, self.pt):
|
6033
|
+
return o
|
6034
|
+
elif self.x is not None:
|
6035
|
+
return self.x.unmarshal(o, ctx)
|
6036
|
+
else:
|
6037
|
+
raise TypeError(o)
|
6038
|
+
|
6039
|
+
|
6019
6040
|
@dc.dataclass(frozen=True)
|
6020
6041
|
class LiteralObjMarshaler(ObjMarshaler):
|
6021
6042
|
item: ObjMarshaler
|
@@ -6214,6 +6235,13 @@ _OBJ_MARSHALER_GENERIC_ITERABLE_TYPES: ta.Dict[ta.Any, type] = {
|
|
6214
6235
|
collections.abc.MutableSequence: list,
|
6215
6236
|
}
|
6216
6237
|
|
6238
|
+
_OBJ_MARSHALER_PRIMITIVE_TYPES: ta.Set[type] = {
|
6239
|
+
int,
|
6240
|
+
float,
|
6241
|
+
bool,
|
6242
|
+
str,
|
6243
|
+
}
|
6244
|
+
|
6217
6245
|
|
6218
6246
|
##
|
6219
6247
|
|
@@ -6362,8 +6390,16 @@ class ObjMarshalerManager:
|
|
6362
6390
|
|
6363
6391
|
if is_literal_type(ty):
|
6364
6392
|
lvs = frozenset(get_literal_type_args(ty))
|
6393
|
+
if None in lvs:
|
6394
|
+
is_opt = True
|
6395
|
+
lvs -= frozenset([None])
|
6396
|
+
else:
|
6397
|
+
is_opt = False
|
6365
6398
|
lty = check.single(set(map(type, lvs)))
|
6366
|
-
|
6399
|
+
lm: ObjMarshaler = LiteralObjMarshaler(rec(lty), lvs)
|
6400
|
+
if is_opt:
|
6401
|
+
lm = OptionalObjMarshaler(lm)
|
6402
|
+
return lm
|
6367
6403
|
|
6368
6404
|
if is_generic_alias(ty):
|
6369
6405
|
try:
|
@@ -6383,7 +6419,31 @@ class ObjMarshalerManager:
|
|
6383
6419
|
return IterableObjMarshaler(st, rec(e))
|
6384
6420
|
|
6385
6421
|
if is_union_alias(ty):
|
6386
|
-
|
6422
|
+
uts = frozenset(ta.get_args(ty))
|
6423
|
+
if None in uts or type(None) in uts:
|
6424
|
+
is_opt = True
|
6425
|
+
uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
|
6426
|
+
else:
|
6427
|
+
is_opt = False
|
6428
|
+
|
6429
|
+
um: ObjMarshaler
|
6430
|
+
if not uts:
|
6431
|
+
raise TypeError(ty)
|
6432
|
+
elif len(uts) == 1:
|
6433
|
+
um = rec(check.single(uts))
|
6434
|
+
else:
|
6435
|
+
pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
|
6436
|
+
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
6437
|
+
if not np_uts:
|
6438
|
+
um = PrimitiveUnionObjMarshaler(pt)
|
6439
|
+
elif len(np_uts) == 1:
|
6440
|
+
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
6441
|
+
else:
|
6442
|
+
raise TypeError(ty)
|
6443
|
+
|
6444
|
+
if is_opt:
|
6445
|
+
um = OptionalObjMarshaler(um)
|
6446
|
+
return um
|
6387
6447
|
|
6388
6448
|
raise TypeError(ty)
|
6389
6449
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev374
|
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.13
|
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.dev374
|
16
|
+
Requires-Dist: omlish==0.0.0.dev374
|
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.13'
|
15
|
-
version = '0.0.0.
|
15
|
+
version = '0.0.0.dev374'
|
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.dev374',
|
26
|
+
'omlish == 0.0.0.dev374',
|
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.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/instancetypes/cache.json.gz
RENAMED
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
|
{ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ominfra-0.0.0.dev372 → ominfra-0.0.0.dev374}/ominfra/clouds/aws/models/services/services.toml
RENAMED
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
|
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
|
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
|