girder-worker 0.10.6.dev5__tar.gz → 0.10.7.dev5__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 (79) hide show
  1. {girder_worker-0.10.6.dev5/girder_worker.egg-info → girder_worker-0.10.7.dev5}/PKG-INFO +1 -1
  2. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/tasks/__init__.py +37 -9
  3. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5/girder_worker.egg-info}/PKG-INFO +1 -1
  4. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker.egg-info/SOURCES.txt +2 -0
  5. girder_worker-0.10.7.dev5/girder_worker.egg-info/scm_file_list.json +157 -0
  6. girder_worker-0.10.7.dev5/girder_worker.egg-info/scm_version.json +8 -0
  7. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/requirements.txt +29 -27
  8. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/tox.ini +1 -1
  9. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/.circleci/config.yml +0 -0
  10. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/.codecov.yml +0 -0
  11. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/.coveragerc.pytest +0 -0
  12. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/.dockerignore +0 -0
  13. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/.gitignore +0 -0
  14. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/CHANGELOG.rst +0 -0
  15. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/CONTRIBUTING.md +0 -0
  16. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/Dockerfile +0 -0
  17. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/HACKING.md +0 -0
  18. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/LICENSE +0 -0
  19. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/MANIFEST.in +0 -0
  20. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/NOTICE +0 -0
  21. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/README.rst +0 -0
  22. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/TRANSITION.md +0 -0
  23. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/docker-compose.yml +0 -0
  24. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/docker-entrypoint.sh +0 -0
  25. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/docker.env +0 -0
  26. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/.gitignore +0 -0
  27. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/__init__.py +0 -0
  28. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/__main__.py +0 -0
  29. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/_test_plugins/__init__.py +0 -0
  30. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/_test_plugins/plugins.py +0 -0
  31. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/_test_plugins/tasks.py +0 -0
  32. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/app.py +0 -0
  33. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/celeryconfig.py +0 -0
  34. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/configure.py +0 -0
  35. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/context/__init__.py +0 -0
  36. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/context/girder_context.py +0 -0
  37. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/context/nongirder_context.py +0 -0
  38. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/__init__.py +0 -0
  39. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/io/__init__.py +0 -0
  40. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/io/girder.py +0 -0
  41. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/nvidia.py +0 -0
  42. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/stream_adapter.py +0 -0
  43. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/transforms/__init__.py +0 -0
  44. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/transforms/girder.py +0 -0
  45. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/docker/utils.py +0 -0
  46. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/entrypoint.py +0 -0
  47. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/__init__.py +0 -0
  48. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/api/__init__.py +0 -0
  49. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/api/worker.py +0 -0
  50. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/celery.py +0 -0
  51. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/constants.py +0 -0
  52. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/event_handlers.py +0 -0
  53. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/status.py +0 -0
  54. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/utils.py +0 -0
  55. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/JobStatus.js +0 -0
  56. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/main.js +0 -0
  57. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/package.json +0 -0
  58. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/routes.js +0 -0
  59. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/stylesheets/jobDetailsWidget.styl +0 -0
  60. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/stylesheets/taskStatusView.styl +0 -0
  61. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/templates/configView.pug +0 -0
  62. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/templates/taskStatusView.pug +0 -0
  63. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/views/ConfigView.js +0 -0
  64. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/girder_plugin/web_client/views/taskStatusView.js +0 -0
  65. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/log_utils.py +0 -0
  66. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/task.py +0 -0
  67. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/utils.py +0 -0
  68. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker/worker.dist.cfg +0 -0
  69. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker.egg-info/dependency_links.txt +0 -0
  70. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker.egg-info/entry_points.txt +0 -0
  71. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker.egg-info/not-zip-safe +0 -0
  72. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker.egg-info/requires.txt +0 -0
  73. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/girder_worker.egg-info/top_level.txt +0 -0
  74. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/pyproject.toml +0 -0
  75. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/requirements-dev.in +0 -0
  76. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/requirements.in +0 -0
  77. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/scripts/install_requirements.py +0 -0
  78. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/setup.cfg +0 -0
  79. {girder_worker-0.10.6.dev5 → girder_worker-0.10.7.dev5}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: girder-worker
