girder-worker 0.10.7.dev3__tar.gz → 0.10.7.dev7__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.7.dev3/girder_worker.egg-info → girder_worker-0.10.7.dev7}/PKG-INFO +1 -1
  2. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/tasks/__init__.py +37 -9
  3. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7/girder_worker.egg-info}/PKG-INFO +1 -1
  4. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker.egg-info/SOURCES.txt +2 -0
  5. girder_worker-0.10.7.dev7/girder_worker.egg-info/scm_file_list.json +157 -0
  6. girder_worker-0.10.7.dev7/girder_worker.egg-info/scm_version.json +8 -0
  7. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/requirements.txt +58 -54
  8. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/.circleci/config.yml +0 -0
  9. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/.codecov.yml +0 -0
  10. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/.coveragerc.pytest +0 -0
  11. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/.dockerignore +0 -0
  12. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/.gitignore +0 -0
  13. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/CHANGELOG.rst +0 -0
  14. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/CONTRIBUTING.md +0 -0
  15. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/Dockerfile +0 -0
  16. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/HACKING.md +0 -0
  17. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/LICENSE +0 -0
  18. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/MANIFEST.in +0 -0
  19. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/NOTICE +0 -0
  20. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/README.rst +0 -0
  21. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/TRANSITION.md +0 -0
  22. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/docker-compose.yml +0 -0
  23. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/docker-entrypoint.sh +0 -0
  24. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/docker.env +0 -0
  25. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/.gitignore +0 -0
  26. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/__init__.py +0 -0
  27. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/__main__.py +0 -0
  28. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/_test_plugins/__init__.py +0 -0
  29. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/_test_plugins/plugins.py +0 -0
  30. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/_test_plugins/tasks.py +0 -0
  31. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/app.py +0 -0
  32. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/celeryconfig.py +0 -0
  33. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/configure.py +0 -0
  34. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/context/__init__.py +0 -0
  35. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/context/girder_context.py +0 -0
  36. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/context/nongirder_context.py +0 -0
  37. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/__init__.py +0 -0
  38. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/io/__init__.py +0 -0
  39. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/io/girder.py +0 -0
  40. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/nvidia.py +0 -0
  41. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/stream_adapter.py +0 -0
  42. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/transforms/__init__.py +0 -0
  43. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/transforms/girder.py +0 -0
  44. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/docker/utils.py +0 -0
  45. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/entrypoint.py +0 -0
  46. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/__init__.py +0 -0
  47. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/api/__init__.py +0 -0
  48. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/api/worker.py +0 -0
  49. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/celery.py +0 -0
  50. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/constants.py +0 -0
  51. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/event_handlers.py +0 -0
  52. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/status.py +0 -0
  53. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/utils.py +0 -0
  54. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/JobStatus.js +0 -0
  55. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/main.js +0 -0
  56. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/package.json +0 -0
  57. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/routes.js +0 -0
  58. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/stylesheets/jobDetailsWidget.styl +0 -0
  59. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/stylesheets/taskStatusView.styl +0 -0
  60. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/templates/configView.pug +0 -0
  61. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/templates/taskStatusView.pug +0 -0
  62. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/views/ConfigView.js +0 -0
  63. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/girder_plugin/web_client/views/taskStatusView.js +0 -0
  64. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/log_utils.py +0 -0
  65. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/task.py +0 -0
  66. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/utils.py +0 -0
  67. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker/worker.dist.cfg +0 -0
  68. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker.egg-info/dependency_links.txt +0 -0
  69. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker.egg-info/entry_points.txt +0 -0
  70. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker.egg-info/not-zip-safe +0 -0
  71. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker.egg-info/requires.txt +0 -0
  72. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/girder_worker.egg-info/top_level.txt +0 -0
  73. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/pyproject.toml +0 -0
  74. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/requirements-dev.in +0 -0
  75. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/requirements.in +0 -0
  76. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/scripts/install_requirements.py +0 -0
  77. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/setup.cfg +0 -0
  78. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/setup.py +0 -0
  79. {girder_worker-0.10.7.dev3 → girder_worker-0.10.7.dev7}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: girder-worker
