snakemake-interface-software-deployment-plugins 0.16.0__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.0 → snakemake_interface_software_deployment_plugins-0.16.2}/CHANGELOG.md +15 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/PKG-INFO +2 -2
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/pyproject.toml +6 -8
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/__init__.py +11 -9
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/tests/test_interface.py +6 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/.github/workflows/conventional-prs.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/.github/workflows/release-please.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/.github/workflows/test.yml +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/.gitignore +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/LICENSE +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/README.md +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/_common.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → 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.0 → 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.0 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/settings.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/snakemake_interface_software_deployment_plugins/tests.py +0 -0
- {snakemake_interface_software_deployment_plugins-0.16.0 → snakemake_interface_software_deployment_plugins-0.16.2}/tests/test_py37.py +0 -0
|
@@ -1,5 +1,20 @@
|
|
|
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
|
+
|
|
11
|
+
## [0.16.1](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.16.0...v0.16.1) (2026-03-08)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* use SoftwareReport from snakemake-interface-common ([09d79f0](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/09d79f0aface540b53378e1c29a62700e74b312f))
|
|
17
|
+
|
|
3
18
|
## [0.16.0](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.15.0...v0.16.0) (2026-03-08)
|
|
4
19
|
|
|
5
20
|
|
|
@@ -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>
|
|
@@ -8,7 +8,7 @@ License-Expression: MIT
|
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Requires-Python: <4.0,>=3.11
|
|
10
10
|
Requires-Dist: argparse-dataclass<3.0,>=2.0.0
|
|
11
|
-
Requires-Dist: snakemake-interface-common<2.0.0,>=1.
|
|
11
|
+
Requires-Dist: snakemake-interface-common<2.0.0,>=1.23.0
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
|
|
14
14
|
# Stable interfaces and functionality for Snakemake software deployment plugins
|
|
@@ -6,11 +6,11 @@ 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",
|
|
13
|
-
"snakemake-interface-common >=1.
|
|
13
|
+
"snakemake-interface-common >=1.23.0,<2.0.0"
|
|
14
14
|
]
|
|
15
15
|
|
|
16
16
|
[project.urls]
|
|
@@ -31,13 +31,11 @@ platforms = ["osx-arm64", "linux-64"]
|
|
|
31
31
|
dev = { features = ["dev"] }
|
|
32
32
|
publish = { features = ["publish"] }
|
|
33
33
|
|
|
34
|
-
[tool.pixi.feature.dev.dependencies]
|
|
34
|
+
[tool.pixi.feature.dev.pypi-dependencies]
|
|
35
35
|
pytest = ">=8.3.5,<9"
|
|
36
36
|
ruff = ">=0.10.0,<0.11"
|
|
37
37
|
pytest-cov = ">=6.0.0,<7"
|
|
38
38
|
pyrefly = ">=0.52.0,<0.53"
|
|
39
|
-
|
|
40
|
-
[tool.pixi.feature.dev.pypi-dependencies]
|
|
41
39
|
snakemake-software-deployment-plugin-envmodules = ">=0.1.2,<1.0"
|
|
42
40
|
|
|
43
41
|
[tool.pixi.feature.dev.tasks]
|
|
@@ -58,11 +56,11 @@ cmd = [
|
|
|
58
56
|
|
|
59
57
|
[tool.coverage.report]
|
|
60
58
|
exclude_lines = ["pass", "\\.\\.\\."]
|
|
61
|
-
fail_under =
|
|
59
|
+
fail_under = 61.0
|
|
62
60
|
|
|
63
|
-
[tool.pixi.feature.publish.dependencies]
|
|
61
|
+
[tool.pixi.feature.publish.pypi-dependencies]
|
|
64
62
|
twine = ">=6.1.0,<7"
|
|
65
|
-
|
|
63
|
+
build = ">=1.2.2,<2"
|
|
66
64
|
|
|
67
65
|
|
|
68
66
|
[tool.pixi.feature.publish.tasks]
|
|
@@ -30,13 +30,7 @@ from typing import (
|
|
|
30
30
|
import subprocess as sp
|
|
31
31
|
|
|
32
32
|
from snakemake_interface_common.exceptions import WorkflowError
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
@dataclass
|
|
36
|
-
class SoftwareReport:
|
|
37
|
-
name: str
|
|
38
|
-
version: Optional[str] = None
|
|
39
|
-
is_secondary: bool = False
|
|
33
|
+
from snakemake_interface_common.software import SoftwareReport
|
|
40
34
|
|
|
41
35
|
|
|
42
36
|
@dataclass
|
|
@@ -44,6 +38,14 @@ class EnvSpecSourceFile:
|
|
|
44
38
|
path_or_uri: Union[str, Path]
|
|
45
39
|
cached: Optional[Path] = field(repr=False, default=None)
|
|
46
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
|
+
|
|
47
49
|
|
|
48
50
|
class EnvSpecBase(ABC):
|
|
49
51
|
@classmethod
|
|
@@ -109,7 +111,7 @@ class EnvSpecBase(ABC):
|
|
|
109
111
|
self_or_copied = copy(self)
|
|
110
112
|
else:
|
|
111
113
|
return self
|
|
112
|
-
for attr_name in getattr(self_or_copied, attribute_method):
|
|
114
|
+
for attr_name in getattr(self_or_copied, attribute_method)():
|
|
113
115
|
current_value = getattr(self_or_copied, attr_name)
|
|
114
116
|
if current_value is not None:
|
|
115
117
|
setattr(self_or_copied, attr_name, modify_func(current_value))
|
|
@@ -185,7 +187,7 @@ class EnvBase(ABC):
|
|
|
185
187
|
cache_prefix: Path,
|
|
186
188
|
deployment_prefix: Path,
|
|
187
189
|
pinfile_prefix: Path,
|
|
188
|
-
):
|
|
190
|
+
) -> None:
|
|
189
191
|
# type annotation for spec and settings is left for implementing plugins
|
|
190
192
|
self.spec = spec
|
|
191
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
|