ominfra 0.0.0.dev402__tar.gz → 0.0.0.dev404__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.dev402/ominfra.egg-info → ominfra-0.0.0.dev404}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/scripts/journald2aws.py +43 -27
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/scripts/manage.py +54 -27
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/scripts/supervisor.py +53 -27
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404/ominfra.egg-info}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra.egg-info/requires.txt +2 -2
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/pyproject.toml +3 -3
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/LICENSE +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/MANIFEST.in +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/README.md +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/.manifests.json +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/__about__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/__main__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/auth.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/cli.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/dataclasses.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/journald2aws/main.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/logs.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/metadata.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/base.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/gen/cli.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/gen/gen.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/services/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/services/ec2.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/services/rds.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/services/s3.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/aws/models/services/services.toml +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/gcp/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/gcp/api.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/clouds/gcp/auth.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/commands/runners.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/commands/ssh.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/journald/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/journald/fields.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/journald/genmessages.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/journald/messages.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/journald/tailer.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/__main__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/bootstrap.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/bootstrap_.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/base.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/injection.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/local.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/marshal.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/ping.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/subprocess.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/commands/types.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/config.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/apps.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/commands.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/conf/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/conf/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/conf/manager.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/conf/specs.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/config.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/deploy.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/git.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/injection.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/interp.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/nginx.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/paths/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/paths/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/paths/manager.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/paths/owners.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/paths/paths.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/paths/specs.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/paths/types.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/specs.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/systemd.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/tags.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/tmp.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/types.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/deploy/venvs.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/main.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/marshal.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/_main.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/channel.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/config.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/connection.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/execution.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/payload.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/remote/spawning.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/system/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/system/commands.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/system/config.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/system/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/system/packages.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/system/platforms.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/targets/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/targets/bestpython.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/targets/bestpython.sh +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/targets/connection.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/targets/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/manage/targets/targets.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/pyremote.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/scripts/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/LICENSE.txt +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/__main__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/configs.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/dispatchers.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/dispatchersimpl.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/errors.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/events.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/groups.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/groupsimpl.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/http.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/inject.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/io.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/main.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/pipes.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/privileges.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/process.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/processimpl.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/setup.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/setupimpl.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/signals.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/spawning.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/spawningimpl.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/states.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/supervisor.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/types.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/collections.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/diag.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/fds.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/fs.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/os.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/ostypes.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/signals.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/strings.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/supervisor/utils/users.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/systemd.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/tailscale/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/tailscale/api.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/tailscale/cli.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/threadworkers.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/tools/__init__.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra/tools/listresources.py +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra.egg-info/SOURCES.txt +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra.egg-info/dependency_links.txt +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra.egg-info/entry_points.txt +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/ominfra.egg-info/top_level.txt +0 -0
- {ominfra-0.0.0.dev402 → ominfra-0.0.0.dev404}/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.dev404
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License-Expression: BSD-3-Clause
|
@@ -14,8 +14,8 @@ Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Requires-Python: >=3.13
|
15
15
|
Description-Content-Type: text/markdown
|
16
16
|
License-File: LICENSE
|
17
|
-
Requires-Dist: omdev==0.0.0.
|
18
|
-
Requires-Dist: omlish==0.0.0.
|
17
|
+
Requires-Dist: omdev==0.0.0.dev404
|
18
|
+
Requires-Dist: omlish==0.0.0.dev404
|
19
19
|
Provides-Extra: all
|
20
20
|
Requires-Dist: paramiko~=4.0; extra == "all"
|
21
21
|
Requires-Dist: asyncssh~=2.21; extra == "all"
|
@@ -1781,24 +1781,40 @@ _GENERIC_ALIAS_TYPES = (
|
|
1781
1781
|
)
|
1782
1782
|
|
1783
1783
|
|
1784
|
-
def is_generic_alias(obj, *, origin: ta.Any = None) -> bool:
|
1784
|
+
def is_generic_alias(obj: ta.Any, *, origin: ta.Any = None) -> bool:
|
1785
1785
|
return (
|
1786
1786
|
isinstance(obj, _GENERIC_ALIAS_TYPES) and
|
1787
1787
|
(origin is None or ta.get_origin(obj) is origin)
|
1788
1788
|
)
|
1789
1789
|
|
1790
1790
|
|
1791
|
-
is_union_alias = functools.partial(is_generic_alias, origin=ta.Union)
|
1792
1791
|
is_callable_alias = functools.partial(is_generic_alias, origin=ta.Callable)
|
1793
1792
|
|
1794
1793
|
|
1795
1794
|
##
|
1796
1795
|
|
1797
1796
|
|
1797
|
+
_UNION_ALIAS_ORIGINS = frozenset([
|
1798
|
+
ta.get_origin(ta.Optional[int]),
|
1799
|
+
*(
|
1800
|
+
[
|
1801
|
+
ta.get_origin(int | None),
|
1802
|
+
ta.get_origin(getattr(ta, 'TypeVar')('_T') | None),
|
1803
|
+
] if sys.version_info >= (3, 10) else ()
|
1804
|
+
),
|
1805
|
+
])
|
1806
|
+
|
1807
|
+
|
1808
|
+
def is_union_alias(obj: ta.Any) -> bool:
|
1809
|
+
return ta.get_origin(obj) in _UNION_ALIAS_ORIGINS
|
1810
|
+
|
1811
|
+
|
1812
|
+
#
|
1813
|
+
|
1814
|
+
|
1798
1815
|
def is_optional_alias(spec: ta.Any) -> bool:
|
1799
1816
|
return (
|
1800
|
-
|
1801
|
-
ta.get_origin(spec) is ta.Union and
|
1817
|
+
is_union_alias(spec) and
|
1802
1818
|
len(ta.get_args(spec)) == 2 and
|
1803
1819
|
any(a in (None, type(None)) for a in ta.get_args(spec))
|
1804
1820
|
)
|
@@ -3943,32 +3959,32 @@ class ObjMarshalerManager:
|
|
3943
3959
|
[e] = ta.get_args(ty)
|
3944
3960
|
return IterableObjMarshaler(st, rec(e))
|
3945
3961
|
|
3946
|
-
|
3947
|
-
|
3948
|
-
|
3949
|
-
|
3950
|
-
|
3951
|
-
|
3952
|
-
|
3962
|
+
if is_union_alias(ty):
|
3963
|
+
uts = frozenset(ta.get_args(ty))
|
3964
|
+
if None in uts or type(None) in uts:
|
3965
|
+
is_opt = True
|
3966
|
+
uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
|
3967
|
+
else:
|
3968
|
+
is_opt = False
|
3953
3969
|
|
3954
|
-
|
3955
|
-
|
3956
|
-
|
3957
|
-
|
3958
|
-
|
3970
|
+
um: ObjMarshaler
|
3971
|
+
if not uts:
|
3972
|
+
raise TypeError(ty)
|
3973
|
+
elif len(uts) == 1:
|
3974
|
+
um = rec(check.single(uts))
|
3975
|
+
else:
|
3976
|
+
pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
|
3977
|
+
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
3978
|
+
if not np_uts:
|
3979
|
+
um = PrimitiveUnionObjMarshaler(pt)
|
3980
|
+
elif len(np_uts) == 1:
|
3981
|
+
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
3959
3982
|
else:
|
3960
|
-
|
3961
|
-
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
3962
|
-
if not np_uts:
|
3963
|
-
um = PrimitiveUnionObjMarshaler(pt)
|
3964
|
-
elif len(np_uts) == 1:
|
3965
|
-
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
3966
|
-
else:
|
3967
|
-
raise TypeError(ty)
|
3983
|
+
raise TypeError(ty)
|
3968
3984
|
|
3969
|
-
|
3970
|
-
|
3971
|
-
|
3985
|
+
if is_opt:
|
3986
|
+
um = OptionalObjMarshaler(um)
|
3987
|
+
return um
|
3972
3988
|
|
3973
3989
|
raise TypeError(ty)
|
3974
3990
|
|
@@ -3216,24 +3216,40 @@ _GENERIC_ALIAS_TYPES = (
|
|
3216
3216
|
)
|
3217
3217
|
|
3218
3218
|
|
3219
|
-
def is_generic_alias(obj, *, origin: ta.Any = None) -> bool:
|
3219
|
+
def is_generic_alias(obj: ta.Any, *, origin: ta.Any = None) -> bool:
|
3220
3220
|
return (
|
3221
3221
|
isinstance(obj, _GENERIC_ALIAS_TYPES) and
|
3222
3222
|
(origin is None or ta.get_origin(obj) is origin)
|
3223
3223
|
)
|
3224
3224
|
|
3225
3225
|
|
3226
|
-
is_union_alias = functools.partial(is_generic_alias, origin=ta.Union)
|
3227
3226
|
is_callable_alias = functools.partial(is_generic_alias, origin=ta.Callable)
|
3228
3227
|
|
3229
3228
|
|
3230
3229
|
##
|
3231
3230
|
|
3232
3231
|
|
3232
|
+
_UNION_ALIAS_ORIGINS = frozenset([
|
3233
|
+
ta.get_origin(ta.Optional[int]),
|
3234
|
+
*(
|
3235
|
+
[
|
3236
|
+
ta.get_origin(int | None),
|
3237
|
+
ta.get_origin(getattr(ta, 'TypeVar')('_T') | None),
|
3238
|
+
] if sys.version_info >= (3, 10) else ()
|
3239
|
+
),
|
3240
|
+
])
|
3241
|
+
|
3242
|
+
|
3243
|
+
def is_union_alias(obj: ta.Any) -> bool:
|
3244
|
+
return ta.get_origin(obj) in _UNION_ALIAS_ORIGINS
|
3245
|
+
|
3246
|
+
|
3247
|
+
#
|
3248
|
+
|
3249
|
+
|
3233
3250
|
def is_optional_alias(spec: ta.Any) -> bool:
|
3234
3251
|
return (
|
3235
|
-
|
3236
|
-
ta.get_origin(spec) is ta.Union and
|
3252
|
+
is_union_alias(spec) and
|
3237
3253
|
len(ta.get_args(spec)) == 2 and
|
3238
3254
|
any(a in (None, type(None)) for a in ta.get_args(spec))
|
3239
3255
|
)
|
@@ -3650,6 +3666,16 @@ class Func3(ta.Generic[A0, A1, A2, T]):
|
|
3650
3666
|
return self.fn(a0, a1, a2)
|
3651
3667
|
|
3652
3668
|
|
3669
|
+
##
|
3670
|
+
|
3671
|
+
|
3672
|
+
_TYPING_ANNOTATIONS_ATTR = '__annotate__' if sys.version_info >= (3, 14) else '__annotations__'
|
3673
|
+
|
3674
|
+
|
3675
|
+
def typing_annotations_attr() -> str:
|
3676
|
+
return _TYPING_ANNOTATIONS_ATTR
|
3677
|
+
|
3678
|
+
|
3653
3679
|
########################################
|
3654
3680
|
# ../../../omlish/logs/filters.py
|
3655
3681
|
|
@@ -5669,6 +5695,7 @@ def _get_argparse_arg_ann_kwargs(ann: ta.Any) -> ta.Mapping[str, ta.Any]:
|
|
5669
5695
|
class _ArgparseCliAnnotationBox:
|
5670
5696
|
def __init__(self, annotations: ta.Mapping[str, ta.Any]) -> None:
|
5671
5697
|
super().__init__()
|
5698
|
+
|
5672
5699
|
self.__annotations__ = annotations # type: ignore
|
5673
5700
|
|
5674
5701
|
|
@@ -7883,32 +7910,32 @@ class ObjMarshalerManager:
|
|
7883
7910
|
[e] = ta.get_args(ty)
|
7884
7911
|
return IterableObjMarshaler(st, rec(e))
|
7885
7912
|
|
7886
|
-
|
7887
|
-
|
7888
|
-
|
7889
|
-
|
7890
|
-
|
7891
|
-
|
7892
|
-
|
7913
|
+
if is_union_alias(ty):
|
7914
|
+
uts = frozenset(ta.get_args(ty))
|
7915
|
+
if None in uts or type(None) in uts:
|
7916
|
+
is_opt = True
|
7917
|
+
uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
|
7918
|
+
else:
|
7919
|
+
is_opt = False
|
7893
7920
|
|
7894
|
-
|
7895
|
-
|
7896
|
-
|
7897
|
-
|
7898
|
-
|
7921
|
+
um: ObjMarshaler
|
7922
|
+
if not uts:
|
7923
|
+
raise TypeError(ty)
|
7924
|
+
elif len(uts) == 1:
|
7925
|
+
um = rec(check.single(uts))
|
7926
|
+
else:
|
7927
|
+
pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
|
7928
|
+
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
7929
|
+
if not np_uts:
|
7930
|
+
um = PrimitiveUnionObjMarshaler(pt)
|
7931
|
+
elif len(np_uts) == 1:
|
7932
|
+
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
7899
7933
|
else:
|
7900
|
-
|
7901
|
-
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
7902
|
-
if not np_uts:
|
7903
|
-
um = PrimitiveUnionObjMarshaler(pt)
|
7904
|
-
elif len(np_uts) == 1:
|
7905
|
-
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
7906
|
-
else:
|
7907
|
-
raise TypeError(ty)
|
7934
|
+
raise TypeError(ty)
|
7908
7935
|
|
7909
|
-
|
7910
|
-
|
7911
|
-
|
7936
|
+
if is_opt:
|
7937
|
+
um = OptionalObjMarshaler(um)
|
7938
|
+
return um
|
7912
7939
|
|
7913
7940
|
raise TypeError(ty)
|
7914
7941
|
|
@@ -2760,24 +2760,40 @@ _GENERIC_ALIAS_TYPES = (
|
|
2760
2760
|
)
|
2761
2761
|
|
2762
2762
|
|
2763
|
-
def is_generic_alias(obj, *, origin: ta.Any = None) -> bool:
|
2763
|
+
def is_generic_alias(obj: ta.Any, *, origin: ta.Any = None) -> bool:
|
2764
2764
|
return (
|
2765
2765
|
isinstance(obj, _GENERIC_ALIAS_TYPES) and
|
2766
2766
|
(origin is None or ta.get_origin(obj) is origin)
|
2767
2767
|
)
|
2768
2768
|
|
2769
2769
|
|
2770
|
-
is_union_alias = functools.partial(is_generic_alias, origin=ta.Union)
|
2771
2770
|
is_callable_alias = functools.partial(is_generic_alias, origin=ta.Callable)
|
2772
2771
|
|
2773
2772
|
|
2774
2773
|
##
|
2775
2774
|
|
2776
2775
|
|
2776
|
+
_UNION_ALIAS_ORIGINS = frozenset([
|
2777
|
+
ta.get_origin(ta.Optional[int]),
|
2778
|
+
*(
|
2779
|
+
[
|
2780
|
+
ta.get_origin(int | None),
|
2781
|
+
ta.get_origin(getattr(ta, 'TypeVar')('_T') | None),
|
2782
|
+
] if sys.version_info >= (3, 10) else ()
|
2783
|
+
),
|
2784
|
+
])
|
2785
|
+
|
2786
|
+
|
2787
|
+
def is_union_alias(obj: ta.Any) -> bool:
|
2788
|
+
return ta.get_origin(obj) in _UNION_ALIAS_ORIGINS
|
2789
|
+
|
2790
|
+
|
2791
|
+
#
|
2792
|
+
|
2793
|
+
|
2777
2794
|
def is_optional_alias(spec: ta.Any) -> bool:
|
2778
2795
|
return (
|
2779
|
-
|
2780
|
-
ta.get_origin(spec) is ta.Union and
|
2796
|
+
is_union_alias(spec) and
|
2781
2797
|
len(ta.get_args(spec)) == 2 and
|
2782
2798
|
any(a in (None, type(None)) for a in ta.get_args(spec))
|
2783
2799
|
)
|
@@ -2981,6 +2997,16 @@ class Func3(ta.Generic[A0, A1, A2, T]):
|
|
2981
2997
|
return self.fn(a0, a1, a2)
|
2982
2998
|
|
2983
2999
|
|
3000
|
+
##
|
3001
|
+
|
3002
|
+
|
3003
|
+
_TYPING_ANNOTATIONS_ATTR = '__annotate__' if sys.version_info >= (3, 14) else '__annotations__'
|
3004
|
+
|
3005
|
+
|
3006
|
+
def typing_annotations_attr() -> str:
|
3007
|
+
return _TYPING_ANNOTATIONS_ATTR
|
3008
|
+
|
3009
|
+
|
2984
3010
|
########################################
|
2985
3011
|
# ../../../omlish/logs/filters.py
|
2986
3012
|
|
@@ -6422,32 +6448,32 @@ class ObjMarshalerManager:
|
|
6422
6448
|
[e] = ta.get_args(ty)
|
6423
6449
|
return IterableObjMarshaler(st, rec(e))
|
6424
6450
|
|
6425
|
-
|
6426
|
-
|
6427
|
-
|
6428
|
-
|
6429
|
-
|
6430
|
-
|
6431
|
-
|
6451
|
+
if is_union_alias(ty):
|
6452
|
+
uts = frozenset(ta.get_args(ty))
|
6453
|
+
if None in uts or type(None) in uts:
|
6454
|
+
is_opt = True
|
6455
|
+
uts = frozenset(ut for ut in uts if ut not in (None, type(None)))
|
6456
|
+
else:
|
6457
|
+
is_opt = False
|
6432
6458
|
|
6433
|
-
|
6434
|
-
|
6435
|
-
|
6436
|
-
|
6437
|
-
|
6459
|
+
um: ObjMarshaler
|
6460
|
+
if not uts:
|
6461
|
+
raise TypeError(ty)
|
6462
|
+
elif len(uts) == 1:
|
6463
|
+
um = rec(check.single(uts))
|
6464
|
+
else:
|
6465
|
+
pt = tuple({ut for ut in uts if ut in _OBJ_MARSHALER_PRIMITIVE_TYPES})
|
6466
|
+
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
6467
|
+
if not np_uts:
|
6468
|
+
um = PrimitiveUnionObjMarshaler(pt)
|
6469
|
+
elif len(np_uts) == 1:
|
6470
|
+
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
6438
6471
|
else:
|
6439
|
-
|
6440
|
-
np_uts = {ut for ut in uts if ut not in _OBJ_MARSHALER_PRIMITIVE_TYPES}
|
6441
|
-
if not np_uts:
|
6442
|
-
um = PrimitiveUnionObjMarshaler(pt)
|
6443
|
-
elif len(np_uts) == 1:
|
6444
|
-
um = PrimitiveUnionObjMarshaler(pt, x=rec(check.single(np_uts)))
|
6445
|
-
else:
|
6446
|
-
raise TypeError(ty)
|
6472
|
+
raise TypeError(ty)
|
6447
6473
|
|
6448
|
-
|
6449
|
-
|
6450
|
-
|
6474
|
+
if is_opt:
|
6475
|
+
um = OptionalObjMarshaler(um)
|
6476
|
+
return um
|
6451
6477
|
|
6452
6478
|
raise TypeError(ty)
|
6453
6479
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev404
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License-Expression: BSD-3-Clause
|
@@ -14,8 +14,8 @@ Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Requires-Python: >=3.13
|
15
15
|
Description-Content-Type: text/markdown
|
16
16
|
License-File: LICENSE
|
17
|
-
Requires-Dist: omdev==0.0.0.
|
18
|
-
Requires-Dist: omlish==0.0.0.
|
17
|
+
Requires-Dist: omdev==0.0.0.dev404
|
18
|
+
Requires-Dist: omlish==0.0.0.dev404
|
19
19
|
Provides-Extra: all
|
20
20
|
Requires-Dist: paramiko~=4.0; extra == "all"
|
21
21
|
Requires-Dist: asyncssh~=2.21; extra == "all"
|
@@ -13,7 +13,7 @@ urls = {source = 'https://github.com/wrmsr/omlish'}
|
|
13
13
|
license = 'BSD-3-Clause'
|
14
14
|
readme = 'README.md'
|
15
15
|
requires-python = '>=3.13'
|
16
|
-
version = '0.0.0.
|
16
|
+
version = '0.0.0.dev404'
|
17
17
|
classifiers = [
|
18
18
|
'Development Status :: 2 - Pre-Alpha',
|
19
19
|
'Intended Audience :: Developers',
|
@@ -24,8 +24,8 @@ classifiers = [
|
|
24
24
|
]
|
25
25
|
description = 'ominfra'
|
26
26
|
dependencies = [
|
27
|
-
'omdev == 0.0.0.
|
28
|
-
'omlish == 0.0.0.
|
27
|
+
'omdev == 0.0.0.dev404',
|
28
|
+
'omlish == 0.0.0.dev404',
|
29
29
|
]
|
30
30
|
|
31
31
|
[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.dev402 → ominfra-0.0.0.dev404}/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.dev402 → ominfra-0.0.0.dev404}/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.dev402 → ominfra-0.0.0.dev404}/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
|