3
- Version: 0.10.6.dev5
3
+ Version: 0.10.7.dev5
4
4
  Summary: Batch execution engine built on celery.
5
5
  Home-page: https://github.com/girder/girder_worker
6
6
  Author: Kitware, Inc.
@@ -49,6 +49,10 @@ def _pull_image(image):
49
49
  raise
50
50
 
51
51
 
52
+ def _is_no_such_container(exc):
53
+ return 'No such container' in str(exc) or type(exc).__name__ == 'NotFound'
54
+
55
+
52
56
  def _get_docker_network():
53
57
  try:
54
58
  ip = socket.gethostbyname(socket.gethostname())
@@ -57,10 +61,23 @@ def _get_docker_network():
57
61
  client = docker.from_env(version='auto', timeout=timeout)
58
62
  else:
59
63
  client = docker.from_env(version='auto')
60
- for container in client.containers.list(all=True, filters={'status': 'running'}):
61
- for nw in container.attrs['NetworkSettings']['Networks'].values():
64
+ # we use client.api.containers rather than client.containers.list
65
+ # because containers.lists casts to a list which can throw an
66
+ # exception rather than allowing graceful handling.
67
+ for container in client.api.containers(all=True, filters={'status': ['running']}):
68
+ cid = container.get('Id') or container.get('ID')
69
+ if not cid:
70
+ continue
71
+ try:
72
+ data = client.api.inspect_container(cid)
73
+ except Exception as exc:
74
+ if _is_no_such_container(exc):
75
+ continue
76
+ raise
77
+ networks = (data.get('NetworkSettings', {}) or {}).get('Networks', {}) or {}
78
+ for nw in networks.values():
62
79
  if nw['IPAddress'] == ip:
63
- return 'container:%s' % container.id
80
+ return 'container:%s' % cid
64
81
  except Exception:
65
82
  logger.exception('Failed to get docker network')
66
83
 
@@ -68,12 +85,23 @@ def _get_docker_network():
68
85
  def _remove_stopped_container(client, name):
69
86
  if name is None:
70
87
  return
71
- for container in client.containers.list(all=True, filters={'name': name}):
72
- try:
73
- logger.info('Removing container %s ' % (name))
74
- container.remove()
75
- except Exception:
76
- pass
88
+ # we use client.api.containers rather than client.containers.list
89
+ # because containers.lists casts to a list which can throw an
90
+ # exception rather than allowing graceful handling.
91
+ try:
92
+ for container in client.api.containers(all=True, filters={'name': [name]}):
93
+ cid = container.get('Id') or container.get('ID')
94
+ if not cid:
95
+ continue
96
+ try:
97
+ logger.info('Removing container %s ' % (name))
98
+ client.api.remove_container(cid)
99
+ except Exception:
100
+ pass
101
+ except Exception as exc:
102
+ if _is_no_such_container(exc):
103
+ return
104
+ raise
77
105
 
78
106
 
79
107
  def _run_container(image, container_args, **kwargs):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: girder-worker
3
- Version: 0.10.6.dev5
3
+ Version: 0.10.7.dev5
4
4
  Summary: Batch execution engine built on celery.
5
5
  Home-page: https://github.com/girder/girder_worker
6
6
  Author: Kitware, Inc.
@@ -38,6 +38,8 @@ girder_worker.egg-info/dependency_links.txt
38
38
  girder_worker.egg-info/entry_points.txt
39
39
  girder_worker.egg-info/not-zip-safe
40
40
  girder_worker.egg-info/requires.txt
41
+ girder_worker.egg-info/scm_file_list.json
42
+ girder_worker.egg-info/scm_version.json
41
43
  girder_worker.egg-info/top_level.txt
42
44
  girder_worker/_test_plugins/__init__.py
43
45
  girder_worker/_test_plugins/plugins.py
