snakemake-software-deployment-plugin-container 0.6.2__tar.gz → 0.7.1__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 (11) hide show
  1. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/CHANGELOG.md +21 -0
  2. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/PKG-INFO +3 -3
  3. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/pyproject.toml +3 -3
  4. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/src/snakemake_software_deployment_plugin_container/__init__.py +10 -2
  5. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/tests/test_plugin.py +10 -1
  6. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/.github/workflows/ci.yml +0 -0
  7. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/.github/workflows/conventional-prs.yml +0 -0
  8. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/.github/workflows/release-please.yml +0 -0
  9. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/.gitignore +0 -0
  10. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/LICENSE +0 -0
  11. {snakemake_software_deployment_plugin_container-0.6.2 → snakemake_software_deployment_plugin_container-0.7.1}/README.md +0 -0
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.7.1](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.7.0...v0.7.1) (2026-09-07)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * bump twine ([6a5fcdf](https://github.com/snakemake/snakemake-software-deployment-plugin-container/commit/6a5fcdf33ff93101266551449e090f3a13d569b7))
9
+
10
+ ## [0.7.0](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.6.3...v0.7.0) (2026-09-07)
11
+
12
+
13
+ ### Features
14
+
15
+ * auto-pass workflow environment variables into container ([#21](https://github.com/snakemake/snakemake-software-deployment-plugin-container/issues/21)) ([3083669](https://github.com/snakemake/snakemake-software-deployment-plugin-container/commit/3083669e9e250053508099d26cfef93ec4fa8432))
16
+
17
+ ## [0.6.3](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.6.2...v0.6.3) (2026-07-24)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * use shell_executable attribute ([643d62a](https://github.com/snakemake/snakemake-software-deployment-plugin-container/commit/643d62ad24e9f61187fe870f26ee55fa13134269))
23
+
3
24
  ## [0.6.2](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.6.1...v0.6.2) (2026-06-17)
4
25
 
5
26
 
@@ -1,13 +1,13 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: snakemake-software-deployment-plugin-container
3
- Version: 0.6.2
3
+ Version: 0.7.1
4
4
  Project-URL: repository, https://github.com/snakemake/snakemake-software-deployment-plugin-container
5
5
  Project-URL: documentation, https://snakemake.github.io/snakemake-plugin-catalog/plugins/software-deployment/container.html
6
6
  Author-email: Ben Carrillo <ben.uzh@pm.me>, Johannes Köster <johannes.koester@uni-due.de>
7
7
  License-File: LICENSE
8
8
  Requires-Python: <4.0,>=3.11
9
9
  Requires-Dist: snakemake-interface-common<2.0.0,>=1.23.0
10
- Requires-Dist: snakemake-interface-software-deployment-plugins<1.0,>=0.16.0
10
+ Requires-Dist: snakemake-interface-software-deployment-plugins<1.0,>=0.19.2
11
11
  Requires-Dist: udocker<2.0.0,>=1.3.17
12
12
  Description-Content-Type: text/markdown
13
13
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "snakemake-software-deployment-plugin-container"
3
- version = "0.6.2"
3
+ version = "0.7.1"
4
4
  authors = [
5
5
  { name = "Ben Carrillo", email = "ben.uzh@pm.me" },
6
6
  { name = "Johannes Köster", email = "johannes.koester@uni-due.de" }
@@ -10,7 +10,7 @@ readme = "README.md"
10
10
  requires-python = ">=3.11,<4.0"
11
11
  dependencies = [
12
12
  "snakemake-interface-common (>=1.23.0,<2.0.0)",
13
- "snakemake-interface-software-deployment-plugins (>=0.16.0,<1.0)",
13
+ "snakemake-interface-software-deployment-plugins (>=0.19.2,<1.0)",
14
14
  "udocker (>=1.3.17,<2.0.0)",
15
15
  ]
16
16
 
@@ -63,7 +63,7 @@ exclude_lines = ["pass", "\\.\\.\\."]
63
63
  fail_under = 86.0
64
64
 
65
65
  [tool.pixi.feature.publish.pypi-dependencies]
66
- twine = ">=6.1.0,<7"
66
+ twine = ">=7.0,<8"
67
67
  build = ">=1.2.2,<2"
68
68
 
69
69
 
@@ -207,7 +207,7 @@ class RuntimeManager:
207
207
  f" {self.workdir_option()} {getcwd()!r}" # Working directory inside container
208
208
  f" {mountpoints}"
209
209
  f" {self.image_uri()}" # Container image
210
- " bash" # Shell executable
210
+ f" {self.env.shell_executable.name}" # Shell executable
211
211
  f" -c {shlex.quote(cmd)}" # The command to execute
212
212
  )
213
213
 
@@ -217,7 +217,11 @@ class RuntimeManagerApptainer(RuntimeManager):
217
217
  return "exec"
218
218
 
219
219
  def options(self) -> str:
220
- return ""
220
+ options = ""
221
+ envvars = [f"{env_var}={os.environ[env_var]}" for env_var in self.env.envvars]
222
+ if envvars:
223
+ options += f" --env {','.join(envvars)}"
224
+ return options
221
225
 
222
226
  def workdir_option(self) -> str:
223
227
  return "--cwd"
@@ -240,6 +244,8 @@ class RuntimeManagerDocker(RuntimeManager):
240
244
  uid = os.getuid()
241
245
  gid = os.getgid()
242
246
  options += f" --user {uid}:{gid}"
247
+ for env_var in self.env.envvars:
248
+ options += f" --env {env_var}"
243
249
  return options
244
250
 
245
251
 
@@ -247,4 +253,6 @@ class RuntimeManagerUdocker(RuntimeManager):
247
253
  def options(self) -> str:
248
254
  options = super().options()
249
255
  options += " --nobanner --env TINI_SUBREAPER=1"
256
+ for env_var in self.env.envvars:
257
+ options += f" --env {env_var}={os.environ[env_var]}"
250
258
  return options
@@ -1,7 +1,9 @@
1
+ from collections.abc import Set
1
2
  from typing import Optional, Type
3
+ import shutil
4
+ import os
2
5
 
3
6
  import pytest
4
- import shutil
5
7
 
6
8
  from snakemake_interface_software_deployment_plugins.tests import (
7
9
  TestSoftwareDeploymentBase,
@@ -22,6 +24,10 @@ from snakemake_software_deployment_plugin_container import (
22
24
  )
23
25
 
24
26
 
27
+ os.environ["TESTVAR1"] = "testvalue"
28
+ os.environ["TESTVAR2"] = "testvalue2"
29
+
30
+
25
31
  class TestBase(TestSoftwareDeploymentBase):
26
32
  test_container = "quay.io/biocontainers/samtools:1.23.1--ha83d96e_0"
27
33
 
@@ -47,6 +53,9 @@ class TestBase(TestSoftwareDeploymentBase):
47
53
  # with exit code 0 (i.e. without error).
48
54
  return "samtools --version"
49
55
 
56
+ def get_envvars(self) -> Set[str]:
57
+ return {"TESTVAR1", "TESTVAR2"}
58
+
50
59
 
51
60
  class TestApptainerContainer(TestBase):
52
61
  __test__ = True