snakemake-interface-software-deployment-plugins 0.18.4__tar.gz → 0.18.6__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.
Potentially problematic release.
This version of snakemake-interface-software-deployment-plugins might be problematic. Click here for more details.
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/CHANGELOG.md +16 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/PKG-INFO +1 -1
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/pyproject.toml +1 -1
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/snakemake_interface_software_deployment_plugins/__init__.py +14 -17
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/.github/workflows/conventional-prs.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/.github/workflows/release-please.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/.github/workflows/test.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/.gitignore +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/LICENSE +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/README.md +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/snakemake_interface_software_deployment_plugins/_common.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/snakemake_interface_software_deployment_plugins/registry/__init__.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/snakemake_interface_software_deployment_plugins/registry/plugin.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/snakemake_interface_software_deployment_plugins/settings.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/snakemake_interface_software_deployment_plugins/tests.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/tests/test_interface.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.18.4 → snakemake_interface_software_deployment_plugins-0.18.6}/tests/test_py37.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.18.6](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.18.5...v0.18.6) (2026-08-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* remove suffixes from shell executable name ([e8bdc26](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/e8bdc26a5fc7cf3d2a104ecfa1e0a21d9a3b4c2f))
|
|
9
|
+
|
|
10
|
+
## [0.18.5](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.18.4...v0.18.5) (2026-08-05)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* apply modify func on all attributes, not only in case of source path attributes ([#62](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/issues/62)) ([fa1971d](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/fa1971dafdb952dd615bb69beda533aeecadbb89))
|
|
16
|
+
* close temp file after creation ([9fa7730](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/9fa7730b2a4f305a9a2ae3f667f0e673c618d336))
|
|
17
|
+
* do not require spec equality if env hashes are the same ([7ae9c5d](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/7ae9c5d108c90616e599d2760add6b6715a49381))
|
|
18
|
+
|
|
3
19
|
## [0.18.4](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.18.3...v0.18.4) (2026-07-24)
|
|
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.18.
|
|
3
|
+
Version: 0.18.6
|
|
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
|
Project-URL: homepage, https://snakemake.github.io
|
|
@@ -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.18.
|
|
9
|
+
version = "0.18.6"
|
|
10
10
|
requires-python = ">=3.11,<4.0"
|
|
11
11
|
dependencies = [
|
|
12
12
|
"argparse-dataclass >=2.0.0,<3.0",
|
|
@@ -126,27 +126,28 @@ class EnvSpecBase(ABC):
|
|
|
126
126
|
return self._modify_attributes("identity_attributes", modify_func)
|
|
127
127
|
|
|
128
128
|
def _modify_attributes(self, attribute_method: str, modify_func: Callable) -> Self:
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
else:
|
|
129
|
+
attributes = list(getattr(self, attribute_method)())
|
|
130
|
+
if not attributes and self.within is None and self.fallback is None:
|
|
132
131
|
return self
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
copied = copy(self)
|
|
133
|
+
|
|
134
|
+
for attr_name in attributes:
|
|
135
|
+
current_value = getattr(copied, attr_name)
|
|
135
136
|
if current_value is not None:
|
|
136
|
-
setattr(
|
|
137
|
+
setattr(copied, attr_name, modify_func(current_value))
|
|
137
138
|
|
|
138
|
-
if
|
|
139
|
-
|
|
139
|
+
if copied.within is not None:
|
|
140
|
+
copied.within = copied.within._modify_attributes(
|
|
140
141
|
attribute_method,
|
|
141
142
|
modify_func,
|
|
142
143
|
)
|
|
143
144
|
|
|
144
|
-
if
|
|
145
|
-
|
|
145
|
+
if copied.fallback is not None:
|
|
146
|
+
copied.fallback = copied.fallback._modify_attributes(
|
|
146
147
|
attribute_method,
|
|
147
148
|
modify_func,
|
|
148
149
|
)
|
|
149
|
-
return
|
|
150
|
+
return copied
|
|
150
151
|
|
|
151
152
|
def __or__(self, other: "EnvSpecBase") -> "EnvSpecBase":
|
|
152
153
|
copied = copy(self)
|
|
@@ -186,7 +187,7 @@ class ShellExecutable:
|
|
|
186
187
|
|
|
187
188
|
@property
|
|
188
189
|
def name(self) -> str:
|
|
189
|
-
return Path(self.executable).name
|
|
190
|
+
return Path(self.executable).with_suffix("").name
|
|
190
191
|
|
|
191
192
|
def run(self, cmd: str, **kwargs) -> sp.CompletedProcess:
|
|
192
193
|
return sp.run([self.executable] + self.args + [self.command_arg, cmd], **kwargs)
|
|
@@ -341,11 +342,7 @@ class EnvBase(ABC):
|
|
|
341
342
|
return self._obj_hash
|
|
342
343
|
|
|
343
344
|
def __eq__(self, other) -> bool:
|
|
344
|
-
return (
|
|
345
|
-
self.__class__ == other.__class__
|
|
346
|
-
and self.spec == other.spec
|
|
347
|
-
and self.hash() == other.hash()
|
|
348
|
-
)
|
|
345
|
+
return self.__class__ == other.__class__ and self.hash() == other.hash()
|
|
349
346
|
|
|
350
347
|
|
|
351
348
|
class PinnableEnvBase(EnvBase, ABC):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|