@@ -0,0 +1,157 @@
1
+ {
2
+ "files": [
3
+ ".codecov.yml",
4
+ ".coveragerc.pytest",
5
+ ".dockerignore",
6
+ ".gitignore",
7
+ "CHANGELOG.rst",
8
+ "CONTRIBUTING.md",
9
+ "CTestConfig.cmake",
10
+ "Dockerfile",
11
+ "HACKING.md",
12
+ "LICENSE",
13
+ "MANIFEST.in",
14
+ "NOTICE",
15
+ "README.rst",
16
+ "TRANSITION.md",
17
+ "docker-compose.yml",
18
+ "docker-entrypoint.sh",
19
+ "docker.env",
20
+ "pyproject.toml",
21
+ "requirements-dev.in",
22
+ "requirements.in",
23
+ "requirements.txt",
24
+ "setup.py",
25
+ "tox.ini",
26
+ ".circleci/config.yml",
27
+ "docs/Makefile",
28
+ "docs/api-docs.rst",
29
+ "docs/builtin-plugins.rst",
30
+ "docs/conf.py",
31
+ "docs/developer-docs.rst",
32
+ "docs/getting-started.rst",
33
+ "docs/important-differences.rst",
34
+ "docs/index.rst",
35
+ "docs/installation.rst",
36
+ "docs/license.png",
37
+ "docs/plugins.rst",
38
+ "docs/using-from-girder.rst",
39
+ "docs/static/data.json",
40
+ "docs/static/facebook-data.json",
41
+ "docs/static/facebook-example-spec.json",
42
+ "docs/static/facebook-example-workflow.png",
43
+ "docs/static/facebook-example-workflow.xml",
44
+ "docs/static/facebook-example.css",
45
+ "docs/static/facebook-example.html",
46
+ "docs/static/facebook-example.js",
47
+ "docs/static/facebook-sample-data.txt",
48
+ "docs/static/favicon.png",
49
+ "docs/static/lenna.jpg",
50
+ "docs/static/lenna10.jpg",
51
+ "docs/static/sidebar.png",
52
+ "docs/templates/page.html",
53
+ "examples/plugin_example/.gitignore",
54
+ "examples/plugin_example/README.md",
55
+ "examples/plugin_example/example_client.py",
56
+ "examples/plugin_example/setup.py",
57
+ "examples/plugin_example/gwexample/__init__.py",
58
+ "examples/plugin_example/gwexample/analyses/__init__.py",
59
+ "examples/plugin_example/gwexample/analyses/tasks.py",
60
+ "girder_worker/.gitignore",
61
+ "girder_worker/__init__.py",
62
+ "girder_worker/__main__.py",
63
+ "girder_worker/app.py",
64
+ "girder_worker/celeryconfig.py",
65
+ "girder_worker/configure.py",
66
+ "girder_worker/entrypoint.py",
67
+ "girder_worker/log_utils.py",
68
+ "girder_worker/task.py",
69
+ "girder_worker/utils.py",
70
+ "girder_worker/worker.dist.cfg",
71
+ "girder_worker/_test_plugins/__init__.py",
72
+ "girder_worker/_test_plugins/plugins.py",
73
+ "girder_worker/_test_plugins/tasks.py",
74
+ "girder_worker/context/__init__.py",
75
+ "girder_worker/context/girder_context.py",
76
+ "girder_worker/context/nongirder_context.py",
77
+ "girder_worker/docker/__init__.py",
78
+ "girder_worker/docker/nvidia.py",
79
+ "girder_worker/docker/stream_adapter.py",
80
+ "girder_worker/docker/utils.py",
81
+ "girder_worker/docker/io/__init__.py",
82
+ "girder_worker/docker/io/girder.py",
83
+ "girder_worker/docker/tasks/__init__.py",
84
+ "girder_worker/docker/transforms/__init__.py",
85
+ "girder_worker/docker/transforms/girder.py",
86
+ "girder_worker/girder_plugin/__init__.py",
87
+ "girder_worker/girder_plugin/celery.py",
88
+ "girder_worker/girder_plugin/constants.py",
89
+ "girder_worker/girder_plugin/event_handlers.py",
90
+ "girder_worker/girder_plugin/status.py",
91
+ "girder_worker/girder_plugin/utils.py",
92
+ "girder_worker/girder_plugin/api/__init__.py",
93
+ "girder_worker/girder_plugin/api/worker.py",
94
+ "girder_worker/girder_plugin/web_client/JobStatus.js",
95
+ "girder_worker/girder_plugin/web_client/main.js",
96
+ "girder_worker/girder_plugin/web_client/package.json",
97
+ "girder_worker/girder_plugin/web_client/routes.js",
98
+ "girder_worker/girder_plugin/web_client/stylesheets/jobDetailsWidget.styl",
99
+ "girder_worker/girder_plugin/web_client/stylesheets/taskStatusView.styl",
100
+ "girder_worker/girder_plugin/web_client/templates/configView.pug",
101
+ "girder_worker/girder_plugin/web_client/templates/taskStatusView.pug",
102
+ "girder_worker/girder_plugin/web_client/views/ConfigView.js",
103
+ "girder_worker/girder_plugin/web_client/views/taskStatusView.js",
104
+ "scripts/install_requirements.py",
105
+ "tests/__init__.py",
106
+ "tests/config_test.py",
107
+ "tests/conftest.py",
108
+ "tests/task_cancellation_test.py",
109
+ "tests/task_plugin_test.py",
110
+ "tests/task_signal_test.py",
111
+ "tests/test_app.py",
112
+ "tests/test_docker_io.py",
113
+ "tests/test_docker_nvidia.py",
114
+ "tests/test_docker_stream_adapter.py",
115
+ "tests/test_docker_tasks.py",
116
+ "tests/test_docker_transforms.py",
117
+ "tests/test_docker_utils.py",
118
+ "tests/test_girder_plugin.py",
119
+ "tests/test_utils.py",
120
+ "tests/integration/.gitignore",
121
+ "tests/integration/Dockerfile.girder-py3",
122
+ "tests/integration/Dockerfile.girder_worker-py3",
123
+ "tests/integration/Makefile",
124
+ "tests/integration/README.md",
125
+ "tests/integration/__init__.py",
126
+ "tests/integration/conftest.py",
127
+ "tests/integration/docker-compose.py3.yml",
128
+ "tests/integration/docker-compose.yml",
129
+ "tests/integration/requirements.txt",
130
+ "tests/integration/test_celery.py",
131
+ "tests/integration/test_docker.py",
132
+ "tests/integration/utilities.py",
133
+ "tests/integration/common_tasks/setup.py",
134
+ "tests/integration/common_tasks/common_tasks/__init__.py",
135
+ "tests/integration/common_tasks/common_tasks/test_tasks/__init__.py",
136
+ "tests/integration/common_tasks/common_tasks/test_tasks/cancel.py",
137
+ "tests/integration/common_tasks/common_tasks/test_tasks/fail.py",
138
+ "tests/integration/common_tasks/common_tasks/test_tasks/fib.py",
139
+ "tests/integration/common_tasks/common_tasks/test_tasks/girder_client.py",
140
+ "tests/integration/fixtures/read.txt",
141
+ "tests/integration/fixtures/docker_test_image/Dockerfile",
142
+ "tests/integration/fixtures/docker_test_image/test.py",
143
+ "tests/integration/integration_test_endpoints/plugin.yml",
144
+ "tests/integration/integration_test_endpoints/setup.py",
145
+ "tests/integration/integration_test_endpoints/integration_test_endpoints/__init__.py",
146
+ "tests/integration/integration_test_endpoints/integration_test_endpoints/docker.py",
147
+ "tests/integration/integration_test_endpoints/integration_test_endpoints/raw.py",
148
+ "tests/integration/integration_test_endpoints/integration_test_endpoints/utilities.py",
149
+ "tests/integration/scripts/.gitignore",
150
+ "tests/integration/scripts/ansible.cfg",
151
+ "tests/integration/scripts/girder_entrypoint.sh",
152
+ "tests/integration/scripts/gw_entrypoint.sh",
153
+ "tests/integration/scripts/inventory",
154
+ "tests/integration/scripts/setup.yml",
155
+ "tests/integration/scripts/wait-for-it.sh"
156
+ ]
157
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.10.6",
3
+ "distance": 5,
4
+ "node": "ga8a9edf37465d114f87bc932dffb222606b9430c",
5
+ "dirty": false,
6
+ "branch": "master",
7
+ "node_date": "2026-07-28"
8
+ }
@@ -22,9 +22,9 @@ bcrypt==5.0.0
22
22
  # via girder