3
- Version: 0.10.7.dev3
3
+ Version: 0.10.7.dev7
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.7.dev3
3
+ Version: 0.10.7.dev7
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": 7,
4
+ "node": "g05706766777bd719ed43d8b32cc4d6940bae1e78",
5
+ "dirty": false,
6
+ "branch": "master",
7
+ "node_date": "2026-07-28"
8
+ }
@@ -8,7 +8,7 @@ alabaster==1.0.0
8
8
  # via sphinx
9
9
  amqp==5.3.1
10
10
  # via kombu
11
- annotated-doc==0.0.4
11
+ annotated-doc==0.0.5
12
12
  # via typer
13
13
  attrs==26.1.0
14
14
  # via
@@ -22,22 +22,22 @@ bcrypt==5.0.0
22
22
  # via girder
23
23
  billiard==4.2.4
24
24
  # via celery
25
- boto3==1.42.91
25
+ boto3==1.43.57
26
26
  # via girder
27
- botocore==1.42.91
27
+ botocore==1.43.57
28
28
  # via
29
29
  # boto3
30
30
  # girder
31
31
  # s3transfer
32
- cachetools==7.0.5
32
+ cachetools==7.1.6
33
33
  # via tox
34
34
  celery==5.6.3
35
35
  # via -r requirements.in
36
- certifi==2026.2.25
36
+ certifi==2026.7.22
37
37
  # via requests
38
- cffi==2.0.0
38
+ cffi==2.1.0
39
39
  # via cryptography
40
- charset-normalizer==3.4.7
40
+ charset-normalizer==3.4.9
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.2
48
+ click==8.4.2
49
49
  # via
50
50
  # celery
51
51
  # click-didyoumean
@@ -53,7 +53,6 @@ click==8.3.2
53
53
  # click-repl
54
54
  # girder
55
55
  # girder-client
56
- # typer
57
56
  click-didyoumean==0.3.1
58
57
  # via celery
59
58
  click-plugins==1.1.1.2
@@ -64,24 +63,24 @@ click-repl==0.3.0
64
63
  # via celery
65
64
  colorama==0.4.6
66
65
  # via tox
67
- coverage[toml]==7.13.5
66
+ coverage[toml]==7.15.2
68
67
  # via
69
68
  # -r requirements-dev.in
70
69
  # coveralls
71
70
  # pytest-cov
72
71
  coveralls==4.1.0
73
72
  # via -r requirements-dev.in
74
- cryptography==46.0.7
73
+ cryptography==49.0.0
75
74
  # via pyopenssl
76
- decorator==5.2.1
75
+ decorator==5.3.1
77
76
  # via dogpile-cache
78
77
  diskcache==5.6.3
79
78
  # via girder-client
80
- distlib==0.4.0
79
+ distlib==0.4.3
81
80
  # via virtualenv
82
81
  dnspython==2.8.0
83
82
  # via pymongo
84
- docker==7.1.0
83
+ docker==7.2.0
85
84
  # via -r requirements.in
86
85
  docutils==0.21.2
87
86
  # via
@@ -93,7 +92,7 @@ exceptiongroup==1.3.1
93
92
  # via
94
93
  # celery
95
94
  # pytest
96
- filelock==3.29.0
95
+ filelock==3.32.0
97
96
  # via
98
97
  # girder
99
98
  # python-discovery
@@ -110,37 +109,41 @@ flake8-docstrings==1.7.0
110
109
  # via -r requirements-dev.in
111
110
  flake8-quotes==3.4.0
112
111
  # via -r requirements-dev.in
113
- girder==3.2.14
112
+ girder==3.2.15
114
113
  # via
115
114
  # -r requirements-dev.in
116
115
  # girder-jobs
117
116
  # pytest-girder
118
- girder-client==3.2.14
117
+ girder-client==3.2.15
119
118
  # via
120
119
  # -r requirements.in
121
120
  # girder-worker-utils
122
- girder-jobs==3.2.14
121
+ girder-jobs==3.2.15
123
122
  # via -r requirements-dev.in
124
123
  girder-worker-utils==0.9.6
125
124
  # via -r requirements.in
