ominfra 0.0.0.dev219__tar.gz → 0.0.0.dev221__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.dev219/ominfra.egg-info → ominfra-0.0.0.dev221}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/gen/gen.py +2 -2
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/scripts/supervisor.py +61 -24
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221/ominfra.egg-info}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra.egg-info/requires.txt +2 -2
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/pyproject.toml +3 -3
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/LICENSE +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/MANIFEST.in +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/README.rst +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/.manifests.json +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/__about__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/__main__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/auth.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/cli.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/dataclasses.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/journald2aws/main.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/logs.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/metadata.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/base.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/gen/cli.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/services/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/services/ec2.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/services/rds.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/services/s3.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/aws/models/services/services.toml +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/gcp/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/gcp/api.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/clouds/gcp/auth.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/commands/runners.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/commands/ssh.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/journald/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/journald/fields.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/journald/genmessages.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/journald/messages.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/journald/tailer.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/__main__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/bootstrap.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/bootstrap_.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/base.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/injection.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/local.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/marshal.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/ping.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/subprocess.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/commands/types.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/config.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/apps.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/commands.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/conf/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/conf/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/conf/manager.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/conf/specs.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/config.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/deploy.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/git.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/injection.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/interp.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/nginx.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/paths/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/paths/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/paths/manager.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/paths/owners.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/paths/paths.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/paths/specs.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/paths/types.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/specs.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/systemd.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/tags.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/tmp.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/types.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/deploy/venvs.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/main.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/marshal.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/_main.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/channel.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/config.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/connection.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/execution.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/payload.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/remote/spawning.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/system/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/system/commands.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/system/config.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/system/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/system/packages.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/system/platforms.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/targets/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/targets/bestpython.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/targets/bestpython.sh +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/targets/connection.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/targets/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/manage/targets/targets.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/pyremote.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/scripts/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/scripts/journald2aws.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/scripts/manage.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/LICENSE.txt +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/__main__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/configs.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/dispatchers.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/dispatchersimpl.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/events.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/exceptions.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/groups.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/groupsimpl.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/http.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/inject.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/io.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/main.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/pipes.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/privileges.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/process.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/processimpl.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/setup.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/setupimpl.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/signals.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/spawning.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/spawningimpl.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/states.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/supervisor.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/types.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/collections.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/diag.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/fds.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/fs.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/os.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/ostypes.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/signals.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/strings.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/supervisor/utils/users.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/systemd.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/tailscale/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/tailscale/api.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/tailscale/cli.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/threadworkers.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/tools/__init__.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra/tools/listresources.py +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra.egg-info/SOURCES.txt +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra.egg-info/dependency_links.txt +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra.egg-info/entry_points.txt +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/ominfra.egg-info/top_level.txt +0 -0
- {ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev221
|
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.dev221
|
16
|
+
Requires-Dist: omlish==0.0.0.dev221
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.18; extra == "all"
|
@@ -10,8 +10,8 @@ import keyword
|
|
10
10
|
import typing as ta
|
11
11
|
|
12
12
|
from omlish import check
|
13
|
-
from omlish import collections as col
|
14
13
|
from omlish import lang
|
14
|
+
from omlish.algorithm import all as alg
|
15
15
|
|
16
16
|
|
17
17
|
if ta.TYPE_CHECKING:
|
@@ -134,7 +134,7 @@ class ModelGen:
|
|
134
134
|
dct[shape.name] = deps
|
135
135
|
todo.update(deps - seen)
|
136
136
|
|
137
|
-
return list(lang.flatten(sorted(s - cls.BASE_SHAPE_NAMES) for s in
|
137
|
+
return list(lang.flatten(sorted(s - cls.BASE_SHAPE_NAMES) for s in alg.mut_toposort(dct)))
|
138
138
|
|
139
139
|
#
|
140
140
|
|
@@ -6850,12 +6850,20 @@ class HttpHandlerResponse:
|
|
6850
6850
|
data: ta.Optional[HttpHandlerResponseData] = None
|
6851
6851
|
close_connection: ta.Optional[bool] = None
|
6852
6852
|
|
6853
|
+
def close(self) -> None:
|
6854
|
+
if isinstance(d := self.data, HttpHandlerResponseStreamedData):
|
6855
|
+
d.close()
|
6856
|
+
|
6853
6857
|
|
6854
6858
|
@dc.dataclass(frozen=True)
|
6855
6859
|
class HttpHandlerResponseStreamedData:
|
6856
6860
|
iter: ta.Iterable[bytes]
|
6857
6861
|
length: ta.Optional[int] = None
|
6858
6862
|
|
6863
|
+
def close(self) -> None:
|
6864
|
+
if hasattr(d := self.iter, 'close'):
|
6865
|
+
d.close() # noqa
|
6866
|
+
|
6859
6867
|
|
6860
6868
|
class HttpHandlerError(Exception):
|
6861
6869
|
pass
|
@@ -7383,6 +7391,10 @@ class CoroHttpServer:
|
|
7383
7391
|
return h
|
7384
7392
|
return None
|
7385
7393
|
|
7394
|
+
def close(self) -> None:
|
7395
|
+
if isinstance(d := self.data, HttpHandlerResponseStreamedData):
|
7396
|
+
d.close()
|
7397
|
+
|
7386
7398
|
#
|
7387
7399
|
|
7388
7400
|
def _build_response_head_bytes(self, a: _Response) -> bytes:
|
@@ -7595,12 +7607,20 @@ class CoroHttpServer:
|
|
7595
7607
|
#
|
7596
7608
|
|
7597
7609
|
def coro_handle(self) -> ta.Generator[Io, ta.Optional[bytes], None]:
|
7598
|
-
|
7599
|
-
gen = self.coro_handle_one()
|
7610
|
+
return self._coro_run_handler(self._coro_handle_one())
|
7600
7611
|
|
7601
|
-
|
7602
|
-
|
7603
|
-
|
7612
|
+
def _coro_run_handler(
|
7613
|
+
self,
|
7614
|
+
gen: ta.Generator[
|
7615
|
+
ta.Union[AnyLogIo, AnyReadIo, _Response],
|
7616
|
+
ta.Optional[bytes],
|
7617
|
+
None,
|
7618
|
+
],
|
7619
|
+
) -> ta.Generator[Io, ta.Optional[bytes], None]:
|
7620
|
+
i: ta.Optional[bytes]
|
7621
|
+
o: ta.Any = next(gen)
|
7622
|
+
while True:
|
7623
|
+
try:
|
7604
7624
|
if isinstance(o, self.AnyLogIo):
|
7605
7625
|
i = None
|
7606
7626
|
yield o
|
@@ -7618,8 +7638,13 @@ class CoroHttpServer:
|
|
7618
7638
|
for b in self._yield_response_data(r):
|
7619
7639
|
yield self.WriteIo(b)
|
7620
7640
|
|
7641
|
+
o.close()
|
7642
|
+
if o.close_connection:
|
7643
|
+
break
|
7644
|
+
o = None
|
7645
|
+
|
7621
7646
|
else:
|
7622
|
-
raise TypeError(o)
|
7647
|
+
raise TypeError(o) # noqa
|
7623
7648
|
|
7624
7649
|
try:
|
7625
7650
|
o = gen.send(i)
|
@@ -7628,7 +7653,13 @@ class CoroHttpServer:
|
|
7628
7653
|
except StopIteration:
|
7629
7654
|
break
|
7630
7655
|
|
7631
|
-
|
7656
|
+
except Exception: # noqa
|
7657
|
+
if hasattr(o, 'close'):
|
7658
|
+
o.close()
|
7659
|
+
|
7660
|
+
raise
|
7661
|
+
|
7662
|
+
def _coro_handle_one(self) -> ta.Generator[
|
7632
7663
|
ta.Union[AnyLogIo, AnyReadIo, _Response],
|
7633
7664
|
ta.Optional[bytes],
|
7634
7665
|
None,
|
@@ -7708,28 +7739,34 @@ class CoroHttpServer:
|
|
7708
7739
|
yield self._build_error_response(err)
|
7709
7740
|
return
|
7710
7741
|
|
7711
|
-
|
7742
|
+
try:
|
7743
|
+
# Build internal response
|
7712
7744
|
|
7713
|
-
|
7714
|
-
|
7745
|
+
response_headers = handler_response.headers or {}
|
7746
|
+
response_data = handler_response.data
|
7715
7747
|
|
7716
|
-
|
7717
|
-
|
7718
|
-
|
7748
|
+
headers: ta.List[CoroHttpServer._Header] = [
|
7749
|
+
*self._make_default_headers(),
|
7750
|
+
]
|
7719
7751
|
|
7720
|
-
|
7721
|
-
|
7752
|
+
for k, v in response_headers.items():
|
7753
|
+
headers.append(self._Header(k, v))
|
7722
7754
|
|
7723
|
-
|
7724
|
-
|
7755
|
+
if handler_response.close_connection and 'Connection' not in headers:
|
7756
|
+
headers.append(self._Header('Connection', 'close'))
|
7725
7757
|
|
7726
|
-
|
7727
|
-
|
7728
|
-
|
7729
|
-
|
7730
|
-
|
7731
|
-
|
7732
|
-
|
7758
|
+
yield self._Response(
|
7759
|
+
version=parsed.version,
|
7760
|
+
code=http.HTTPStatus(handler_response.status),
|
7761
|
+
headers=headers,
|
7762
|
+
data=response_data,
|
7763
|
+
close_connection=handler_response.close_connection,
|
7764
|
+
)
|
7765
|
+
|
7766
|
+
except Exception: # noqa
|
7767
|
+
handler_response.close()
|
7768
|
+
|
7769
|
+
raise
|
7733
7770
|
|
7734
7771
|
|
7735
7772
|
##
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev221
|
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.dev221
|
16
|
+
Requires-Dist: omlish==0.0.0.dev221
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.18; 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.dev221'
|
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.dev221',
|
26
|
+
'omlish == 0.0.0.dev221',
|
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.dev219 → ominfra-0.0.0.dev221}/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
|
{ominfra-0.0.0.dev219 → ominfra-0.0.0.dev221}/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.dev219 → ominfra-0.0.0.dev221}/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
|
File without changes
|
File without changes
|