23
23
  billiard==4.2.4
24
24
  # via celery
25
- boto3==1.42.77
25
+ boto3==1.42.91
26
26
  # via girder
27
- botocore==1.42.77
27
+ botocore==1.42.91
28
28
  # via
29
29
  # boto3
30
30
  # girder
@@ -37,7 +37,7 @@ certifi==2026.2.25
37
37
  # via requests
38
38
  cffi==2.0.0
39
39
  # via cryptography
40
- charset-normalizer==3.4.6
40
+ charset-normalizer==3.4.7
41
41
  # via requests
42
42
  cheroot==11.1.2
43
43
  # via
@@ -45,7 +45,7 @@ cheroot==11.1.2
45
45
  # girder
46
46
  cherrypy==18.10.0
47
47
  # via girder
48
- click==8.3.1
48
+ click==8.3.2
49
49
  # via
50
50
  # celery
51
51
  # click-didyoumean
@@ -71,7 +71,7 @@ coverage[toml]==7.13.5
71
71
  # pytest-cov
72
72
  coveralls==4.1.0
73
73
  # via -r requirements-dev.in
74
- cryptography==46.0.6
74
+ cryptography==46.0.7
75
75
  # via pyopenssl
76
76
  decorator==5.2.1
77
77
  # via dogpile-cache
