snakemake-software-deployment-plugin-container 0.7.3__tar.gz → 0.7.4__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.
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/CHANGELOG.md +7 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/PKG-INFO +1 -1
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/pyproject.toml +1 -1
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/src/snakemake_software_deployment_plugin_container/__init__.py +15 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/.github/workflows/ci.yml +0 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/.github/workflows/conventional-prs.yml +0 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/.github/workflows/release-please.yml +0 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/.gitignore +0 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/LICENSE +0 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/README.md +0 -0
- {snakemake_software_deployment_plugin_container-0.7.3 → snakemake_software_deployment_plugin_container-0.7.4}/tests/test_plugin.py +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.7.4](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.7.3...v0.7.4) (2026-09-10)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* handle runtime setup (for now needed by udocker) ([78cc3ac](https://github.com/snakemake/snakemake-software-deployment-plugin-container/commit/78cc3ace79c5a6305ae2676a82d46b83f30a2347))
|
|
9
|
+
|
|
3
10
|
## [0.7.3](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.7.2...v0.7.3) (2026-09-10)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: snakemake-software-deployment-plugin-container
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4
|
|
4
4
|
Project-URL: repository, https://github.com/snakemake/snakemake-software-deployment-plugin-container
|
|
5
5
|
Project-URL: documentation, https://snakemake.github.io/snakemake-plugin-catalog/plugins/software-deployment/container.html
|
|
6
6
|
Author-email: Ben Carrillo <ben.uzh@pm.me>, Johannes Köster <johannes.koester@uni-due.de>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from typing import ClassVar
|
|
1
2
|
from pathlib import Path
|
|
2
3
|
from abc import abstractmethod
|
|
3
4
|
from snakemake_interface_software_deployment_plugins import DeployableEnvBase
|
|
@@ -114,6 +115,13 @@ class Env(DeployableEnvBase, EnvBase):
|
|
|
114
115
|
elif self.settings.runtime == Runtime.UDOCKER:
|
|
115
116
|
self.runtime_manager = RuntimeManagerUdocker(self)
|
|
116
117
|
|
|
118
|
+
# Handle runtime manager setup if needed.
|
|
119
|
+
# This is only done once per runtime manager type, not per environment.
|
|
120
|
+
if not self.runtime_manager.is_setup:
|
|
121
|
+
if self.runtime_manager.setup_cmd() is not None:
|
|
122
|
+
self.run_cmd(self.runtime_manager.setup_cmd(), check=True)
|
|
123
|
+
self.runtime_manager.is_setup = True
|
|
124
|
+
|
|
117
125
|
# The decorator ensures that the decorated method is only called once
|
|
118
126
|
# in case multiple environments of the same kind are created.
|
|
119
127
|
@EnvBase.once
|
|
@@ -204,6 +212,10 @@ class Env(DeployableEnvBase, EnvBase):
|
|
|
204
212
|
@dataclass
|
|
205
213
|
class RuntimeManager:
|
|
206
214
|
env: Env
|
|
215
|
+
is_setup: ClassVar[bool] = False
|
|
216
|
+
|
|
217
|
+
def setup_cmd(self) -> str | None:
|
|
218
|
+
return None
|
|
207
219
|
|
|
208
220
|
def deployed_image_name(self) -> str:
|
|
209
221
|
return (
|
|
@@ -324,6 +336,9 @@ class RuntimeManagerDocker(RuntimeManager):
|
|
|
324
336
|
|
|
325
337
|
|
|
326
338
|
class RuntimeManagerUdocker(RuntimeManager):
|
|
339
|
+
def setup_cmd(self) -> str | None:
|
|
340
|
+
return "udocker install"
|
|
341
|
+
|
|
327
342
|
def pre_subcommand_options(self) -> str:
|
|
328
343
|
return "--quiet"
|
|
329
344
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|