girder-worker 0.10.3.dev2__tar.gz → 0.10.4.dev4__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 (76) hide show
  1. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/PKG-INFO +2 -2
  2. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/tasks/__init__.py +11 -0
  3. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/utils.py +10 -1
  4. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker.egg-info/PKG-INFO +2 -2
  5. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker.egg-info/requires.txt +1 -1
  6. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/requirements.in +1 -1
  7. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/requirements.txt +54 -55
  8. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/.circleci/config.yml +0 -0
  9. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/.codecov.yml +0 -0
  10. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/.coveragerc.pytest +0 -0
  11. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/.dockerignore +0 -0
  12. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/.gitignore +0 -0
  13. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/CHANGELOG.rst +0 -0
  14. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/CONTRIBUTING.md +0 -0
  15. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/Dockerfile +0 -0
  16. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/HACKING.md +0 -0
  17. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/LICENSE +0 -0
  18. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/MANIFEST.in +0 -0
  19. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/NOTICE +0 -0
  20. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/README.rst +0 -0
  21. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/TRANSITION.md +0 -0
  22. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/docker-compose.yml +0 -0
  23. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/docker-entrypoint.sh +0 -0
  24. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/docker.env +0 -0
  25. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/.gitignore +0 -0
  26. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/__init__.py +0 -0
  27. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/__main__.py +0 -0
  28. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/_test_plugins/__init__.py +0 -0
  29. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/_test_plugins/plugins.py +0 -0
  30. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/_test_plugins/tasks.py +0 -0
  31. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/app.py +0 -0
  32. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/celeryconfig.py +0 -0
  33. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/configure.py +0 -0
  34. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/context/__init__.py +0 -0
  35. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/context/girder_context.py +0 -0
  36. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/context/nongirder_context.py +0 -0
  37. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/__init__.py +0 -0
  38. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/io/__init__.py +0 -0
  39. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/io/girder.py +0 -0
  40. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/nvidia.py +0 -0
  41. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/stream_adapter.py +0 -0
  42. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/transforms/__init__.py +0 -0
  43. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/docker/transforms/girder.py +0 -0
  44. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/entrypoint.py +0 -0
  45. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/__init__.py +0 -0
  46. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/api/__init__.py +0 -0
  47. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/api/worker.py +0 -0
  48. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/celery.py +0 -0
  49. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/constants.py +0 -0
  50. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/event_handlers.py +0 -0
  51. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/status.py +0 -0
  52. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/utils.py +0 -0
  53. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/JobStatus.js +0 -0
  54. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/main.js +0 -0
  55. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/package.json +0 -0
  56. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/routes.js +0 -0
  57. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/stylesheets/jobDetailsWidget.styl +0 -0
  58. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/stylesheets/taskStatusView.styl +0 -0
  59. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/templates/configView.pug +0 -0
  60. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/templates/taskStatusView.pug +0 -0
  61. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/views/ConfigView.js +0 -0
  62. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/girder_plugin/web_client/views/taskStatusView.js +0 -0
  63. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/log_utils.py +0 -0
  64. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/task.py +0 -0
  65. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/utils.py +0 -0
  66. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker/worker.dist.cfg +0 -0
  67. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker.egg-info/SOURCES.txt +0 -0
  68. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker.egg-info/dependency_links.txt +0 -0
  69. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker.egg-info/entry_points.txt +0 -0
  70. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker.egg-info/not-zip-safe +0 -0
  71. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/girder_worker.egg-info/top_level.txt +0 -0
  72. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/requirements-dev.in +0 -0
  73. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/scripts/install_requirements.py +0 -0
  74. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/setup.cfg +0 -0
  75. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/setup.py +0 -0
  76. {girder-worker-0.10.3.dev2 → girder_worker-0.10.4.dev4}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: girder-worker
3
- Version: 0.10.3.dev2
3
+ Version: 0.10.4.dev4
4
4
  Summary: Batch execution engine built on celery.
5
5
  Home-page: https://github.com/girder/girder_worker
6
6
  Author: Kitware, Inc.
@@ -23,7 +23,7 @@ Requires-Dist: pyyaml>=4.2b1
23
23
  Requires-Dist: Jinja2>=2.10.1
24
24
  Requires-Dist: urllib3>=1.26.8
25
25
  Requires-Dist: celery
26
- Requires-Dist: girder-client>=2
26
+ Requires-Dist: girder-client>=3
27
27
  Requires-Dist: pymongo>=3
28
28
  Requires-Dist: requests[security]>=2.20.0
29
29
  Requires-Dist: setuptools_scm
@@ -1,9 +1,11 @@
1
1
  import datetime
2
+ import importlib.metadata
2
3
  import os
3
4
  import shutil
4
5
  import socket
5
6
  import sys
6
7
  import threading