@@ -93,7 +93,7 @@ exceptiongroup==1.3.1
93
93
  # via
94
94
  # celery
95
95
  # pytest
96
- filelock==3.25.2
96
+ filelock==3.29.0
97
97
  # via
98
98
  # girder
99
99
  # python-discovery
@@ -110,18 +110,18 @@ flake8-docstrings==1.7.0
110
110
  # via -r requirements-dev.in
111
111
  flake8-quotes==3.4.0
112
112
  # via -r requirements-dev.in
113
- girder==3.2.13
113
+ girder==3.2.14
114
114
  # via
115
115
  # -r requirements-dev.in
116
116
  # girder-jobs
117
117
  # pytest-girder
118
- girder-client==3.2.13
118
+ girder-client==3.2.14
119
119
  # via
120
120
  # -r requirements.in
121
121
  # girder-worker-utils
122
- girder-jobs==3.2.13
122
+ girder-jobs==3.2.14
123
123
  # via -r requirements-dev.in
124
- girder-worker-utils==0.9.5
124
+ girder-worker-utils==0.9.6
125
125
  # via -r requirements.in
126
126
  httmock==1.4.0
127
127
  # via -r requirements-dev.in
@@ -160,9 +160,9 @@ jsonschema-specifications==2025.9.1
160
160
  # via jsonschema
161
161
  kombu==5.6.2
162
162
  # via celery
163
- lxml==6.0.2
163
+ lxml==6.1.0
164
164
  # via -r requirements-dev.in
165
- mako==1.3.10
165
+ mako==1.3.11
166
166
  # via girder
167
167
  markdown-it-py==4.0.0
168
168
  # via rich
@@ -178,13 +178,13 @@ mock==5.2.0
178
178
  # via -r requirements-dev.in
179
179
  mongomock==4.3.0
180
180
  # via pytest-girder
181
- more-itertools==10.8.0
181
+ more-itertools==11.0.2
182
182
  # via
183
183
  # cheroot
184
184
  # cherrypy
185
185
  # jaraco-functools
186
186
  # jaraco-text
187
- packaging==26.0
187
+ packaging==26.1
188
188
  # via
189
189
  # girder
190
190
  # kombu
@@ -195,7 +195,7 @@ packaging==26.0
195
195
  # sphinx
196
196
  # tox
197
197
  # vcs-versioning
198
- platformdirs==4.9.4
198
+ platformdirs==4.9.6
199
199
  # via
