snakemake-interface-software-deployment-plugins 0.18.0__tar.gz → 0.18.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.
Files changed (17) hide show
  1. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/CHANGELOG.md +14 -0
  2. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/PKG-INFO +1 -1
  3. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/pyproject.toml +1 -1
  4. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/snakemake_interface_software_deployment_plugins/tests.py +17 -1
  5. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/.github/workflows/conventional-prs.yml +0 -0
  6. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/.github/workflows/release-please.yml +0 -0
  7. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/.github/workflows/test.yml +0 -0
  8. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/.gitignore +0 -0
  9. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/LICENSE +0 -0
  10. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/README.md +0 -0
  11. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/snakemake_interface_software_deployment_plugins/__init__.py +0 -0
  12. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/snakemake_interface_software_deployment_plugins/_common.py +0 -0
  13. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/snakemake_interface_software_deployment_plugins/registry/__init__.py +0 -0
  14. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/snakemake_interface_software_deployment_plugins/registry/plugin.py +0 -0
  15. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/snakemake_interface_software_deployment_plugins/settings.py +0 -0
  16. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/tests/test_interface.py +0 -0
  17. {snakemake_interface_software_deployment_plugins-0.18.0 → snakemake_interface_software_deployment_plugins-0.18.2}/tests/test_py37.py +0 -0
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.18.2](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.18.1...v0.18.2) (2026-06-02)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * suffix replacement Path handling ([7e9f39f](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/7e9f39f9bac6e80a870b2cc2088280b619331e2c))
9
+
10
+ ## [0.18.1](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.18.0...v0.18.1) (2026-06-02)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * handle suffix replacement in test suite ([8197cfa](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/commit/8197cfa37baa10852f0ac40944963e821fc25df0))
16
+
3
17
  ## [0.18.0](https://github.com/snakemake/snakemake-interface-software-deployment-plugins/compare/v0.17.0...v0.18.0) (2026-06-02)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snakemake-interface-software-deployment-plugins
3
- Version: 0.18.0
3
+ Version: 0.18.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
  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.0"
9
+ version = "0.18.2"
10
10
  requires-python = ">=3.11,<4.0"
11
11
  dependencies = [
12
12
  "argparse-dataclass >=2.0.0,<3.0",
@@ -1,3 +1,4 @@
1
+ from typing import Union
1
2
  from typing import List
2
3
  from pathlib import Path
3
4
  from abc import ABC, abstractmethod
@@ -165,7 +166,14 @@ class TestSoftwareDeploymentBase(ABC):
165
166
  for attr in spec.source_path_attributes():
166
167
  source_file = getattr(spec, attr)
167
168
  if source_file is not None:
168
- source_file.cached = source_file.path_or_uri
169
+ if source_file.suffix_replacement is not None:
170
+ source_file.path_or_uri = _replace_suffix(
171
+ source_file.path_or_uri,
172
+ source_file.suffix_replacement.old_suffixes,
173
+ source_file.suffix_replacement.new_suffix,
174
+ )
175
+ source_file.suffix_replacement = None
176
+ source_file.cached = Path(source_file.path_or_uri)
169
177
  return spec
170
178
 
171
179
  def _get_env(self, tmp_path) -> EnvBase:
@@ -237,3 +245,11 @@ class TestSoftwareDeploymentBase(ABC):
237
245
  assert isinstance(env, DeployableEnvBase)
238
246
  asyncio.run(env.deploy())
239
247
  assert any((tmp_path / env.spec.module().__name__ / "deployments").iterdir())
248
+
249
+
250
+ def _replace_suffix(path: Union[Path, str], suffix: List[str], replacement: str) -> str:
251
+ path = str(path)
252
+ for suff in suffix:
253
+ if path.endswith(suff):
254
+ return path[: -len(suff)] + replacement
255
+ raise ValueError(f"Path {path} does not end with any of the suffixes {suffix}")