snakemake-software-deployment-plugin-container 0.2.0__tar.gz → 0.2.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 (13) hide show
  1. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/CHANGELOG.md +7 -0
  2. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/PKG-INFO +1 -1
  3. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/pixi.lock +4 -4
  4. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/pyproject.toml +2 -2
  5. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/src/snakemake_software_deployment_plugin_container/__init__.py +5 -14
  6. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/.github/workflows/ci.yml +0 -0
  7. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/.github/workflows/conventional-prs.yml +0 -0
  8. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/.github/workflows/release-please.yml +0 -0
  9. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/.gitignore +0 -0
  10. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/LICENSE +0 -0
  11. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/README.md +0 -0
  12. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/setup.cfg +0 -0
  13. {snakemake_software_deployment_plugin_container-0.2.0 → snakemake_software_deployment_plugin_container-0.2.1}/tests/test_plugin.py +0 -0
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.1](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.2.0...v0.2.1) (2026-02-17)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * fix mountpoint handling ([#7](https://github.com/snakemake/snakemake-software-deployment-plugin-container/issues/7)) ([ce2c1c9](https://github.com/snakemake/snakemake-software-deployment-plugin-container/commit/ce2c1c9cd29820835468ac4b8c808a4b6e114ee9))
9
+
3
10
  ## [0.2.0](https://github.com/snakemake/snakemake-software-deployment-plugin-container/compare/v0.1.0...v0.2.0) (2026-02-17)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snakemake-software-deployment-plugin-container
3
- Version: 0.2.0
3
+ Version: 0.2.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>
@@ -639,7 +639,7 @@ packages:
639
639
  - typing_extensions >=4.6.0
640
640
  license: MIT and PSF-2.0
641
641
  purls:
642
- - pkg:pypi/exceptiongroup?source=hash-mapping
642
+ - pkg:pypi/exceptiongroup?source=compressed-mapping
643
643
  size: 21333
644
644
  timestamp: 1763918099466
645
645
  - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda
@@ -710,7 +710,7 @@ packages:
710
710
  license: Apache-2.0
711
711
  license_family: APACHE
712
712
  purls:
713
- - pkg:pypi/id?source=hash-mapping
713
+ - pkg:pypi/id?source=compressed-mapping
714
714
  size: 27972
715
715
  timestamp: 1770237711404
716
716
  - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda
@@ -1610,8 +1610,8 @@ packages:
1610
1610
  requires_python: '>=3.11,<4.0'
1611
1611
  - pypi: ./
1612
1612
  name: snakemake-software-deployment-plugin-container
1613
- version: 0.2.0
1614
- sha256: 5fbf2cbe44ae078e9ca27eb1a1f058b324ab5619594d1f35e14cfd58068d2b79
1613
+ version: 0.2.1
1614
+ sha256: a2494a8414f9ab599bbf11c99bcf20e57ab10251a797d2e924cbe3ade6f16732
1615
1615
  requires_dist:
1616
1616
  - snakemake-interface-common>=1.17.4,<2.0.0
1617
1617
  - snakemake-interface-software-deployment-plugins>=0.9.1,<1.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "snakemake-software-deployment-plugin-container"
3
- version = "0.2.0"
3
+ version = "0.2.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" }
@@ -57,7 +57,7 @@ cmd = [
57
57
 
58
58
  [tool.coverage.report]
59
59
  exclude_lines = ["pass", "\\.\\.\\."]
60
- fail_under = 93.0
60
+ fail_under = 91.0
61
61
 
62
62
  [tool.pixi.feature.publish.dependencies]
63
63
  twine = ">=6.1.0,<7"
@@ -3,7 +3,6 @@ __copyright__ = "Copyright 2025, ben carrillo"
3
3
  __email__ = "ben.uzh@pm.me"
4
4
  __license__ = "MIT"
5
5
 
6
- import os.path
7
6
  import shlex
8
7
  from dataclasses import dataclass, field
9
8
  from os import getcwd
@@ -25,10 +24,6 @@ from snakemake_interface_common.exceptions import WorkflowError # noqa: F401
25
24
  from snakemake_interface_common.settings import SettingsEnumBase
26
25
 
27
26
 
28
- # The mountpoint for the Snakemake working directory inside the container.
29
- SNAKEMAKE_MOUNTPOINT = "/mnt/snakemake"
30
-
31
-
32
27
  # ContainerType is an enum that defines the different container types we support.
33
28
  # If adding new ones, make sure the choice is the same as the command name.
34
29
  class Runtime(SettingsEnumBase):
@@ -114,14 +109,11 @@ class Env(EnvBase):
114
109
  raise WorkflowError(f"{cmd} is not available in PATH")
115
110
 
116
111
  def decorate_shellcmd(self, cmd: str) -> str:
117
- # TODO pass more options here (extra mount volumes, user etc)
118
- containercache = os.path.join(
119
- SNAKEMAKE_MOUNTPOINT, ".cache/snakemake/source-cache"
120
- )
112
+ # TODO pass more options here (user etc)
121
113
 
122
114
  mountpoints = (
123
- f" -v {getcwd()!r}:{SNAKEMAKE_MOUNTPOINT!r}" # Mount host directory to container
124
- f" -v {str(self.source_cache)!r}:{containercache!r}" # Mount host cache to container
115
+ f" -v {getcwd()!r}:{getcwd()!r}" # Mount host directory to container
116
+ f" -v {str(self.source_cache)!r}:{str(self.source_cache)!r}" # Mount host cache to container
125
117
  )
126
118
  for mountpoint in self.settings.mountpoints:
127
119
  mountpoints += f" -v {mountpoint!r}"
@@ -129,8 +121,7 @@ class Env(EnvBase):
129
121
  decorated_cmd = (
130
122
  f"{self.settings.runtime} run"
131
123
  " --rm" # Remove container after execution
132
- f" -e HOME={SNAKEMAKE_MOUNTPOINT!r}" # Set HOME to working directory
133
- f" -w {SNAKEMAKE_MOUNTPOINT!r}" # Working directory inside container
124
+ f" -w {getcwd()!r}" # Working directory inside container
134
125
  f" {mountpoints}"
135
126
  f" {self.spec.image_uri}" # Container image
136
127
  " /bin/sh" # Shell executable
@@ -144,7 +135,7 @@ class Env(EnvBase):
144
135
  # could potentially contain a different set of software (in terms of versions or
145
136
  # packages). Use self.spec (containing the corresponding EnvSpec object)
146
137
  # to determine the hash.
147
- hash_object.update(...)
138
+ hash_object.update(self.spec.image_uri.encode())
148
139
 
149
140
  def report_software(self) -> Iterable[SoftwareReport]:
150
141
  # Report the software contained in the environment. This should be a list of