8
+ import time
7
9
  try:
8
10
  import docker
9
11
  from docker.errors import DockerException, APIError, InvalidVersion
@@ -34,6 +36,13 @@ from girder_worker_utils import _walk_obj
34
36
 
35
37
  BLACKLISTED_DOCKER_RUN_ARGS = ['tty', 'detach']
36
38
 
39
+ # Work around an issue with docker and requests
40
+ if (importlib.metadata.version('docker') == '7.0.0' and
41
+ not hasattr(docker.transport.basehttpadapter.BaseHTTPAdapter, '_get_connection')):
42
+ docker.transport.basehttpadapter.BaseHTTPAdapter._get_connection = (
43
+ lambda self, request, *args, proxies=None, **kwargs: self.get_connection(
44
+ request.url, proxies))
45
+
37
46
 
38
47
  def _pull_image(image):
39
48
  """
@@ -239,6 +248,8 @@ def _run_select_loop( # noqa: C901
239
248
  container.reload()
240
249
  if container.status == 'exited':
241
250
  break
251
+ tries -= 1
252
+ time.sleep(1)
242
253
 
243
254
  if container.status != 'exited':
244
255
  msg = 'Unable to stop container: %s' % container.id
@@ -1,10 +1,19 @@
1
+ import importlib.metadata
2
+ import os
1
3
  import select
2
4
  import uuid
3
- import os
5
+
4
6
  import docker
5
7
  from docker.errors import DockerException
8
+
6
9
  from girder_worker import logger
7
10
 
11
+ if (importlib.metadata.version('docker') == '7.0.0' and
12
+ not hasattr(docker.transport.basehttpadapter.BaseHTTPAdapter, '_get_connection')):
13
+ docker.transport.basehttpadapter.BaseHTTPAdapter._get_connection = (
14
+ lambda self, request, *args, proxies=None, **kwargs: self.get_connection(
15
+ request.url, proxies))
16
+
8
17
 
9
18
  def select_loop(exit_condition=lambda: True, readers=None, writers=None):
10
19
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: girder-worker
3
- Version: 0.10.3.dev2
3
+ Version: 0.10.4.dev4
4
4
  Summary: Batch execution engine built on celery.
5
5
  Home-page: https://github.com/girder/girder_worker
6
6
  Author: Kitware, Inc.
@@ -23,7 +23,7 @@ Requires-Dist: pyyaml>=4.2b1
23
23
  Requires-Dist: Jinja2>=2.10.1
24
24
  Requires-Dist: urllib3>=1.26.8
25
25
  Requires-Dist: celery
26
- Requires-Dist: girder-client>=2
26
+ Requires-Dist: girder-client>=3
27
27
  Requires-Dist: pymongo>=3
28
28
  Requires-Dist: requests[security]>=2.20.0
29
29
  Requires-Dist: setuptools_scm
@@ -2,7 +2,7 @@ pyyaml>=4.2b1
2
2
  Jinja2>=2.10.1
3
3
  urllib3>=1.26.8
4
4
  celery
5
- girder-client>=2
5
+ girder-client>=3
6
6
  pymongo>=3
7
7
  requests[security]>=2.20.0
8
8
  setuptools_scm
@@ -2,7 +2,7 @@ pyyaml>=4.2b1
2
2
  Jinja2>=2.10.1
3
3
  urllib3>=1.26.8
4
4
  celery
5
- girder-client>=2
5
+ girder-client>=3
6
6
  pymongo>=3
7
7
  requests[security]>=2.20.0
8
8
  setuptools_scm
@@ -17,34 +17,34 @@ alabaster==0.7.13
17
17
  # via sphinx
18
18
  amqp==5.2.0
19
19
  # via kombu
20
- annotated-types==0.6.0
21
- # via pydantic
22
20
  attrs==23.2.0
23
21
  # via
24
22
  # jsonschema
25
23
  # referencing
26
24
  autocommand==2.2.2
27
25
  # via jaraco-text
28
- babel==2.14.0
26
+ babel==2.15.0
29
27
  # via sphinx
28
+ backports-tarfile==1.1.1
29
+ # via jaraco-context
30
30
  backports-zoneinfo[tzdata]==0.2.1
31
31
  # via
32
32
  # celery
33
33
  # kombu
34
- bcrypt==4.1.2
34
+ bcrypt==4.1.3
35
35
  # via passlib
36
36
  billiard==4.2.0
37
37
  # via celery
38
- boto3==1.34.50
38
+ boto3==1.34.109
39
39
  # via girder
40
- botocore==1.34.50
40
+ botocore==1.34.109
41
41
  # via
42
42
  # boto3
43
43
  # girder
44
44
  # s3transfer
45
45
  cachetools==5.3.3
46
46
  # via tox
47
- celery==5.3.6
47
+ celery==5.4.0
48
48
  # via -r requirements.in
49
49
  certifi==2024.2.2
50
50
  # via requests
@@ -54,7 +54,7 @@ chardet==5.2.0
54
54
  # via tox
55
55
  charset-normalizer==3.3.2
56
56
  # via requests
57
- cheroot==10.0.0
57
+ cheroot==10.0.1
58
58
  # via cherrypy
59
59
  cherrypy==18.9.0
60
60
  # via girder
@@ -66,7 +66,7 @@ click==8.1.7
66
66
  # click-repl
67
67
  # girder
68
68
  # girder-client
69
- click-didyoumean==0.3.0
69
+ click-didyoumean==0.3.1
70
70
  # via celery
71
71
  click-plugins==1.1.1
72
72
  # via
@@ -76,14 +76,14 @@ click-repl==0.3.0
76
76
  # via celery
77
77
  colorama==0.4.6
78
78
  # via tox
79
- coverage[toml]==6.5.0
79
+ coverage[toml]==7.5.1
80
80
  # via
81
81
  # -r requirements-dev.in
82
82
  # coveralls
83
83
  # pytest-cov
84
- coveralls==3.3.1
84
+ coveralls==4.0.1
85
85
  # via -r requirements-dev.in
86
- cryptography==42.0.5
86
+ cryptography==42.0.7
87
87
  # via
88
88
  # passlib
89
89
  # pyopenssl
@@ -101,11 +101,11 @@ docutils==0.20.1
101
101
  # via
102
102
  # sphinx
103
103
  # sphinx-rtd-theme
104
- dogpile-cache==1.3.2
104
+ dogpile-cache==1.3.3
105
105
  # via girder
106
- exceptiongroup==1.2.0
106
+ exceptiongroup==1.2.1
107
107
  # via pytest
108
- filelock==3.13.1
108
+ filelock==3.14.0
109
109
  # via
110
110
  # girder
111
111
  # tox
@@ -121,7 +121,7 @@ flake8-docstrings==1.7.0
121
121
  # via -r requirements-dev.in
122
122
  flake8-quotes==3.4.0
123
123
  # via -r requirements-dev.in
124
- girder-client==3.2.2
124
+ girder-client==3.2.3
125
125
  # via
126
126
  # -r requirements.in
127
127
  # girder-worker-utils
@@ -129,33 +129,35 @@ girder-worker-utils==0.9.0
129
129
  # via -r requirements.in
130
130
  httmock==1.4.0
131
131
  # via -r requirements-dev.in
132
- idna==3.6
132
+ idna==3.7
133
133
  # via requests
134
134
  imagesize==1.4.1
135
135
  # via sphinx
136
- importlib-metadata==7.0.1
137
- # via sphinx
138
- importlib-resources==6.1.2
136
+ importlib-metadata==7.1.0
137
+ # via
138
+ # sphinx
139
+ # typeguard
140
+ importlib-resources==6.4.0
139
141
  # via
140
142
  # jaraco-text
141
143
  # jsonschema
142
144
  # jsonschema-specifications
143
- inflect==7.0.0
145
+ inflect==7.2.1
144
146
  # via jaraco-text
145
147
  iniconfig==2.0.0
146
148
  # via pytest
147
- jaraco-collections==5.0.0
149
+ jaraco-collections==5.0.1
148
150
  # via cherrypy
149
- jaraco-context==4.3.0
151
+ jaraco-context==5.3.0
150
152
  # via jaraco-text
151
- jaraco-functools==4.0.0
153
+ jaraco-functools==4.0.1
152
154
  # via
153
155
  # cheroot
154
156
  # jaraco-text
155
157
  # tempora
156
158
  jaraco-text==3.12.0
157
159
  # via jaraco-collections
158
- jinja2==3.1.3
160
+ jinja2==3.1.4
159
161
  # via
160
162
  # -r requirements.in
161
163
  # sphinx
@@ -163,19 +165,19 @@ jmespath==1.0.1
163
165
  # via
164
166
  # boto3
165
167
  # botocore
166
- jsonpickle==3.0.3
168
+ jsonpickle==3.0.4
167
169
  # via
168
170
  # -r requirements.in
169
171
  # girder-worker-utils
170
- jsonschema==4.21.1
172
+ jsonschema==4.22.0
171
173
  # via girder
172
174
  jsonschema-specifications==2023.12.1
173
175
  # via jsonschema
174
- kombu==5.3.5
176
+ kombu==5.3.7
175
177
  # via celery
176
- lxml==5.1.0
178
+ lxml==5.2.2
177
179
  # via -r requirements-dev.in
178
- mako==1.3.2
180
+ mako==1.3.5
179
181
  # via girder
180
182
  markupsafe==2.1.5
181
183
  # via
@@ -191,9 +193,10 @@ more-itertools==10.2.0
191
193
  # via
192
194
  # cheroot
193
195
  # cherrypy
196
+ # inflect
194
197
  # jaraco-functools
195
198
  # jaraco-text
196
- packaging==23.2
199
+ packaging==24.0
197
200
  # via
198
201
  # docker
199
202
  # mongomock
@@ -208,11 +211,11 @@ pbr==6.0.0
208
211
  # via stevedore
209
212
  pkgutil-resolve-name==1.3.10
210
213
  # via jsonschema
211
- platformdirs==4.2.0
214
+ platformdirs==4.2.2
212
215
  # via
213
216
  # tox
214
217
  # virtualenv
215
- pluggy==1.4.0
218
+ pluggy==1.5.0
216
219
  # via
217
220
  # pytest
218
221
  # tox
@@ -224,39 +227,35 @@ psutil==5.9.8
224
227
  # via girder
225
228
  pycodestyle==2.11.1
226
229
  # via flake8
227
- pycparser==2.21
230
+ pycparser==2.22
228
231
  # via cffi
229
- pydantic==2.6.3
230
- # via inflect
231
- pydantic-core==2.16.3
232
- # via pydantic
233
232
  pydocstyle==6.3.0
234
233
  # via
235
234
  # -r requirements-dev.in
236
235
  # flake8-docstrings
237
236
  pyflakes==3.2.0
238
237
  # via flake8
239
- pygments==2.17.2
238
+ pygments==2.18.0
240
239
  # via sphinx
241
240
  pymongo==3.13.0
242
241
  # via
243
242
  # -r requirements.in
244
243
  # girder
245
244
  # pytest-girder
246
- pyopenssl==24.0.0
245
+ pyopenssl==24.1.0
247
246
  # via girder
248
247
  pyproject-api==1.6.1
249
248
  # via tox
250
- pytest==8.0.2
249
+ pytest==8.2.1
251
250
  # via
252
251
  # -r requirements-dev.in
253
252
  # pytest-cov
254
253
  # pytest-girder
255
- pytest-cov==4.1.0
254
+ pytest-cov==5.0.0
256
255
  # via
257
256
  # -r requirements-dev.in
258
257
  # pytest-girder
259
- python-dateutil==2.8.2
258
+ python-dateutil==2.9.0.post0
260
259
  # via
261
260
  # botocore
262
261
  # celery
@@ -270,11 +269,11 @@ pyyaml==6.0.1
270
269
  # via
271
270
  # -r requirements.in
272
271
  # girder
273
- referencing==0.33.0
272
+ referencing==0.35.1
274
273
  # via
275
274
  # jsonschema
276
275
  # jsonschema-specifications
277
- requests[security]==2.31.0
276
+ requests[security]==2.32.1
278
277
  # via
279
278
  # -r requirements.in
280
279
  # coveralls
@@ -287,15 +286,15 @@ requests[security]==2.31.0
287
286
  # sphinx
288
287
  requests-toolbelt==1.0.0
289
288
  # via girder-client
290
- rpds-py==0.18.0
289
+ rpds-py==0.18.1
291
290
  # via
292
291
  # jsonschema
293
292
  # referencing
294
- s3transfer==0.10.0
293
+ s3transfer==0.10.1
295
294
  # via boto3
296
295
  sentinels==1.0.0
297
296
  # via mongomock
298
- setuptools-scm==8.0.4
297
+ setuptools-scm==8.1.0
299
298
  # via
300
299
  # -r requirements.in
301
300
  # girder-worker-utils
@@ -339,17 +338,17 @@ tomli==2.0.1
339
338
  # pytest
340
339
  # setuptools-scm
341
340
  # tox
342
- tox==4.13.0
341
+ tox==4.15.0
343
342
  # via -r requirements-dev.in
344
- typing-extensions==4.10.0
343
+ typeguard==4.2.1
344
+ # via inflect
345
+ typing-extensions==4.11.0
345
346
  # via
346
- # annotated-types
347
347
  # dogpile-cache
348
348
  # inflect
349
349
  # kombu
350
- # pydantic
351
- # pydantic-core
352
350
  # setuptools-scm
351
+ # typeguard
353
352
  tzdata==2024.1
354
353
  # via
355
354
  # backports-zoneinfo
@@ -366,13 +365,13 @@ vine==5.1.0
366
365
  # amqp
367
366
  # celery
368
367
  # kombu
369
- virtualenv==20.25.1
368
+ virtualenv==20.26.2
370
369
  # via tox
371
370
  wcwidth==0.2.13
372
371
  # via prompt-toolkit
373
372
  zc-lockfile==3.0.post1
374
373
  # via cherrypy
375
- zipp==3.17.0
374
+ zipp==3.18.2
376
375
  # via
377
376
  # importlib-metadata
378
377
  # importlib-resources