126
125
  httmock==1.4.0
127
126
  # via -r requirements-dev.in
128
- idna==3.11
127
+ idna==3.18
129
128
  # via requests
130
129
  imagesize==2.0.0
131
130
  # via sphinx
132
131
  iniconfig==2.3.0
133
132
  # via pytest
134
133
  jaraco-collections==5.2.1
135
- # via cherrypy
134
+ # via
135
+ # cherrypy
136
+ # tempora
136
137
  jaraco-context==6.1.2
137
- # via jaraco-text
138
- jaraco-functools==4.4.0
138
+ # via
139
+ # jaraco-text
140
+ # tempora
141
+ jaraco-functools==4.6.0
139
142
  # via
140
143
  # cheroot
141
144
  # jaraco-text
142
145
  # tempora
143
- jaraco-text==4.2.0
146
+ jaraco-text==4.3.0
144
147
  # via jaraco-collections
145
148
  jinja2==3.1.6
146
149
  # via
@@ -150,7 +153,7 @@ jmespath==1.1.0
150
153
  # via
151
154
  # boto3
152
155
  # botocore
153
- jsonpickle==4.1.1
156
+ jsonpickle==4.1.2
154
157
  # via
155
158
  # -r requirements.in
156
159
  # girder-worker-utils
@@ -160,11 +163,11 @@ jsonschema-specifications==2025.9.1
160
163
  # via jsonschema
161
164
  kombu==5.6.2
162
165
  # via celery
163
- lxml==6.1.0
166
+ lxml==6.1.1
164
167
  # via -r requirements-dev.in
165
- mako==1.3.11
168
+ mako==1.3.12
166
169
  # via girder
167
- markdown-it-py==4.0.0
170
+ markdown-it-py==4.2.0
168
171
  # via rich
169
172
  markupsafe==3.0.3
170
173
  # via
@@ -178,13 +181,13 @@ mock==5.2.0
178
181
  # via -r requirements-dev.in
179
182
  mongomock==4.3.0
180
183
  # via pytest-girder
181
- more-itertools==11.0.2
184
+ more-itertools==11.1.0
182
185
  # via
183
186
  # cheroot
184
187
  # cherrypy
185
188
  # jaraco-functools
186
189
  # jaraco-text
187
- packaging==26.1
190
+ packaging==26.2
188
191
  # via
189
192
  # girder
190
193
  # kombu
@@ -195,7 +198,7 @@ packaging==26.1
195
198
  # sphinx
196
199
  # tox
197
200
  # vcs-versioning
198
- platformdirs==4.9.6
201
+ platformdirs==4.11.0
199
202
  # via
200
203
  # python-discovery
201
204
  # tox
@@ -207,7 +210,7 @@ pluggy==1.6.0
207
210
  # tox
208
211
  portend==3.2.1
209
212
  # via cherrypy
210
- prompt-toolkit==3.0.52
213
+ prompt-toolkit==3.0.53
211
214
  # via click-repl
212
215
  psutil==7.2.2
213
216
  # via girder
@@ -226,18 +229,18 @@ pygments==2.20.0
226
229
  # pytest
227
230
  # rich
228
231
  # sphinx
229
- pymongo==4.16.0
232
+ pymongo==4.17.0
230
233
  # via
231
234
  # -r requirements.in
232
235
  # girder
233
236
  # pytest-girder
234
- pyopenssl==26.0.0
237
+ pyopenssl==26.3.0
235
238
  # via girder
236
- pyotp==2.9.0
239
+ pyotp==2.10.0
237
240
  # via girder
238
- pyproject-api==1.10.0
241
+ pyproject-api==1.11.0
239
242
  # via tox
240
- pytest==9.0.3
243
+ pytest==9.1.1
241
244
  # via
242
245
  # -r requirements-dev.in
243
246
  # pytest-cov
@@ -246,7 +249,7 @@ pytest-cov==7.1.0
246
249
  # via
247
250
  # -r requirements-dev.in
248
251
  # pytest-girder
249
- pytest-girder==3.2.14
252
+ pytest-girder==3.2.15
250
253
  # via -r requirements-dev.in
