Skip to content

Commit 8e1a1e8

Browse files
Mark callback and ctx as positional only in call_with methods (#446)
Co-authored-by: always-on-duty[bot] <120557446+always-on-duty[bot]@users.noreply.github.com>
1 parent 12d2bb4 commit 8e1a1e8

10 files changed

+301
-246
lines changed

CHANGELOG.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
## [0.3.3] - 2024-10-13
9+
### Fixed
10+
- Correctly mark `ctx` and `callback` as positional only in the call_with methods
11+
and functions to avoid conflicting with passed-through keyword arguments.
12+
813
## [0.3.2] - 2024-10-07
914
### Changed
1015
- Support Python 3.13.
@@ -140,7 +145,8 @@ part of Tanjun.
140145
- The public `CallackDescriptor` and `TypeDescriptor` classes as callbacks
141146
are now processed within the client and any necessary caching is kept internal.
142147

143-
[Unreleased]: https://github.com/FasterSpeeding/Alluka/compare/v0.3.2...HEAD
148+
[Unreleased]: https://github.com/FasterSpeeding/Alluka/compare/v0.3.3...HEAD
149+
[0.3.3]: https://github.com/FasterSpeeding/Alluka/compare/v0.3.2...v0.3.3
144150
[0.3.2]: https://github.com/FasterSpeeding/Alluka/compare/v0.3.1...v0.3.2
145151
[0.3.1]: https://github.com/FasterSpeeding/Alluka/compare/v0.3.0...v0.3.1
146152
[0.3.0]: https://github.com/FasterSpeeding/Alluka/compare/v0.2.0...v0.3.0

alluka/_client.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -231,17 +231,18 @@ def call_with_ctx(
231231
self,
232232
ctx: alluka.Context,
233233
callback: collections.Callable[..., _AnyCoro],
234+
/,
234235
*args: typing.Any,
235236
**kwargs: typing.Any,
236237
) -> typing.NoReturn: ...
237238

238239
@typing.overload
239240
def call_with_ctx(
240-
self, ctx: alluka.Context, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any
241+
self, ctx: alluka.Context, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any
241242
) -> _T: ...
242243

243244
def call_with_ctx(
244-
self, ctx: alluka.Context, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any
245+
self, ctx: alluka.Context, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any
245246
) -> _T:
246247
# <<inherited docstring from alluka.abc.Client>>.
247248
descriptors = self._build_descriptors(callback)
@@ -256,7 +257,7 @@ def call_with_ctx(
256257
return result
257258

258259
async def call_with_ctx_async(
259-
self, ctx: alluka.Context, callback: alluka.CallbackSig[_T], *args: typing.Any, **kwargs: typing.Any
260+
self, ctx: alluka.Context, callback: alluka.CallbackSig[_T], /, *args: typing.Any, **kwargs: typing.Any
260261
) -> _T:
261262
# <<inherited docstring from alluka.abc.Client>>.
262263
if descriptors := self._build_descriptors(callback):

alluka/abc.py

+16-11
Original file line numberDiff line numberDiff line change
@@ -183,13 +183,15 @@ async def wrapped_callback(*args: _P.args, **kwargs: _P.kwargs) -> _T:
183183

184184
@typing.overload
185185
def call_with_di(
186-
self, callback: collections.Callable[..., _CoroT[typing.Any]], *args: typing.Any, **kwargs: typing.Any
186+
self, callback: collections.Callable[..., _CoroT[typing.Any]], /, *args: typing.Any, **kwargs: typing.Any
187187
) -> typing.NoReturn: ...
188188

189189
@typing.overload
190-
def call_with_di(self, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any) -> _T: ...
190+
def call_with_di(
191+
self, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any
192+
) -> _T: ...
191193

192-
def call_with_di(self, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any) -> _T:
194+
def call_with_di(self, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any) -> _T:
193195
"""Call a function with sync dependency injection.
194196
195197
Parameters
@@ -224,19 +226,20 @@ def call_with_ctx(
224226
self,
225227
ctx: Context,
226228
callback: collections.Callable[..., _CoroT[typing.Any]],
229+
/,
227230
*args: typing.Any,
228231
**kwargs: typing.Any,
229232
) -> typing.NoReturn: ...
230233

231234
@typing.overload
232235
@abc.abstractmethod
233236
def call_with_ctx(
234-
self, ctx: Context, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any
237+
self, ctx: Context, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any
235238
) -> _T: ...
236239

237240
@abc.abstractmethod
238241
def call_with_ctx(
239-
self, ctx: Context, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any
242+
self, ctx: Context, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any
240243
) -> _T:
241244
"""Call a function with an existing DI context.
242245
@@ -269,7 +272,7 @@ def call_with_ctx(
269272
If the callback or any of its callback dependencies are async.
270273
"""
271274

272-
async def call_with_async_di(self, callback: CallbackSig[_T], *args: typing.Any, **kwargs: typing.Any) -> _T:
275+
async def call_with_async_di(self, callback: CallbackSig[_T], /, *args: typing.Any, **kwargs: typing.Any) -> _T:
273276
"""Call a function with async dependency injection.
274277
275278
Parameters
@@ -300,7 +303,7 @@ async def call_with_async_di(self, callback: CallbackSig[_T], *args: typing.Any,
300303

301304
@abc.abstractmethod
302305
async def call_with_ctx_async(
303-
self, ctx: Context, callback: CallbackSig[_T], *args: typing.Any, **kwargs: typing.Any
306+
self, ctx: Context, callback: CallbackSig[_T], /, *args: typing.Any, **kwargs: typing.Any
304307
) -> _T:
305308
"""Asynchronously call a function with a pre-existing DI context.
306309
@@ -479,13 +482,15 @@ def cache_result(self, callback: CallbackSig[_T], value: _T, /) -> None:
479482

480483
@typing.overload
481484
def call_with_di(
482-
self, callback: collections.Callable[..., _CoroT[typing.Any]], *args: typing.Any, **kwargs: typing.Any
485+
self, callback: collections.Callable[..., _CoroT[typing.Any]], /, *args: typing.Any, **kwargs: typing.Any
483486
) -> typing.NoReturn: ...
484487

485488
@typing.overload
486-
def call_with_di(self, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any) -> _T: ...
489+
def call_with_di(
490+
self, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any
491+
) -> _T: ...
487492

488-
def call_with_di(self, callback: collections.Callable[..., _T], *args: typing.Any, **kwargs: typing.Any) -> _T:
493+
def call_with_di(self, callback: collections.Callable[..., _T], /, *args: typing.Any, **kwargs: typing.Any) -> _T:
489494
"""Call a function with the current DI context.
490495
491496
Parameters
@@ -514,7 +519,7 @@ def call_with_di(self, callback: collections.Callable[..., _T], *args: typing.An
514519
"""
515520
return self.injection_client.call_with_ctx(self, callback, *args, **kwargs)
516521

517-
async def call_with_async_di(self, callback: CallbackSig[_T], *args: typing.Any, **kwargs: typing.Any) -> _T:
522+
async def call_with_async_di(self, callback: CallbackSig[_T], /, *args: typing.Any, **kwargs: typing.Any) -> _T:
518523
"""Asynchronously call a function with the current DI context.
519524
520525
Parameters

dev-requirements/tests.txt

+64-74
Original file line numberDiff line numberDiff line change
@@ -81,79 +81,69 @@ cffi==1.17.1 ; os_name == "nt" and implementation_name != "pypy" and python_full
8181
colorama==0.4.6 ; python_full_version >= "3.9.0" and python_version < "3.14" and sys_platform == "win32" \
8282
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
8383
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
84-
coverage[toml]==7.6.1 ; python_full_version >= "3.9.0" and python_version < "3.14" \
85-
--hash=sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca \
86-
--hash=sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d \
87-
--hash=sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6 \
88-
--hash=sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989 \
89-
--hash=sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c \
90-
--hash=sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b \
91-
--hash=sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223 \
92-
--hash=sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f \
93-
--hash=sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56 \
94-
--hash=sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3 \
95-
--hash=sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8 \
96-
--hash=sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb \
97-
--hash=sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388 \
98-
--hash=sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0 \
99-
--hash=sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a \
100-
--hash=sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8 \
101-
--hash=sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f \
102-
--hash=sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a \
103-
--hash=sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962 \
104-
--hash=sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8 \
105-
--hash=sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391 \
106-
--hash=sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc \
107-
--hash=sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2 \
108-
--hash=sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155 \
109-
--hash=sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb \
110-
--hash=sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0 \
111-
--hash=sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c \
112-
--hash=sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a \
113-
--hash=sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004 \
114-
--hash=sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060 \
115-
--hash=sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232 \
116-
--hash=sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93 \
117-
--hash=sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129 \
118-
--hash=sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163 \
119-
--hash=sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de \
120-
--hash=sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6 \
121-
--hash=sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23 \
122-
--hash=sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569 \
123-
--hash=sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d \
124-
--hash=sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778 \
125-
--hash=sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d \
126-
--hash=sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36 \
127-
--hash=sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a \
128-
--hash=sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6 \
129-
--hash=sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34 \
130-
--hash=sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704 \
131-
--hash=sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106 \
132-
--hash=sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9 \
133-
--hash=sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862 \
134-
--hash=sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b \
135-
--hash=sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255 \
136-
--hash=sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16 \
137-
--hash=sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3 \
138-
--hash=sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133 \
139-
--hash=sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb \
140-
--hash=sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657 \
141-
--hash=sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d \
142-
--hash=sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca \
143-
--hash=sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36 \
144-
--hash=sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c \
145-
--hash=sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e \
146-
--hash=sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff \
147-
--hash=sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7 \
148-
--hash=sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5 \
149-
--hash=sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02 \
150-
--hash=sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c \
151-
--hash=sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df \
152-
--hash=sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3 \
153-
--hash=sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a \
154-
--hash=sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959 \
155-
--hash=sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234 \
156-
--hash=sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc
84+
coverage[toml]==7.6.2 ; python_version >= "3.9" and python_version < "3.14" \
85+
--hash=sha256:078a87519057dacb5d77e333f740708ec2a8f768655f1db07f8dfd28d7a005f0 \
86+
--hash=sha256:087932079c065d7b8ebadd3a0160656c55954144af6439886c8bcf78bbbcde7f \
87+
--hash=sha256:0bbae11c138585c89fb4e991faefb174a80112e1a7557d507aaa07675c62e66b \
88+
--hash=sha256:0ff2ef83d6d0b527b5c9dad73819b24a2f76fdddcfd6c4e7a4d7e73ecb0656b4 \
89+
--hash=sha256:12179eb0575b8900912711688e45474f04ab3934aaa7b624dea7b3c511ecc90f \
90+
--hash=sha256:1e5e92e3e84a8718d2de36cd8387459cba9a4508337b8c5f450ce42b87a9e760 \
91+
--hash=sha256:2186369a654a15628e9c1c9921409a6b3eda833e4b91f3ca2a7d9f77abb4987c \
92+
--hash=sha256:21c0ea0d4db8a36b275cb6fb2437a3715697a4ba3cb7b918d3525cc75f726304 \
93+
--hash=sha256:24500f4b0e03aab60ce575c85365beab64b44d4db837021e08339f61d1fbfe52 \
94+
--hash=sha256:2b636a301e53964550e2f3094484fa5a96e699db318d65398cfba438c5c92171 \
95+
--hash=sha256:343056c5e0737487a5291f5691f4dfeb25b3e3c8699b4d36b92bb0e586219d14 \
96+
--hash=sha256:35a51598f29b2a19e26d0908bd196f771a9b1c5d9a07bf20be0adf28f1ad4f77 \
97+
--hash=sha256:39d3b964abfe1519b9d313ab28abf1d02faea26cd14b27f5283849bf59479ff5 \
98+
--hash=sha256:3ec528ae69f0a139690fad6deac8a7d33629fa61ccce693fdd07ddf7e9931fba \
99+
--hash=sha256:47ccb6e99a3031ffbbd6e7cc041e70770b4fe405370c66a54dbf26a500ded80b \
100+
--hash=sha256:4eea60c79d36a8f39475b1af887663bc3ae4f31289cd216f514ce18d5938df40 \
101+
--hash=sha256:536f77f2bf5797983652d1d55f1a7272a29afcc89e3ae51caa99b2db4e89d658 \
102+
--hash=sha256:5ed69befa9a9fc796fe015a7040c9398722d6b97df73a6b608e9e275fa0932b0 \
103+
--hash=sha256:62ab4231c01e156ece1b3a187c87173f31cbeee83a5e1f6dff17f288dca93345 \
104+
--hash=sha256:667952739daafe9616db19fbedbdb87917eee253ac4f31d70c7587f7ab531b4e \
105+
--hash=sha256:69f251804e052fc46d29d0e7348cdc5fcbfc4861dc4a1ebedef7e78d241ad39e \
106+
--hash=sha256:6c2ba1e0c24d8fae8f2cf0aeb2fc0a2a7f69b6d20bd8d3749fd6b36ecef5edf0 \
107+
--hash=sha256:6e85830eed5b5263ffa0c62428e43cb844296f3b4461f09e4bdb0d44ec190bc2 \
108+
--hash=sha256:7571e8bbecc6ac066256f9de40365ff833553e2e0c0c004f4482facb131820ef \
109+
--hash=sha256:7781f4f70c9b0b39e1b129b10c7d43a4e0c91f90c60435e6da8288efc2b73438 \
110+
--hash=sha256:7926d8d034e06b479797c199747dd774d5e86179f2ce44294423327a88d66ca7 \
111+
--hash=sha256:7b80fbb0da3aebde102a37ef0138aeedff45997e22f8962e5f16ae1742852676 \
112+
--hash=sha256:7fca4a92c8a7a73dee6946471bce6d1443d94155694b893b79e19ca2a540d86e \
113+
--hash=sha256:84c4315577f7cd511d6250ffd0f695c825efe729f4205c0340f7004eda51191f \
114+
--hash=sha256:8d9c5d13927d77af4fbe453953810db766f75401e764727e73a6ee4f82527b3e \
115+
--hash=sha256:9681516288e3dcf0aa7c26231178cc0be6cac9705cac06709f2353c5b406cfea \
116+
--hash=sha256:97df87e1a20deb75ac7d920c812e9326096aa00a9a4b6d07679b4f1f14b06c90 \
117+
--hash=sha256:9bcd51eeca35a80e76dc5794a9dd7cb04b97f0e8af620d54711793bfc1fbba4b \
118+
--hash=sha256:9c6b0c1cafd96213a0327cf680acb39f70e452caf8e9a25aeb05316db9c07f89 \
119+
--hash=sha256:a5f81e68aa62bc0cfca04f7b19eaa8f9c826b53fc82ab9e2121976dc74f131f3 \
120+
--hash=sha256:a663b180b6669c400b4630a24cc776f23a992d38ce7ae72ede2a397ce6b0f170 \
121+
--hash=sha256:a7b2e437fbd8fae5bc7716b9c7ff97aecc95f0b4d56e4ca08b3c8d8adcaadb84 \
122+
--hash=sha256:a867d26f06bcd047ef716175b2696b315cb7571ccb951006d61ca80bbc356e9e \
123+
--hash=sha256:aa68a6cdbe1bc6793a9dbfc38302c11599bbe1837392ae9b1d238b9ef3dafcf1 \
124+
--hash=sha256:ab31fdd643f162c467cfe6a86e9cb5f1965b632e5e65c072d90854ff486d02cf \
125+
--hash=sha256:ad4ef1c56b47b6b9024b939d503ab487231df1f722065a48f4fc61832130b90e \
126+
--hash=sha256:b92f9ca04b3e719d69b02dc4a69debb795af84cb7afd09c5eb5d54b4a1ae2191 \
127+
--hash=sha256:bb21bac7783c1bf6f4bbe68b1e0ff0d20e7e7732cfb7995bc8d96e23aa90fc7b \
128+
--hash=sha256:bf4eeecc9e10f5403ec06138978235af79c9a79af494eb6b1d60a50b49ed2869 \
129+
--hash=sha256:bfde025e2793a22efe8c21f807d276bd1d6a4bcc5ba6f19dbdfc4e7a12160909 \
130+
--hash=sha256:c37faddc8acd826cfc5e2392531aba734b229741d3daec7f4c777a8f0d4993e5 \
131+
--hash=sha256:c71965d1ced48bf97aab79fad56df82c566b4c498ffc09c2094605727c4b7e36 \
132+
--hash=sha256:c9192925acc33e146864b8cf037e2ed32a91fdf7644ae875f5d46cd2ef086a5f \
133+
--hash=sha256:c9df1950fb92d49970cce38100d7e7293c84ed3606eaa16ea0b6bc27175bb667 \
134+
--hash=sha256:cdfcf2e914e2ba653101157458afd0ad92a16731eeba9a611b5cbb3e7124e74b \
135+
--hash=sha256:d03a060ac1a08e10589c27d509bbdb35b65f2d7f3f8d81cf2fa199877c7bc58a \
136+
--hash=sha256:d20c3d1f31f14d6962a4e2f549c21d31e670b90f777ef4171be540fb7fb70f02 \
137+
--hash=sha256:e4ee15b267d2dad3e8759ca441ad450c334f3733304c55210c2a44516e8d5530 \
138+
--hash=sha256:e8ea055b3ea046c0f66217af65bc193bbbeca1c8661dc5fd42698db5795d2627 \
139+
--hash=sha256:ebabdf1c76593a09ee18c1a06cd3022919861365219ea3aca0247ededf6facd6 \
140+
--hash=sha256:ebc94fadbd4a3f4215993326a6a00e47d79889391f5659bf310f55fe5d9f581c \
141+
--hash=sha256:ed5ac02126f74d190fa2cc14a9eb2a5d9837d5863920fa472b02eb1595cdc925 \
142+
--hash=sha256:f01e53575f27097d75d42de33b1b289c74b16891ce576d767ad8c48d17aeb5e0 \
143+
--hash=sha256:f361296ca7054f0936b02525646b2731b32c8074ba6defab524b79b2b7eeac72 \
144+
--hash=sha256:f9035695dadfb397bee9eeaf1dc7fbeda483bf7664a7397a629846800ce6e276 \
145+
--hash=sha256:fcad7d5d2bbfeae1026b395036a8aa5abf67e8038ae7e6a25c7d0f88b10a8e6a \
146+
--hash=sha256:ff797320dcbff57caa6b2301c3913784a010e13b1f6cf4ab3f563f3c5e7919db
157147
exceptiongroup==1.2.2 ; python_version >= "3.9" and python_version < "3.11" \
158148
--hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \
159149
--hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc
@@ -205,7 +195,7 @@ sortedcontainers==2.4.0 ; python_full_version >= "3.9.0" and python_version < "3
205195
termcolor==2.5.0 ; python_version >= "3.9" and python_version < "3.14" \
206196
--hash=sha256:37b17b5fc1e604945c2642c872a3764b5d547a48009871aea3edd3afa180afb8 \
207197
--hash=sha256:998d8d27da6d48442e8e1f016119076b690d962507531df4890fcd2db2ef8a6f
208-
tomli==2.0.2 ; python_full_version >= "3.9.0" and python_full_version <= "3.11.0a6" \
198+
tomli==2.0.2 ; python_version >= "3.9" and python_full_version <= "3.11.0a6" \
209199
--hash=sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38 \
210200
--hash=sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed
211201
trio==0.26.2 ; python_full_version >= "3.9.0" and python_version < "3.14" \

0 commit comments

Comments
 (0)