snakemake-interface-software-deployment-plugins 0.10.0__tar.gz → 0.10.2__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_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/CHANGELOG.md +16 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/PKG-INFO +1 -1
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/pyproject.toml +1 -1
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/snakemake_interface_software_deployment_plugins/__init__.py +7 -3
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/snakemake_interface_software_deployment_plugins/tests.py +3 -3
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/.github/workflows/conventional-prs.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/.github/workflows/release-please.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/.github/workflows/test.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/.gitignore +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/LICENSE +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/README.md +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/snakemake_interface_software_deployment_plugins/_common.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/snakemake_interface_software_deployment_plugins/registry/__init__.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/snakemake_interface_software_deployment_plugins/registry/plugin.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/snakemake_interface_software_deployment_plugins/settings.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/tests/test_interface.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.10.0 → snakemake_interface_software_deployment_plugins-0.10.2}/tests/test_py37.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.10.2](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.10.1...v0.10.2) (2026-02-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* allow missing args argument for shell executable ([d7bca35](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/d7bca35b5f27058d3ef1011283b3752373970bef))
|
|
9
|
+
|
|
10
|
+
## [0.10.1](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.10.0...v0.10.1) (2026-02-17)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* deployments path in test suite ([971dea2](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/971dea2f0d0ad330765b7eccb7e2eaee056aa715))
|
|
16
|
+
* hash building for enclosed environments and deployment test ([#38](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/issues/38)) ([89d45d8](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/89d45d8a665639848dd2e1a76f2e5b9a6ea2ff06))
|
|
17
|
+
* unique deployment path ([d953afe](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/d953afe4732b356d1b0f27469d4a3aaad56159b4))
|
|
18
|
+
|
|
3
19
|
## [0.10.0](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.9.1...v0.10.0) (2026-02-13)
|
|
4
20
|
|
|
5
21
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snakemake-interface-software-deployment-plugins
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.2
|
|
4
4
|
Summary: This package provides a stable interface for interactions between Snakemake and its software deployment plugins.
|
|
5
5
|
Project-URL: repository, https://github.com/snakemake/snakemake-interface-software-deployment-plugins
|
|
6
6
|
Author-email: Johannes Köster <johannes.koester@uni-due.de>
|
|
@@ -6,7 +6,7 @@ description = "This package provides a stable interface for interactions between
|
|
|
6
6
|
license = "MIT"
|
|
7
7
|
name = "snakemake-interface-software-deployment-plugins"
|
|
8
8
|
readme = "README.md"
|
|
9
|
-
version = "0.10.
|
|
9
|
+
version = "0.10.2"
|
|
10
10
|
requires-python = ">=3.11,<4.0"
|
|
11
11
|
dependencies = [
|
|
12
12
|
"argparse-dataclass >=2.0.0,<3.0",
|
|
@@ -146,8 +146,8 @@ class EnvSpecBase(ABC):
|
|
|
146
146
|
@dataclass
|
|
147
147
|
class ShellExecutable:
|
|
148
148
|
executable: str
|
|
149
|
-
args: List[str]
|
|
150
149
|
command_arg: str
|
|
150
|
+
args: List[str] = field(default_factory=list)
|
|
151
151
|
|
|
152
152
|
@property
|
|
153
153
|
def name(self) -> str:
|
|
@@ -272,14 +272,18 @@ class EnvBase(ABC):
|
|
|
272
272
|
return self._managed_generic_hash("hash")
|
|
273
273
|
|
|
274
274
|
def _managed_generic_hash(self, kind: str) -> str:
|
|
275
|
-
|
|
275
|
+
store_attr = f"_managed_{kind}_store"
|
|
276
|
+
store = getattr(self, store_attr)
|
|
276
277
|
if store is None:
|
|
277
278
|
record_hash = f"record_{kind}"
|
|
278
279
|
hash_object = hashlib.md5()
|
|
279
280
|
if self.within is not None:
|
|
280
|
-
|
|
281
|
+
# For within, we always take the normal hash,
|
|
282
|
+
# since the deployment just runs within that.
|
|
283
|
+
self.within.record_hash(hash_object)
|
|
281
284
|
getattr(self, record_hash)(hash_object)
|
|
282
285
|
store = hash_object.hexdigest()
|
|
286
|
+
setattr(self, store_attr, store)
|
|
283
287
|
return store
|
|
284
288
|
|
|
285
289
|
def __hash__(self) -> int:
|
|
@@ -92,7 +92,7 @@ class TestSoftwareDeploymentBase(ABC):
|
|
|
92
92
|
env = self._get_env(tmp_path)
|
|
93
93
|
self._deploy(env, tmp_path)
|
|
94
94
|
cmd = env.managed_decorate_shellcmd(self.get_test_cmd())
|
|
95
|
-
assert
|
|
95
|
+
assert self.shell_executable.run(cmd).returncode == 0
|
|
96
96
|
|
|
97
97
|
def test_cache(self, tmp_path):
|
|
98
98
|
env = self._get_env(tmp_path)
|
|
@@ -180,7 +180,7 @@ class TestSoftwareDeploymentBase(ABC):
|
|
|
180
180
|
tmp_path,
|
|
181
181
|
within: Optional[EnvBase] = None,
|
|
182
182
|
) -> EnvBase:
|
|
183
|
-
tmp_name =
|
|
183
|
+
tmp_name = spec.module().__name__
|
|
184
184
|
|
|
185
185
|
tempdir = tmp_path / tmp_name / "temp"
|
|
186
186
|
deployment_prefix = tmp_path / tmp_name / "deployments"
|
|
@@ -211,4 +211,4 @@ class TestSoftwareDeploymentBase(ABC):
|
|
|
211
211
|
|
|
212
212
|
assert isinstance(env, DeployableEnvBase)
|
|
213
213
|
asyncio.run(env.deploy())
|
|
214
|
-
assert any((tmp_path / "deployments").iterdir())
|
|
214
|
+
assert any((tmp_path / env.spec.module().__name__ / "deployments").iterdir())
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|