ominfra 0.0.0.dev364__tar.gz → 0.0.0.dev366__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.dev364/ominfra.egg-info → ominfra-0.0.0.dev366}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/scripts/manage.py +25 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366/ominfra.egg-info}/PKG-INFO +3 -3
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra.egg-info/requires.txt +2 -2
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/pyproject.toml +3 -3
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/LICENSE +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/MANIFEST.in +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/README.md +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/.manifests.json +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/__about__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/__main__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/auth.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/cli.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/dataclasses.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/instancetypes/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/instancetypes/__main__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/instancetypes/cache.json.gz +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/instancetypes/cache.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/instancetypes/cli.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/journald2aws/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/journald2aws/__main__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/journald2aws/cursor.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/journald2aws/driver.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/journald2aws/main.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/journald2aws/poster.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/logs.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/metadata.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/base.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/gen/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/gen/__main__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/gen/cli.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/gen/gen.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/services/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/services/ec2.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/services/lambda_.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/services/rds.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/services/s3.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/aws/models/services/services.toml +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/gcp/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/gcp/api.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/clouds/gcp/auth.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/commands/runners.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/commands/ssh.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/journald/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/journald/fields.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/journald/genmessages.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/journald/messages.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/journald/tailer.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/__main__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/bootstrap.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/bootstrap_.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/base.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/injection.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/local.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/marshal.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/ping.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/subprocess.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/commands/types.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/config.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/apps.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/commands.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/conf/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/conf/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/conf/manager.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/conf/specs.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/config.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/deploy.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/git.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/injection.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/interp.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/nginx.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/paths/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/paths/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/paths/manager.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/paths/owners.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/paths/paths.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/paths/specs.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/paths/types.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/specs.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/systemd.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/tags.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/tmp.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/types.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/deploy/venvs.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/main.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/marshal.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/_main.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/channel.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/config.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/connection.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/execution.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/payload.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/remote/spawning.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/system/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/system/commands.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/system/config.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/system/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/system/packages.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/system/platforms.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/targets/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/targets/bestpython.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/targets/bestpython.sh +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/targets/connection.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/targets/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/manage/targets/targets.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/pyremote.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/scripts/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/scripts/journald2aws.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/scripts/supervisor.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/LICENSE.txt +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/__main__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/configs.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/dispatchers.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/dispatchersimpl.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/errors.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/events.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/groups.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/groupsimpl.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/http.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/inject.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/io.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/main.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/pipes.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/privileges.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/process.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/processimpl.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/setup.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/setupimpl.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/signals.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/spawning.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/spawningimpl.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/states.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/supervisor.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/types.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/collections.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/diag.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/fds.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/fs.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/os.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/ostypes.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/signals.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/strings.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/supervisor/utils/users.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/systemd.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/tailscale/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/tailscale/api.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/tailscale/cli.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/threadworkers.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/tools/__init__.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra/tools/listresources.py +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra.egg-info/SOURCES.txt +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra.egg-info/dependency_links.txt +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra.egg-info/entry_points.txt +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/ominfra.egg-info/top_level.txt +0 -0
- {ominfra-0.0.0.dev364 → ominfra-0.0.0.dev366}/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.dev366
|
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.dev366
|
16
|
+
Requires-Dist: omlish==0.0.0.dev366
|
17
17
|
Provides-Extra: all
|
18
18
|
Requires-Dist: paramiko~=3.5; extra == "all"
|
19
19
|
Requires-Dist: asyncssh~=2.21; extra == "all"
|
@@ -4360,6 +4360,31 @@ class LinuxOsRelease:
|
|
4360
4360
|
##
|
4361
4361
|
|
4362
4362
|
|
4363
|
+
@ta.overload
|
4364
|
+
def path_dirname(p: str, n: int = 1) -> str:
|
4365
|
+
...
|
4366
|
+
|
4367
|
+
|
4368
|
+
@ta.overload
|
4369
|
+
def path_dirname(p: bytes, n: int = 1) -> bytes:
|
4370
|
+
...
|
4371
|
+
|
4372
|
+
|
4373
|
+
def path_dirname(p, n=1):
|
4374
|
+
if isinstance(p, bytes):
|
4375
|
+
sep: ta.Any = b'/'
|
4376
|
+
else:
|
4377
|
+
sep = '/'
|
4378
|
+
p = os.fspath(p)
|
4379
|
+
i = -1
|
4380
|
+
for _ in range(n):
|
4381
|
+
i = p.rindex(sep, 0, i)
|
4382
|
+
head = p[:i + 1]
|
4383
|
+
if head and head != sep * len(head):
|
4384
|
+
head = head.rstrip(sep)
|
4385
|
+
return head
|
4386
|
+
|
4387
|
+
|
4363
4388
|
def abs_real_path(p: str) -> str:
|
4364
4389
|
return os.path.abspath(os.path.realpath(p))
|
4365
4390
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev366
|
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.dev366
|
16
|
+
Requires-Dist: omlish==0.0.0.dev366
|
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.dev366'
|
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.dev366',
|
26
|
+
'omlish == 0.0.0.dev366',
|
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.dev364 → ominfra-0.0.0.dev366}/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.dev364 → ominfra-0.0.0.dev366}/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.dev364 → ominfra-0.0.0.dev366}/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
|