200
200
  # python-discovery
201
201
  # tox
@@ -221,7 +221,7 @@ pydocstyle==6.3.0
221
221
  # flake8-docstrings
222
222
  pyflakes==3.4.0
223
223
  # via flake8
224
- pygments==2.19.2
224
+ pygments==2.20.0
225
225
  # via
226
226
  # pytest
227
227
  # rich
@@ -237,7 +237,7 @@ pyotp==2.9.0
237
237
  # via girder
238
238
  pyproject-api==1.10.0
239
239
  # via tox
240
- pytest==9.0.2
240
+ pytest==9.0.3
241
241
  # via
242
242
  # -r requirements-dev.in
243
243
  # pytest-cov
@@ -246,7 +246,7 @@ pytest-cov==7.1.0
246
246
  # via
247
247
  # -r requirements-dev.in
248
248
  # pytest-girder
249
- pytest-girder==3.2.13
249
+ pytest-girder==3.2.14
250
250
  # via -r requirements-dev.in
251
251
  python-dateutil==2.9.0.post0
252
252
  # via
@@ -254,8 +254,10 @@ python-dateutil==2.9.0.post0
254
254
  # celery
255
255
  # girder
256
256
  # tempora
257
- python-discovery==1.2.0
258
- # via virtualenv
257
+ python-discovery==1.2.2
258
+ # via
259
+ # tox
260
+ # virtualenv
259
261
  pytz==2026.1.post1
260
262
  # via
261
263
  # girder
@@ -268,7 +270,7 @@ referencing==0.37.0
268
270
  # via
269
271
  # jsonschema
270
272
  # jsonschema-specifications
271
- requests[security]==2.33.0
273
+ requests[security]==2.33.1
272
274
  # via
273
275
  # -r requirements.in
274
276
  # coveralls
@@ -281,7 +283,7 @@ requests[security]==2.33.0
281
283
  # sphinx
282
284
  requests-toolbelt==1.0.0
283
285
  # via girder-client
284
- rich==14.3.3
286
+ rich==15.0.0
285
287
  # via typer
286
288
  rpds-py==0.30.0
287
289
  # via
@@ -291,7 +293,7 @@ s3transfer==0.16.0
291
293
  # via boto3
292
294
  sentinels==1.1.1
293
295
  # via mongomock
294
- setuptools-scm==10.0.3
296
+ setuptools-scm==10.0.5
295
297
  # via
296
298
  # -r requirements.in
297
299
  # girder-worker-utils
@@ -341,7 +343,7 @@ tomli==2.4.1
341
343
  # vcs-versioning
342
344
  tomli-w==1.2.0
343
345
  # via tox
344
- tox==4.50.3
346
+ tox==4.53.0
345
347
  # via -r requirements-dev.in
346
348
  typer==0.24.1
347
349
  # via
@@ -360,7 +362,7 @@ typing-extensions==4.15.0
360
362
  # tox
361
363
  # vcs-versioning
362
364
  # virtualenv
363
- tzdata==2025.3
365
+ tzdata==2026.1
364
366
  # via kombu
365
367
  tzlocal==5.3.1
366
368
  # via celery
@@ -371,14 +373,14 @@ urllib3==2.6.3
371
373
  # docker
372
374
  # girder-worker-utils
373
375
  # requests
374
- vcs-versioning==1.0.1
376
+ vcs-versioning==1.1.1
375
377
  # via setuptools-scm
376
378
  vine==5.1.0
377
379
  # via
378
380
  # amqp
379
381
  # celery
380
382
  # kombu
381
- virtualenv==21.2.0
383
+ virtualenv==21.2.4
382
384
  # via tox
383
385
  wcwidth==0.6.0
384
386
  # via prompt-toolkit
@@ -9,7 +9,7 @@ deps = coverage
9
9
  commands = coverage erase --rcfile=.coveragerc.pytest
10
10
 
11
11
  [testenv]
12
- commands = pytest \
12
+ commands = python -m pytest \
13
13
  --cov=girder_worker \
14
14
  --cov-append \
15
15
  --cov-config=.coveragerc.pytest \