snakemake-interface-software-deployment-plugins 0.16.1__tar.gz → 0.16.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.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/CHANGELOG.md +8 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/PKG-INFO +1 -1
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/pyproject.toml +1 -1
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/__init__.py +10 -2
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/tests/test_interface.py +6 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/.github/workflows/conventional-prs.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/.github/workflows/release-please.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/.github/workflows/test.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/.gitignore +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/LICENSE +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/README.md +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/_common.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/registry/__init__.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/registry/plugin.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/settings.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/tests.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.1 → snakemake_interface_software_deployment_plugins-0.16.2}/tests/test_py37.py +0 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.16.2](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.16.1...v0.16.2) (2026-03-09)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* call identity attribute method ([33f7a56](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/33f7a56c83d84459d5616fc3f20cb5b704f64ad0))
|
|
9
|
+
* make EnvSpecSourceFile hashable and comparable ([b6b6dc9](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/b6b6dc9f594e1b07818371b1df09461fdc0795e4))
|
|
10
|
+
|
|
3
11
|
## [0.16.1](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.16.0...v0.16.1) (2026-03-08)
|
|
4
12
|
|
|
5
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snakemake-interface-software-deployment-plugins
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.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.16.
|
|
9
|
+
version = "0.16.2"
|
|
10
10
|
requires-python = ">=3.11,<4.0"
|
|
11
11
|
dependencies = [
|
|
12
12
|
"argparse-dataclass >=2.0.0,<3.0",
|
|
@@ -38,6 +38,14 @@ class EnvSpecSourceFile:
|
|
|
38
38
|
path_or_uri: Union[str, Path]
|
|
39
39
|
cached: Optional[Path] = field(repr=False, default=None)
|
|
40
40
|
|
|
41
|
+
def __eq__(self, other) -> bool:
|
|
42
|
+
if not isinstance(other, EnvSpecSourceFile):
|
|
43
|
+
return False
|
|
44
|
+
return self.path_or_uri == other.path_or_uri
|
|
45
|
+
|
|
46
|
+
def __hash__(self) -> int:
|
|
47
|
+
return hash(self.path_or_uri)
|
|
48
|
+
|
|
41
49
|
|
|
42
50
|
class EnvSpecBase(ABC):
|
|
43
51
|
@classmethod
|
|
@@ -103,7 +111,7 @@ class EnvSpecBase(ABC):
|
|
|
103
111
|
self_or_copied = copy(self)
|
|
104
112
|
else:
|
|
105
113
|
return self
|
|
106
|
-
for attr_name in getattr(self_or_copied, attribute_method):
|
|
114
|
+
for attr_name in getattr(self_or_copied, attribute_method)():
|
|
107
115
|
current_value = getattr(self_or_copied, attr_name)
|
|
108
116
|
if current_value is not None:
|
|
109
117
|
setattr(self_or_copied, attr_name, modify_func(current_value))
|
|
@@ -179,7 +187,7 @@ class EnvBase(ABC):
|
|
|
179
187
|
cache_prefix: Path,
|
|
180
188
|
deployment_prefix: Path,
|
|
181
189
|
pinfile_prefix: Path,
|
|
182
|
-
):
|
|
190
|
+
) -> None:
|
|
183
191
|
# type annotation for spec and settings is left for implementing plugins
|
|
184
192
|
self.spec = spec
|
|
185
193
|
self.within = within
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from snakemake_interface_software_deployment_plugins import EnvSpecSourceFile
|
|
2
|
+
from pathlib import Path
|
|
1
3
|
from typing import List
|
|
2
4
|
from snakemake_interface_software_deployment_plugins.registry import (
|
|
3
5
|
SoftwareDeploymentPluginRegistry,
|
|
@@ -29,3 +31,7 @@ class TestRegistry(TestRegistryBase):
|
|
|
29
31
|
|
|
30
32
|
def get_example_args(self) -> List[str]:
|
|
31
33
|
return []
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_env_spec_source_file():
|
|
37
|
+
EnvSpecSourceFile(path_or_uri="test.yaml", cached=Path("test.yaml"))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|