251
254
  python-dateutil==2.9.0.post0
252
255
  # via
@@ -254,11 +257,11 @@ python-dateutil==2.9.0.post0
254
257
  # celery
255
258
  # girder
256
259
  # tempora
257
- python-discovery==1.2.2
260
+ python-discovery==1.5.0
258
261
  # via
259
262
  # tox
260
263
  # virtualenv
261
- pytz==2026.1.post1
264
+ pytz==2026.3.post1
262
265
  # via
263
266
  # girder
264
267
  # mongomock
@@ -270,7 +273,7 @@ referencing==0.37.0
270
273
  # via
271
274
  # jsonschema
272
275
  # jsonschema-specifications
273
- requests[security]==2.33.1
276
+ requests[security]==2.34.2
274
277
  # via
275
278
  # -r requirements.in
276
279
  # coveralls
@@ -289,11 +292,11 @@ rpds-py==0.30.0
289
292
  # via
290
293
  # jsonschema
291
294
  # referencing
292
- s3transfer==0.16.0
295
+ s3transfer==0.19.2
293
296
  # via boto3
294
297
  sentinels==1.1.1
295
298
  # via mongomock
296
- setuptools-scm==10.0.5
299
+ setuptools-scm==10.2.1
297
300
  # via
298
301
  # -r requirements.in
299
302
  # girder-worker-utils
@@ -301,7 +304,7 @@ shellingham==1.5.4
301
304
  # via typer
302
305
  six==1.17.0
303
306
  # via python-dateutil
304
- snowballstemmer==3.0.1
307
+ snowballstemmer==3.1.1
305
308
  # via
306
309
  # pydocstyle
307
310
  # sphinx
@@ -326,11 +329,11 @@ sphinxcontrib-qthelp==2.0.0
326
329
  # via sphinx
327
330
  sphinxcontrib-serializinghtml==2.0.0
328
331
  # via sphinx
329
- stevedore==5.7.0
332
+ stevedore==5.8.0
330
333
  # via
331
334
  # -r requirements.in
332
335
  # dogpile-cache
333
- tempora==5.8.1
336
+ tempora==5.12.0
334
337
  # via portend
335
338
  tomli==2.4.1
336
339
  # via
@@ -343,15 +346,15 @@ tomli==2.4.1
343
346
  # vcs-versioning
344
347
  tomli-w==1.2.0
345
348
  # via tox
346
- tox==4.53.0
349
+ tox==4.58.0
347
350
  # via -r requirements-dev.in
348
- typer==0.24.1
351
+ typer==0.27.0
349
352
  # via
350
353
  # coveralls
351
354
  # typer-slim
352
355
  typer-slim==0.24.0
353
356
  # via jaraco-text
354
- typing-extensions==4.15.0
357
+ typing-extensions==4.16.0
355
358
  # via
356
359
  # cryptography
357
360
  # dogpile-cache
@@ -359,30 +362,31 @@ typing-extensions==4.15.0
359
362
  # pyopenssl
360
363
  # referencing
361
364
  # setuptools-scm
365
+ # tempora
362
366
  # tox
363
367
  # vcs-versioning
364
368
  # virtualenv
365
- tzdata==2026.1
369
+ tzdata==2026.3
366
370
  # via kombu
367
- tzlocal==5.3.1
371
+ tzlocal==5.4.4
368
372
  # via celery
369
- urllib3==2.6.3
373
+ urllib3==2.7.0
370
374
  # via
371
375
  # -r requirements.in
372
376
  # botocore
373
377
  # docker
374
378
  # girder-worker-utils
375
379
  # requests
376
- vcs-versioning==1.1.1
380
+ vcs-versioning==2.2.2
377
381
  # via setuptools-scm
378
382
  vine==5.1.0
379
383
  # via
380
384
  # amqp
381
385
  # celery
382
386
  # kombu
383
- virtualenv==21.2.4
387
+ virtualenv==21.7.0
384
388
  # via tox
385
- wcwidth==0.6.0
389
+ wcwidth==0.8.2
386
390
  # via prompt-toolkit
387
391
  zc-lockfile==4.0
388
392
  # via cherrypy