ant-ray-nightly 3.0.0.dev20251017__cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 3.0.0.dev20251019__cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

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.

Potentially problematic release.


This version of ant-ray-nightly might be problematic. Click here for more details.

Files changed (23) hide show
  1. {ant_ray_nightly-3.0.0.dev20251017.dist-info → ant_ray_nightly-3.0.0.dev20251019.dist-info}/METADATA +103 -103
  2. {ant_ray_nightly-3.0.0.dev20251017.dist-info → ant_ray_nightly-3.0.0.dev20251019.dist-info}/RECORD +23 -23
  3. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/__init__.py +1 -1
  4. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client.py +29 -0
  5. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client_reqrep.py +0 -6
  6. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/compression_utils.py +9 -13
  7. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/helpers.py +30 -2
  8. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/http_parser.py +1 -1
  9. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web.py +4 -17
  10. ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_urldispatcher.py +15 -15
  11. ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/METADATA +4 -5
  12. ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/RECORD +16 -16
  13. ray/thirdparty_files/setproctitle-1.2.2.dist-info/RECORD +1 -1
  14. ray/thirdparty_files/setproctitle.cpython-312-aarch64-linux-gnu.so +0 -0
  15. {ant_ray_nightly-3.0.0.dev20251017.dist-info → ant_ray_nightly-3.0.0.dev20251019.dist-info}/WHEEL +0 -0
  16. {ant_ray_nightly-3.0.0.dev20251017.dist-info → ant_ray_nightly-3.0.0.dev20251019.dist-info}/entry_points.txt +0 -0
  17. {ant_ray_nightly-3.0.0.dev20251017.dist-info → ant_ray_nightly-3.0.0.dev20251019.dist-info}/top_level.txt +0 -0
  18. /ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/INSTALLER +0 -0
  19. /ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/REQUESTED +0 -0
  20. /ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/WHEEL +0 -0
  21. /ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/licenses/LICENSE.txt +0 -0
  22. /ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/licenses/vendor/llhttp/LICENSE +0 -0
  23. /ray/_private/runtime_env/agent/thirdparty_files/{aiohttp-3.13.0.dist-info → aiohttp-3.13.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ant-ray-nightly
3
- Version: 3.0.0.dev20251017
3
+ Version: 3.0.0.dev20251019
4
4
  Summary: Ray provides a simple, universal API for building distributed applications.
5
5
  Home-page: https://github.com/ray-project/ray
6
6
  Author: Ray Team
@@ -56,27 +56,27 @@ Requires-Dist: opentelemetry-sdk; extra == "observability"
56
56
  Requires-Dist: opentelemetry-exporter-otlp; extra == "observability"
57
57
  Requires-Dist: memray; sys_platform != "win32" and extra == "observability"
58
58
  Provides-Extra: serve
59
- Requires-Dist: opentelemetry-exporter-prometheus; extra == "serve"
60
- Requires-Dist: flow-insight>=1.0.0; extra == "serve"
59
+ Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "serve"
60
+ Requires-Dist: colorful; extra == "serve"
61
+ Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "serve"
62
+ Requires-Dist: opentelemetry-sdk; extra == "serve"
63
+ Requires-Dist: smart_open; extra == "serve"
61
64
  Requires-Dist: py-spy>=0.4.0; python_version >= "3.12" and extra == "serve"
65
+ Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "serve"
66
+ Requires-Dist: uvicorn[standard]; extra == "serve"
62
67
  Requires-Dist: aiohttp>=3.7; extra == "serve"
63
- Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "serve"
64
68
  Requires-Dist: prometheus_client>=0.7.1; extra == "serve"
65
- Requires-Dist: uvicorn[standard]; extra == "serve"
69
+ Requires-Dist: requests; extra == "serve"
66
70
  Requires-Dist: opencensus; extra == "serve"
67
- Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "serve"
71
+ Requires-Dist: starlette; extra == "serve"
72
+ Requires-Dist: aiohttp_cors; extra == "serve"
73
+ Requires-Dist: flow-insight>=1.0.0; extra == "serve"
68
74
  Requires-Dist: fastapi; extra == "serve"
69
- Requires-Dist: watchfiles; extra == "serve"
70
- Requires-Dist: colorful; extra == "serve"
71
- Requires-Dist: requests; extra == "serve"
75
+ Requires-Dist: opentelemetry-exporter-prometheus; extra == "serve"
76
+ Requires-Dist: opentelemetry-proto; extra == "serve"
72
77
  Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "serve"
73
- Requires-Dist: aiohttp_cors; extra == "serve"
74
78
  Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "serve"
75
- Requires-Dist: opentelemetry-sdk; extra == "serve"
76
- Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "serve"
77
- Requires-Dist: smart_open; extra == "serve"
78
- Requires-Dist: starlette; extra == "serve"
79
- Requires-Dist: opentelemetry-proto; extra == "serve"
79
+ Requires-Dist: watchfiles; extra == "serve"
80
80
  Provides-Extra: tune
81
81
  Requires-Dist: pandas; extra == "tune"
82
82
  Requires-Dist: tensorboardX>=1.9; extra == "tune"
@@ -87,28 +87,28 @@ Requires-Dist: fsspec; extra == "tune"
87
87
  Provides-Extra: adag
88
88
  Requires-Dist: cupy-cuda12x; sys_platform != "darwin" and extra == "adag"
89
89
  Provides-Extra: serve-grpc
90
- Requires-Dist: opentelemetry-exporter-prometheus; extra == "serve-grpc"
91
- Requires-Dist: flow-insight>=1.0.0; extra == "serve-grpc"
90
+ Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "serve-grpc"
92
91
  Requires-Dist: pyOpenSSL; extra == "serve-grpc"
92
+ Requires-Dist: colorful; extra == "serve-grpc"
93
+ Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "serve-grpc"
94
+ Requires-Dist: opentelemetry-sdk; extra == "serve-grpc"
95
+ Requires-Dist: smart_open; extra == "serve-grpc"
93
96
  Requires-Dist: py-spy>=0.4.0; python_version >= "3.12" and extra == "serve-grpc"
97
+ Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "serve-grpc"
98
+ Requires-Dist: uvicorn[standard]; extra == "serve-grpc"
94
99
  Requires-Dist: aiohttp>=3.7; extra == "serve-grpc"
95
- Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "serve-grpc"
96
100
  Requires-Dist: prometheus_client>=0.7.1; extra == "serve-grpc"
97
- Requires-Dist: uvicorn[standard]; extra == "serve-grpc"
101
+ Requires-Dist: requests; extra == "serve-grpc"
98
102
  Requires-Dist: opencensus; extra == "serve-grpc"
99
- Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "serve-grpc"
103
+ Requires-Dist: starlette; extra == "serve-grpc"
104
+ Requires-Dist: aiohttp_cors; extra == "serve-grpc"
105
+ Requires-Dist: flow-insight>=1.0.0; extra == "serve-grpc"
100
106
  Requires-Dist: fastapi; extra == "serve-grpc"
101
- Requires-Dist: watchfiles; extra == "serve-grpc"
102
- Requires-Dist: colorful; extra == "serve-grpc"
103
- Requires-Dist: requests; extra == "serve-grpc"
107
+ Requires-Dist: opentelemetry-exporter-prometheus; extra == "serve-grpc"
108
+ Requires-Dist: opentelemetry-proto; extra == "serve-grpc"
104
109
  Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "serve-grpc"
105
- Requires-Dist: aiohttp_cors; extra == "serve-grpc"
106
110
  Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "serve-grpc"
107
- Requires-Dist: opentelemetry-sdk; extra == "serve-grpc"
108
- Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "serve-grpc"
109
- Requires-Dist: smart_open; extra == "serve-grpc"
110
- Requires-Dist: starlette; extra == "serve-grpc"
111
- Requires-Dist: opentelemetry-proto; extra == "serve-grpc"
111
+ Requires-Dist: watchfiles; extra == "serve-grpc"
112
112
  Provides-Extra: rllib
113
113
  Requires-Dist: pandas; extra == "rllib"
114
114
  Requires-Dist: tensorboardX>=1.9; extra == "rllib"
@@ -131,109 +131,109 @@ Requires-Dist: pyarrow<18; (sys_platform == "darwin" and platform_machine == "x8
131
131
  Requires-Dist: fsspec; extra == "train"
132
132
  Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "train"
133
133
  Provides-Extra: air
134
- Requires-Dist: opentelemetry-exporter-prometheus; extra == "air"
135
- Requires-Dist: flow-insight>=1.0.0; extra == "air"
134
+ Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "air"
135
+ Requires-Dist: colorful; extra == "air"
136
+ Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "air"
137
+ Requires-Dist: opentelemetry-sdk; extra == "air"
138
+ Requires-Dist: smart_open; extra == "air"
136
139
  Requires-Dist: pyarrow<18; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "air"
137
- Requires-Dist: pandas>=1.3; extra == "air"
138
140
  Requires-Dist: py-spy>=0.4.0; python_version >= "3.12" and extra == "air"
139
- Requires-Dist: aiohttp>=3.7; extra == "air"
140
- Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "air"
141
- Requires-Dist: pyarrow>=9.0.0; extra == "air"
142
141
  Requires-Dist: tensorboardX>=1.9; extra == "air"
143
- Requires-Dist: numpy>=1.20; extra == "air"
144
- Requires-Dist: prometheus_client>=0.7.1; extra == "air"
145
- Requires-Dist: uvicorn[standard]; extra == "air"
146
- Requires-Dist: opencensus; extra == "air"
147
- Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "air"
148
- Requires-Dist: fastapi; extra == "air"
149
142
  Requires-Dist: fsspec; extra == "air"
143
+ Requires-Dist: pandas>=1.3; extra == "air"
144
+ Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "air"
145
+ Requires-Dist: uvicorn[standard]; extra == "air"
146
+ Requires-Dist: aiohttp>=3.7; extra == "air"
147
+ Requires-Dist: prometheus_client>=0.7.1; extra == "air"
150
148
  Requires-Dist: pandas; extra == "air"
151
- Requires-Dist: watchfiles; extra == "air"
152
- Requires-Dist: colorful; extra == "air"
153
149
  Requires-Dist: requests; extra == "air"
154
- Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "air"
155
- Requires-Dist: aiohttp_cors; extra == "air"
156
- Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "air"
157
- Requires-Dist: opentelemetry-sdk; extra == "air"
158
- Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "air"
159
- Requires-Dist: smart_open; extra == "air"
150
+ Requires-Dist: opencensus; extra == "air"
160
151
  Requires-Dist: starlette; extra == "air"
152
+ Requires-Dist: aiohttp_cors; extra == "air"
153
+ Requires-Dist: flow-insight>=1.0.0; extra == "air"
154
+ Requires-Dist: numpy>=1.20; extra == "air"
155
+ Requires-Dist: fastapi; extra == "air"
156
+ Requires-Dist: opentelemetry-exporter-prometheus; extra == "air"
161
157
  Requires-Dist: opentelemetry-proto; extra == "air"
158
+ Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "air"
159
+ Requires-Dist: pyarrow>=9.0.0; extra == "air"
160
+ Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "air"
161
+ Requires-Dist: watchfiles; extra == "air"
162
162
  Provides-Extra: all
163
- Requires-Dist: opentelemetry-exporter-prometheus; extra == "all"
164
- Requires-Dist: flow-insight>=1.0.0; extra == "all"
165
- Requires-Dist: memray; sys_platform != "win32" and extra == "all"
166
- Requires-Dist: pandas>=1.3; extra == "all"
167
- Requires-Dist: pyarrow<18; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "all"
163
+ Requires-Dist: grpcio!=1.56.0; sys_platform == "darwin" and extra == "all"
164
+ Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "all"
165
+ Requires-Dist: cupy-cuda12x; sys_platform != "darwin" and extra == "all"
168
166
  Requires-Dist: pyOpenSSL; extra == "all"
167
+ Requires-Dist: colorful; extra == "all"
168
+ Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "all"
169
+ Requires-Dist: opentelemetry-sdk; extra == "all"
170
+ Requires-Dist: pyarrow<18; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "all"
171
+ Requires-Dist: smart_open; extra == "all"
172
+ Requires-Dist: memray; sys_platform != "win32" and extra == "all"
169
173
  Requires-Dist: py-spy>=0.4.0; python_version >= "3.12" and extra == "all"
170
- Requires-Dist: aiohttp>=3.7; extra == "all"
171
- Requires-Dist: pyyaml; extra == "all"
172
- Requires-Dist: pyarrow>=9.0.0; extra == "all"
173
- Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "all"
174
174
  Requires-Dist: tensorboardX>=1.9; extra == "all"
175
- Requires-Dist: scipy; extra == "all"
176
- Requires-Dist: numpy>=1.20; extra == "all"
177
- Requires-Dist: prometheus_client>=0.7.1; extra == "all"
178
- Requires-Dist: uvicorn[standard]; extra == "all"
179
- Requires-Dist: opencensus; extra == "all"
180
- Requires-Dist: ormsgpack==1.7.0; extra == "all"
181
- Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "all"
182
- Requires-Dist: fastapi; extra == "all"
183
175
  Requires-Dist: fsspec; extra == "all"
184
- Requires-Dist: grpcio!=1.56.0; sys_platform == "darwin" and extra == "all"
176
+ Requires-Dist: ormsgpack==1.7.0; extra == "all"
177
+ Requires-Dist: pandas>=1.3; extra == "all"
178
+ Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "all"
179
+ Requires-Dist: lz4; extra == "all"
180
+ Requires-Dist: uvicorn[standard]; extra == "all"
185
181
  Requires-Dist: grpcio; extra == "all"
186
- Requires-Dist: dm_tree; extra == "all"
187
- Requires-Dist: opentelemetry-api; extra == "all"
188
182
  Requires-Dist: opentelemetry-exporter-otlp; extra == "all"
183
+ Requires-Dist: dm_tree; extra == "all"
184
+ Requires-Dist: gymnasium==1.0.0; extra == "all"
185
+ Requires-Dist: aiohttp>=3.7; extra == "all"
186
+ Requires-Dist: prometheus_client>=0.7.1; extra == "all"
187
+ Requires-Dist: scipy; extra == "all"
189
188
  Requires-Dist: pandas; extra == "all"
190
- Requires-Dist: cupy-cuda12x; sys_platform != "darwin" and extra == "all"
191
- Requires-Dist: watchfiles; extra == "all"
192
- Requires-Dist: colorful; extra == "all"
193
189
  Requires-Dist: requests; extra == "all"
194
- Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "all"
190
+ Requires-Dist: pyyaml; extra == "all"
191
+ Requires-Dist: opencensus; extra == "all"
195
192
  Requires-Dist: aiohttp_cors; extra == "all"
196
- Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "all"
197
- Requires-Dist: opentelemetry-sdk; extra == "all"
198
- Requires-Dist: lz4; extra == "all"
199
- Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "all"
200
- Requires-Dist: smart_open; extra == "all"
193
+ Requires-Dist: flow-insight>=1.0.0; extra == "all"
201
194
  Requires-Dist: starlette; extra == "all"
195
+ Requires-Dist: opentelemetry-api; extra == "all"
196
+ Requires-Dist: numpy>=1.20; extra == "all"
197
+ Requires-Dist: opentelemetry-exporter-prometheus; extra == "all"
202
198
  Requires-Dist: opentelemetry-proto; extra == "all"
203
- Requires-Dist: gymnasium==1.0.0; extra == "all"
199
+ Requires-Dist: fastapi; extra == "all"
200
+ Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "all"
201
+ Requires-Dist: pyarrow>=9.0.0; extra == "all"
202
+ Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "all"
203
+ Requires-Dist: watchfiles; extra == "all"
204
204
  Provides-Extra: llm
205
- Requires-Dist: opentelemetry-exporter-prometheus; extra == "llm"
206
- Requires-Dist: flow-insight>=1.0.0; extra == "llm"
207
- Requires-Dist: pandas>=1.3; extra == "llm"
205
+ Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "llm"
206
+ Requires-Dist: jsonschema; extra == "llm"
207
+ Requires-Dist: colorful; extra == "llm"
208
+ Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "llm"
209
+ Requires-Dist: opentelemetry-sdk; extra == "llm"
210
+ Requires-Dist: smart_open; extra == "llm"
208
211
  Requires-Dist: pyarrow<18; (sys_platform == "darwin" and platform_machine == "x86_64") and extra == "llm"
209
212
  Requires-Dist: py-spy>=0.4.0; python_version >= "3.12" and extra == "llm"
210
- Requires-Dist: typer; extra == "llm"
211
- Requires-Dist: aiohttp>=3.7; extra == "llm"
212
- Requires-Dist: virtualenv!=20.21.1,>=20.0.24; extra == "llm"
213
- Requires-Dist: pyarrow>=9.0.0; extra == "llm"
214
- Requires-Dist: numpy>=1.20; extra == "llm"
215
213
  Requires-Dist: async-timeout; python_version < "3.11" and extra == "llm"
216
- Requires-Dist: prometheus_client>=0.7.1; extra == "llm"
217
- Requires-Dist: uvicorn[standard]; extra == "llm"
218
- Requires-Dist: opencensus; extra == "llm"
219
- Requires-Dist: py-spy>=0.2.0; python_version < "3.12" and extra == "llm"
220
- Requires-Dist: fastapi; extra == "llm"
221
214
  Requires-Dist: fsspec; extra == "llm"
215
+ Requires-Dist: pandas>=1.3; extra == "llm"
222
216
  Requires-Dist: jsonref>=1.1.0; extra == "llm"
223
- Requires-Dist: ninja; extra == "llm"
224
- Requires-Dist: watchfiles; extra == "llm"
225
- Requires-Dist: colorful; extra == "llm"
226
- Requires-Dist: jsonschema; extra == "llm"
227
- Requires-Dist: requests; extra == "llm"
228
- Requires-Dist: vllm>=0.8.5; extra == "llm"
229
- Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "llm"
230
- Requires-Dist: aiohttp_cors; extra == "llm"
231
- Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "llm"
232
- Requires-Dist: opentelemetry-sdk; extra == "llm"
233
217
  Requires-Dist: grpcio>=1.42.0; python_version >= "3.10" and extra == "llm"
234
- Requires-Dist: smart_open; extra == "llm"
218
+ Requires-Dist: uvicorn[standard]; extra == "llm"
219
+ Requires-Dist: aiohttp>=3.7; extra == "llm"
220
+ Requires-Dist: typer; extra == "llm"
221
+ Requires-Dist: prometheus_client>=0.7.1; extra == "llm"
222
+ Requires-Dist: vllm>=0.8.5; extra == "llm"
223
+ Requires-Dist: requests; extra == "llm"
224
+ Requires-Dist: opencensus; extra == "llm"
235
225
  Requires-Dist: starlette; extra == "llm"
226
+ Requires-Dist: aiohttp_cors; extra == "llm"
227
+ Requires-Dist: flow-insight>=1.0.0; extra == "llm"
228
+ Requires-Dist: numpy>=1.20; extra == "llm"
229
+ Requires-Dist: ninja; extra == "llm"
230
+ Requires-Dist: fastapi; extra == "llm"
231
+ Requires-Dist: opentelemetry-exporter-prometheus; extra == "llm"
236
232
  Requires-Dist: opentelemetry-proto; extra == "llm"
233
+ Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3; extra == "llm"
234
+ Requires-Dist: pyarrow>=9.0.0; extra == "llm"
235
+ Requires-Dist: grpcio>=1.32.0; python_version < "3.10" and extra == "llm"
236
+ Requires-Dist: watchfiles; extra == "llm"
237
237
  Dynamic: author
238
238
  Dynamic: author-email
239
239
  Dynamic: classifier
@@ -1,8 +1,8 @@
1
- ant_ray_nightly-3.0.0.dev20251017.dist-info/entry_points.txt,sha256=HzQIZGspUzWojBmR9Xvb28m4bPhi-yJjV1U1pdlRkyY,111
2
- ant_ray_nightly-3.0.0.dev20251017.dist-info/METADATA,sha256=sXb_74RZP8Mus2u0AbazSFycx446epbanAFJCB_Kegs,19222
3
- ant_ray_nightly-3.0.0.dev20251017.dist-info/RECORD,,
4
- ant_ray_nightly-3.0.0.dev20251017.dist-info/WHEEL,sha256=29GglsfgOKni3MnvXwDNoeBjBZY4LOjl_HH3QTWETk4,153
5
- ant_ray_nightly-3.0.0.dev20251017.dist-info/top_level.txt,sha256=GJvmpjCEmVfQsBskWDIj2hraOPW3F8A46rlbd9c3vc0,4
1
+ ant_ray_nightly-3.0.0.dev20251019.dist-info/entry_points.txt,sha256=HzQIZGspUzWojBmR9Xvb28m4bPhi-yJjV1U1pdlRkyY,111
2
+ ant_ray_nightly-3.0.0.dev20251019.dist-info/METADATA,sha256=d5gp5HWH5sI9O-5h2jFITS0oql-AhnX2ZZZlx2BL-0Y,19222
3
+ ant_ray_nightly-3.0.0.dev20251019.dist-info/RECORD,,
4
+ ant_ray_nightly-3.0.0.dev20251019.dist-info/WHEEL,sha256=29GglsfgOKni3MnvXwDNoeBjBZY4LOjl_HH3QTWETk4,153
5
+ ant_ray_nightly-3.0.0.dev20251019.dist-info/top_level.txt,sha256=GJvmpjCEmVfQsBskWDIj2hraOPW3F8A46rlbd9c3vc0,4
6
6
  ray/__init__.py,sha256=9t_0XhcFhrIHCeLdH7Shyt5RaW6xTnH1Zopq1psy29c,7676
7
7
  ray/_raylet.so,sha256=c2BINPrT2VXa3D79bTdJ0C7a_RY8tCRfWiPXx5F_6iE,38643440
8
8
  ray/runtime_context.py,sha256=1mIoKizdnax84QUM2maU0MrI9KBTJ_0tZh6ubyqOjDY,19948
@@ -549,10 +549,10 @@ ray/_private/runtime_env/agent/thirdparty_files/propcache/py.typed,sha256=ay5OMO
549
549
  ray/_private/runtime_env/agent/thirdparty_files/propcache/_helpers_py.py,sha256=Wixs2zWA-FBU-j4zLPyBUU24FEfPhKk-UunFSp9q95U,1909
550
550
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/log.py,sha256=BbNKx9e3VMIm0xYjZI0IcBBoS7wjdeIeSaiJE7-qK2g,325
551
551
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/payload.py,sha256=O6nsYNULL7AeM2cyJ6TYX73ncVnL5xJwt5AegxwMKqw,40874
552
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/__init__.py,sha256=V8eLpNvuyUF7ZLcqI6e1ydaeZSwnDQZXcL_ouRH-mCo,8302
552
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/__init__.py,sha256=mzVOT0ZynvvN9RnDC_TZSLQmII3JiGsjo2ZwoCFf5LU,8302
553
553
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/abc.py,sha256=M66F4S6m00bIEn7y4ha_XLTMDmVQ9dPihfOVB0pGfOo,7149
554
554
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_cookie_helpers.py,sha256=uncmWVWETXBH-IAAOlT5bHZSaOhGaV7rY9u75B7f2Yg,12247
555
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/helpers.py,sha256=bblNEhp4hFimEmxMdPNxEluBY17L5YUArHYvoxzoEe4,29614
555
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/helpers.py,sha256=Q1307PCEnWz4RP8crUw8dk58c0YF2Ei3JywkKfRxz5E,30629
556
556
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client_ws.py,sha256=1CIjIXwyzOMIYw6AjUES4-qUwbyVHW1seJKQfg_Rta8,15109
557
557
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_http_writer.cpython-312-aarch64-linux-gnu.so,sha256=laP38qN0vwbl8g0Y9TI03r8HbO7niGw9ScMLNRlaDNo,678496
558
558
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_app.py,sha256=lGU_aAMN-h3wy-LTTHi6SeKH8ydt1G51BXcCspgD5ZA,19452
@@ -570,7 +570,7 @@ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/pytest_plugin.py,sha256=
570
570
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/multipart.py,sha256=6q6QRjKFVqaWzTbc7bkuBtXsTaQq5b2BhHxLBvAElac,40040
571
571
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_ws.py,sha256=lItgmyatkXh0M6EY7JoZnSZkUl6R0wv8B88X4ILqQbU,22739
572
572
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_http_writer.pyx,sha256=VlFEBM6HoVv8a0AAJtc6JwFlsv2-cDE8-gB94p3dfhQ,4664
573
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client_reqrep.py,sha256=ckYUCHgbyr23-ypiZYNxvIQTsMpMVtoTLniNij4OlXg,53668
573
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client_reqrep.py,sha256=eEREDrZ0M8ZFTt1wjHduR-P8_sm40K65gNz-iMGYask,53391
574
574
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/streams.py,sha256=cQxo6Fyu_HDWDpbezGRVPIVYtVtTbSLRF7g511DNmSs,22601
575
575
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/base_protocol.py,sha256=Tp8cxUPQvv9kUPk3w6lAzk6d2MAzV3scwI_3Go3C47c,3025
576
576
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/resolver.py,sha256=gsrfUpFf8iHlcHfJvY-1fiBHW3PRvRVNb5lNZBg3zlY,10031
@@ -583,9 +583,9 @@ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client_proto.py,sha256=5
583
583
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/typedefs.py,sha256=wUlqwe9Mw9W8jT3HsYJcYk00qP3EMPz3nTkYXmeNN48,1657
584
584
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/payload_streamer.py,sha256=ZzEYyfzcjGWkVkK3XR2pBthSCSIykYvY3Wr5cGQ2eTc,2211
585
585
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/py.typed,sha256=sow9soTwP9T_gEAQSVh7Gb8855h04Nwmhs2We-JRgZM,7
586
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_urldispatcher.py,sha256=abp8PZnSfXPB89vS_9kJUenrXOu48bjTEjbHndXZ_48,44060
586
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_urldispatcher.py,sha256=3ryu1ZOpcq79IYNMd6EjYWmQ_i6JbsJzS_IaV0yoYBg,44203
587
587
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client_middleware_digest_auth.py,sha256=BIoQJ5eWL5NNkPOmezTGrceWIho8ETDvS8NKvX-3Xdw,17088
588
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/compression_utils.py,sha256=JvEDGV2QXjYXT4Q_rjr1su-SrENoSjHiuDAScr05fJk,9632
588
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/compression_utils.py,sha256=skLoJxkQoKmFgrPshkMNWf2zMso2w97EK44a1SvnU_U,9600
589
589
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/hdrs.py,sha256=2rj5MyA-6yRdYPhW5UKkW4iNWhEAlGIOSBH5D4FmKNE,5111
590
590
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_headers.pxi,sha256=n701k28dVPjwRnx5j6LpJhLTfj7dqu2vJt7f0O60Oyg,2007
591
591
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/connector.py,sha256=WQetKoSW7XnHA9r4o9OWwO3-n7ymOwBd2Tg_xHNw0Bs,68456
@@ -595,14 +595,14 @@ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_routedef.py,sha256=V
595
595
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/cookiejar.py,sha256=e28ZMQwJ5P0vbPX1OX4Se7-k3zeGvocFEqzGhwpG53k,18922
596
596
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/tcp_helpers.py,sha256=BSadqVWaBpMFDRWnhaaR941N9MiDZ7bdTrxgCb0CW-M,961
597
597
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_http_parser.pyx,sha256=tmA1PaJn7H8U1nyXtoHJV44pxYVzqXAf1UgJaYPaw28,28219
598
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/http_parser.py,sha256=nXizX63zytOxjVyEds0CPuvFKa9MY96Zfv5hpZjPAhY,37372
598
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/http_parser.py,sha256=fACBNI47n9hnVPWfm5AJufuezsoYOF_VLp4bptYjvQI,37377
599
599
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client_middlewares.py,sha256=kP5N9CMzQPMGPIEydeVUiLUTLsw8Vl8Gr4qAWYdu3vM,1918
600
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client.py,sha256=UmwwoDurmDDvxTwa4e1VElko4mc8_Snsvs3CA6SE-kc,57584
600
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/client.py,sha256=nYTIOdQgmeXb6qLqg7zeO4DZBSP6omK1vNQAELG3fdg,58656
601
601
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_response.py,sha256=PKcziNU4LmftXqKVvoRMrAbOeVClpSN-iznHsiWezmU,29341
602
602
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_exceptions.py,sha256=7nIuiwhZ39vJJ9KrWqArA5QcWbUdqkz2CLwEpJapeN8,10360
603
603
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_log.py,sha256=rX5D7xLOX2B6BMdiZ-chme_KfJfW5IXEoFwLfkfkajs,7865
604
604
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web_fileresponse.py,sha256=Xzau8EMrWNrFg3u46h4UEteg93G4zYq94CU6vy0HiqE,16362
605
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web.py,sha256=sG_U41AY4S_LBY9sReiBzXKJRZpXk8xgiE_l5S_UPPg,18390
605
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp/web.py,sha256=JzSNmejg5G6YeFAnkIgZfytqbU86sNu844yYKmoUpqs,17852
606
606
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_websocket/__init__.py,sha256=Mar3R9_vBN_Ea4lsW7iTAVXD7OKswKPGqF5xgSyt77k,44
607
607
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_websocket/helpers.py,sha256=P-XLv8IUaihKzDenVUqfKU5DJbWE5HvG8uhvUZK8Ic4,5038
608
608
  ray/_private/runtime_env/agent/thirdparty_files/aiohttp/_websocket/writer.py,sha256=9qCnQnCFwPmvf6U6i_7VfTldjpcDfQ_ojeCv5mXoMkw,7139
@@ -651,14 +651,14 @@ ray/_private/runtime_env/agent/thirdparty_files/yarl-1.22.0.dist-info/WHEEL,sha2
651
651
  ray/_private/runtime_env/agent/thirdparty_files/yarl-1.22.0.dist-info/top_level.txt,sha256=vf3SJuQh-k7YtvsUrV_OPOrT9Kqn0COlk7IPYyhtGkQ,5
652
652
  ray/_private/runtime_env/agent/thirdparty_files/yarl-1.22.0.dist-info/licenses/NOTICE,sha256=VtasbIEFwKUTBMIdsGDjYa-ajqCvmnXCOcKLXRNpODg,609
653
653
  ray/_private/runtime_env/agent/thirdparty_files/yarl-1.22.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
654
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/METADATA,sha256=MMgGAtplXaCYPIJajnkzKVOSQolGCMLIMMhrr1XaCLM,8147
655
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
656
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
657
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/RECORD,sha256=d7PnDwwGVZNpy-xB9NOzkYBzlte06QrdkEUm6gCgNsI,9922
658
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/WHEEL,sha256=8dLfIaEdZhvKMcxjctjlRF9OMhsXJ-Ot8dAcG4hIc8U,193
659
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/top_level.txt,sha256=iv-JIaacmTl-hSho3QmphcKnbRRYx1st47yjz_178Ro,8
660
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/licenses/LICENSE.txt,sha256=n4DQ2311WpQdtFchcsJw7L2PCCuiFd3QlZhZQu2Uqes,588
661
- ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.0.dist-info/licenses/vendor/llhttp/LICENSE,sha256=68qFTgE0zSVtZzYnwgSZ9CV363S6zwi58ltianPJEnc,1105
654
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/METADATA,sha256=ohV0YRJDiQMjtAViNzumXljaLwMz4BLFmVDJXrqw6cU,8135
655
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
656
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
657
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/RECORD,sha256=ZPZocvJA8HMvBLI6WQEL0f-QHd_gEM8uOyP8M-j9bAk,9922
658
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/WHEEL,sha256=8dLfIaEdZhvKMcxjctjlRF9OMhsXJ-Ot8dAcG4hIc8U,193
659
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/top_level.txt,sha256=iv-JIaacmTl-hSho3QmphcKnbRRYx1st47yjz_178Ro,8
660
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/licenses/LICENSE.txt,sha256=n4DQ2311WpQdtFchcsJw7L2PCCuiFd3QlZhZQu2Uqes,588
661
+ ray/_private/runtime_env/agent/thirdparty_files/aiohttp-3.13.1.dist-info/licenses/vendor/llhttp/LICENSE,sha256=68qFTgE0zSVtZzYnwgSZ9CV363S6zwi58ltianPJEnc,1105
662
662
  ray/_private/runtime_env/agent/thirdparty_files/aiosignal/__init__.py,sha256=TIkmUG9HTBt4dfq2nISYBiZiRB2xwvFtEZydLP0HPL4,1537
663
663
  ray/_private/runtime_env/agent/thirdparty_files/aiosignal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
664
664
  ray/_private/runtime_env/agent/thirdparty_files/aiohappyeyeballs/__init__.py,sha256=x7kktHEtaD9quBcWDJPuLeKyjuVAI-Jj14S9B_5hcTs,361
@@ -1169,7 +1169,7 @@ ray/data/datasource/file_datasink.py,sha256=_2HQ27fFU2bLe8qbBzE0N9Swo17bvR26MrHB
1169
1169
  ray/data/extensions/__init__.py,sha256=wfJu5w7Offu__LsrBGAR41UlKlZ1exB9TRLWjbuTgWg,1187
1170
1170
  ray/data/extensions/object_extension.py,sha256=ZUSj0p2sfBBShI3mi3on2S7Z66H_Fj-4AM9i42t9-Gs,301
1171
1171
  ray/data/extensions/tensor_extension.py,sha256=xeEYpd5EgkEbCe1ufWiuKvinnZ5L7Q_1S_7re6s7V00,476
1172
- ray/thirdparty_files/setproctitle.cpython-312-aarch64-linux-gnu.so,sha256=1-Q2Xicu572_8DzqQLFyiWMmsoqlDuXTYusjDAcFQ68,121568
1172
+ ray/thirdparty_files/setproctitle.cpython-312-aarch64-linux-gnu.so,sha256=URh__Mn8q9m4pfpbwmGDaecaAksvxNsVWTtzlcLKksQ,121568
1173
1173
  ray/thirdparty_files/colorama/__init__.py,sha256=wePQA4U20tKgYARySLEC047ucNX-g8pRLpYBuiHlLb8,266
1174
1174
  ray/thirdparty_files/colorama/win32.py,sha256=YQOKwMTwtGBbsY4dL5HYTvwTeP9wIQra5MvPNddpxZs,6181
1175
1175
  ray/thirdparty_files/colorama/initialise.py,sha256=-hIny86ClXo39ixh5iSCfUIa2f_h_bgKRDW7gqs-KLU,3325
@@ -1179,7 +1179,7 @@ ray/thirdparty_files/colorama/ansitowin32.py,sha256=vPNYa3OZbxjbuFyaVo0Tmhmy1FZ1
1179
1179
  ray/thirdparty_files/setproctitle-1.2.2.dist-info/METADATA,sha256=IurbEmxkQM4cI4dZKyMLG8M0iQ6T09YxrrxcU4tnhYc,9051
1180
1180
  ray/thirdparty_files/setproctitle-1.2.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1181
1181
  ray/thirdparty_files/setproctitle-1.2.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
1182
- ray/thirdparty_files/setproctitle-1.2.2.dist-info/RECORD,sha256=k7gTTul1DzNKFsMOGfMv-5SnrjTfMkLjEYhA5slpa6E,614
1182
+ ray/thirdparty_files/setproctitle-1.2.2.dist-info/RECORD,sha256=NDlaOX8UU7O-iYgBdqL_oSif20EAq0xerVgb6jPU7bw,614
1183
1183
  ray/thirdparty_files/setproctitle-1.2.2.dist-info/WHEEL,sha256=xE3PuARYsVtb7ZQbPf6CS6UZKDUD4sbC67vgnAhSzJ4,105
1184
1184
  ray/thirdparty_files/setproctitle-1.2.2.dist-info/top_level.txt,sha256=khlu2SuNEK2Ct594XhMTT62ll8p0oFza-4dmzUFTBhQ,13
1185
1185
  ray/thirdparty_files/psutil/_psposix.py,sha256=5pBE2Mk8LCWLthOpgKM5_S6AJOSankF0dHrozwtDi-Y,7141
@@ -1,4 +1,4 @@
1
- __version__ = "3.13.0"
1
+ __version__ = "3.13.1"
2
2
 
3
3
  from typing import TYPE_CHECKING, Tuple
4
4
 
@@ -98,7 +98,9 @@ from .helpers import (
98
98
  EMPTY_BODY_METHODS,
99
99
  BasicAuth,
100
100
  TimeoutHandle,
101
+ basicauth_from_netrc,
101
102
  get_env_proxy_for_url,
103
+ netrc_from_env,
102
104
  sentinel,
103
105
  strip_auth_from_url,
104
106
  )
@@ -657,6 +659,20 @@ class ClientSession:
657
659
  )
658
660
  ):
659
661
  auth = self._default_auth
662
+
663
+ # Try netrc if auth is still None and trust_env is enabled.
664
+ # Only check if NETRC environment variable is set to avoid
665
+ # creating an expensive executor job unnecessarily.
666
+ if (
667
+ auth is None
668
+ and self._trust_env
669
+ and url.host is not None
670
+ and os.environ.get("NETRC")
671
+ ):
672
+ auth = await self._loop.run_in_executor(
673
+ None, self._get_netrc_auth, url.host
674
+ )
675
+
660
676
  # It would be confusing if we support explicit
661
677
  # Authorization header with auth argument
662
678
  if (
@@ -1211,6 +1227,19 @@ class ClientSession:
1211
1227
  added_names.add(key)
1212
1228
  return result
1213
1229
 
1230
+ def _get_netrc_auth(self, host: str) -> Optional[BasicAuth]:
1231
+ """
1232
+ Get auth from netrc for the given host.
1233
+
1234
+ This method is designed to be called in an executor to avoid
1235
+ blocking I/O in the event loop.
1236
+ """
1237
+ netrc_obj = netrc_from_env()
1238
+ try:
1239
+ return basicauth_from_netrc(netrc_obj, host)
1240
+ except LookupError:
1241
+ return None
1242
+
1214
1243
  if sys.version_info >= (3, 11) and TYPE_CHECKING:
1215
1244
 
1216
1245
  def get(
@@ -53,8 +53,6 @@ from .helpers import (
53
53
  BasicAuth,
54
54
  HeadersMixin,
55
55
  TimerNoop,
56
- basicauth_from_netrc,
57
- netrc_from_env,
58
56
  noop,
59
57
  reify,
60
58
  sentinel,
@@ -1164,10 +1162,6 @@ class ClientRequest:
1164
1162
  """Set basic auth."""
1165
1163
  if auth is None:
1166
1164
  auth = self.auth
1167
- if auth is None and trust_env and self.url.host is not None:
1168
- netrc_obj = netrc_from_env()
1169
- with contextlib.suppress(LookupError):
1170
- auth = basicauth_from_netrc(netrc_obj, self.url.host)
1171
1165
  if auth is None:
1172
1166
  return
1173
1167
 
@@ -21,17 +21,16 @@ try:
21
21
  except ImportError: # pragma: no cover
22
22
  HAS_BROTLI = False
23
23
 
24
- if sys.version_info >= (3, 14):
25
- import compression.zstd # noqa: I900
24
+ try:
25
+ if sys.version_info >= (3, 14):
26
+ from compression.zstd import ZstdDecompressor # noqa: I900
27
+ else: # TODO(PY314): Remove mentions of backports.zstd across codebase
28
+ from backports.zstd import ZstdDecompressor
26
29
 
27
30
  HAS_ZSTD = True
28
- else:
29
- try:
30
- import zstandard
31
+ except ImportError:
32
+ HAS_ZSTD = False
31
33
 
32
- HAS_ZSTD = True
33
- except ImportError:
34
- HAS_ZSTD = False
35
34
 
36
35
  MAX_SYNC_CHUNK_SIZE = 1024
37
36
 
@@ -295,12 +294,9 @@ class ZSTDDecompressor:
295
294
  if not HAS_ZSTD:
296
295
  raise RuntimeError(
297
296
  "The zstd decompression is not available. "
298
- "Please install `zstandard` module"
297
+ "Please install `backports.zstd` module"
299
298
  )
300
- if sys.version_info >= (3, 14):
301
- self._obj = compression.zstd.ZstdDecompressor()
302
- else:
303
- self._obj = zstandard.ZstdDecompressor()
299
+ self._obj = ZstdDecompressor()
304
300
 
305
301
  def decompress_sync(self, data: bytes) -> bytes:
306
302
  return self._obj.decompress(data)
@@ -17,7 +17,9 @@ import time
17
17
  import weakref
18
18
  from collections import namedtuple
19
19
  from contextlib import suppress
20
+ from email.message import EmailMessage
20
21
  from email.parser import HeaderParser
22
+ from email.policy import HTTP
21
23
  from email.utils import parsedate
22
24
  from math import ceil
23
25
  from pathlib import Path
@@ -357,14 +359,40 @@ def parse_mimetype(mimetype: str) -> MimeType:
357
359
  )
358
360
 
359
361
 
362
+ class EnsureOctetStream(EmailMessage):
363
+ def __init__(self) -> None:
364
+ super().__init__()
365
+ # https://www.rfc-editor.org/rfc/rfc9110#section-8.3-5
366
+ self.set_default_type("application/octet-stream")
367
+
368
+ def get_content_type(self) -> str:
369
+ """Re-implementation from Message
370
+
371
+ Returns application/octet-stream in place of plain/text when
372
+ value is wrong.
373
+
374
+ The way this class is used guarantees that content-type will
375
+ be present so simplify the checks wrt to the base implementation.
376
+ """
377
+ value = self.get("content-type", "").lower()
378
+
379
+ # Based on the implementation of _splitparam in the standard library
380
+ ctype, _, _ = value.partition(";")
381
+ ctype = ctype.strip()
382
+ if ctype.count("/") != 1:
383
+ return self.get_default_type()
384
+ return ctype
385
+
386
+
360
387
  @functools.lru_cache(maxsize=56)
361
388
  def parse_content_type(raw: str) -> Tuple[str, MappingProxyType[str, str]]:
362
389
  """Parse Content-Type header.
363
390
 
364
391
  Returns a tuple of the parsed content type and a
365
- MappingProxyType of parameters.
392
+ MappingProxyType of parameters. The default returned value
393
+ is `application/octet-stream`
366
394
  """
367
- msg = HeaderParser().parsestr(f"Content-Type: {raw}")
395
+ msg = HeaderParser(EnsureOctetStream, policy=HTTP).parsestr(f"Content-Type: {raw}")
368
396
  content_type = msg.get_content_type()
369
397
  params = msg.get_params(())
370
398
  content_dict = dict(params[1:]) # First element is content type again
@@ -980,7 +980,7 @@ class DeflateBuffer:
980
980
  if not HAS_ZSTD:
981
981
  raise ContentEncodingError(
982
982
  "Can not decode content-encoding: zstandard (zstd). "
983
- "Please install `zstandard`"
983
+ "Please install `backports.zstd`"
984
984
  )
985
985
  self.decompressor = ZSTDDecompressor()
986
986
  else:
@@ -309,18 +309,12 @@ async def _run_app(
309
309
  port: Optional[int] = None,
310
310
  path: Union[PathLike, TypingIterable[PathLike], None] = None,
311
311
  sock: Optional[Union[socket.socket, TypingIterable[socket.socket]]] = None,
312
- shutdown_timeout: float = 60.0,
313
- keepalive_timeout: float = 75.0,
314
312
  ssl_context: Optional[SSLContext] = None,
315
313
  print: Optional[Callable[..., None]] = print,
316
314
  backlog: int = 128,
317
- access_log_class: Type[AbstractAccessLogger] = AccessLogger,
318
- access_log_format: str = AccessLogger.LOG_FORMAT,
319
- access_log: Optional[logging.Logger] = access_logger,
320
- handle_signals: bool = True,
321
315
  reuse_address: Optional[bool] = None,
322
316
  reuse_port: Optional[bool] = None,
323
- handler_cancellation: bool = False,
317
+ **kwargs: Any, # TODO(PY311): Use Unpack
324
318
  ) -> None:
325
319
  # An internal function to actually do all dirty job for application running
326
320
  if asyncio.iscoroutine(app):
@@ -328,16 +322,7 @@ async def _run_app(
328
322
 
329
323
  app = cast(Application, app)
330
324
 
331
- runner = AppRunner(
332
- app,
333
- handle_signals=handle_signals,
334
- access_log_class=access_log_class,
335
- access_log_format=access_log_format,
336
- access_log=access_log,
337
- keepalive_timeout=keepalive_timeout,
338
- shutdown_timeout=shutdown_timeout,
339
- handler_cancellation=handler_cancellation,
340
- )
325
+ runner = AppRunner(app, **kwargs)
341
326
 
342
327
  await runner.setup()
343
328
 
@@ -484,6 +469,7 @@ def run_app(
484
469
  reuse_port: Optional[bool] = None,
485
470
  handler_cancellation: bool = False,
486
471
  loop: Optional[asyncio.AbstractEventLoop] = None,
472
+ **kwargs: Any,
487
473
  ) -> None:
488
474
  """Run an app locally"""
489
475
  if loop is None:
@@ -515,6 +501,7 @@ def run_app(
515
501
  reuse_address=reuse_address,
516
502
  reuse_port=reuse_port,
517
503
  handler_cancellation=handler_cancellation,
504
+ **kwargs,
518
505
  )
519
506
  )
520
507
 
@@ -1034,6 +1034,21 @@ class UrlDispatcher(AbstractRouter, Mapping[str, AbstractResource]):
1034
1034
  resource_index = self._resource_index
1035
1035
  allowed_methods: Set[str] = set()
1036
1036
 
1037
+ # MatchedSubAppResource is primarily used to match on domain names
1038
+ # (though custom rules could match on other things). This means that
1039
+ # the traversal algorithm below can't be applied, and that we likely
1040
+ # need to check these first so a sub app that defines the same path
1041
+ # as a parent app will get priority if there's a domain match.
1042
+ #
1043
+ # For most cases we do not expect there to be many of these since
1044
+ # currently they are only added by `.add_domain()`.
1045
+ for resource in self._matched_sub_app_resources:
1046
+ match_dict, allowed = await resource.resolve(request)
1047
+ if match_dict is not None:
1048
+ return match_dict
1049
+ else:
1050
+ allowed_methods |= allowed
1051
+
1037
1052
  # Walk the url parts looking for candidates. We walk the url backwards
1038
1053
  # to ensure the most explicit match is found first. If there are multiple
1039
1054
  # candidates for a given url part because there are multiple resources
@@ -1051,21 +1066,6 @@ class UrlDispatcher(AbstractRouter, Mapping[str, AbstractResource]):
1051
1066
  break
1052
1067
  url_part = url_part.rpartition("/")[0] or "/"
1053
1068
 
1054
- #
1055
- # We didn't find any candidates, so we'll try the matched sub-app
1056
- # resources which we have to walk in a linear fashion because they
1057
- # have regex/wildcard match rules and we cannot index them.
1058
- #
1059
- # For most cases we do not expect there to be many of these since
1060
- # currently they are only added by `add_domain`
1061
- #
1062
- for resource in self._matched_sub_app_resources:
1063
- match_dict, allowed = await resource.resolve(request)
1064
- if match_dict is not None:
1065
- return match_dict
1066
- else:
1067
- allowed_methods |= allowed
1068
-
1069
1069
  if allowed_methods:
1070
1070
  return MatchInfoError(HTTPMethodNotAllowed(request.method, allowed_methods))
1071
1071
 
@@ -1,11 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohttp
3
- Version: 3.13.0
3
+ Version: 3.13.1
4
4
  Summary: Async http client/server framework (asyncio)
5
- Home-page: https://github.com/aio-libs/aiohttp
6
- Maintainer: aiohttp team <team@aiohttp.org>
7
- Maintainer-email: team@aiohttp.org
5
+ Maintainer-email: aiohttp team <team@aiohttp.org>
8
6
  License: Apache-2.0 AND MIT
7
+ Project-URL: Homepage, https://github.com/aio-libs/aiohttp
9
8
  Project-URL: Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org
10
9
  Project-URL: Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org
11
10
  Project-URL: CI: GitHub Actions, https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI
@@ -45,7 +44,7 @@ Provides-Extra: speedups
45
44
  Requires-Dist: aiodns>=3.3.0; extra == "speedups"
46
45
  Requires-Dist: Brotli; platform_python_implementation == "CPython" and extra == "speedups"
47
46
  Requires-Dist: brotlicffi; platform_python_implementation != "CPython" and extra == "speedups"
48
- Requires-Dist: zstandard; (platform_python_implementation == "CPython" and python_version < "3.14") and extra == "speedups"
47
+ Requires-Dist: backports.zstd; (platform_python_implementation == "CPython" and python_version < "3.14") and extra == "speedups"
49
48
  Dynamic: license-file
50
49
 
51
50
  ==================================
@@ -1,17 +1,17 @@
1
- aiohttp-3.13.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
- aiohttp-3.13.0.dist-info/METADATA,sha256=MMgGAtplXaCYPIJajnkzKVOSQolGCMLIMMhrr1XaCLM,8147
3
- aiohttp-3.13.0.dist-info/RECORD,,
4
- aiohttp-3.13.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- aiohttp-3.13.0.dist-info/WHEEL,sha256=8dLfIaEdZhvKMcxjctjlRF9OMhsXJ-Ot8dAcG4hIc8U,193
6
- aiohttp-3.13.0.dist-info/licenses/LICENSE.txt,sha256=n4DQ2311WpQdtFchcsJw7L2PCCuiFd3QlZhZQu2Uqes,588
7
- aiohttp-3.13.0.dist-info/licenses/vendor/llhttp/LICENSE,sha256=68qFTgE0zSVtZzYnwgSZ9CV363S6zwi58ltianPJEnc,1105
8
- aiohttp-3.13.0.dist-info/top_level.txt,sha256=iv-JIaacmTl-hSho3QmphcKnbRRYx1st47yjz_178Ro,8
1
+ aiohttp-3.13.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
+ aiohttp-3.13.1.dist-info/METADATA,sha256=ohV0YRJDiQMjtAViNzumXljaLwMz4BLFmVDJXrqw6cU,8135
3
+ aiohttp-3.13.1.dist-info/RECORD,,
4
+ aiohttp-3.13.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ aiohttp-3.13.1.dist-info/WHEEL,sha256=8dLfIaEdZhvKMcxjctjlRF9OMhsXJ-Ot8dAcG4hIc8U,193
6
+ aiohttp-3.13.1.dist-info/licenses/LICENSE.txt,sha256=n4DQ2311WpQdtFchcsJw7L2PCCuiFd3QlZhZQu2Uqes,588
7
+ aiohttp-3.13.1.dist-info/licenses/vendor/llhttp/LICENSE,sha256=68qFTgE0zSVtZzYnwgSZ9CV363S6zwi58ltianPJEnc,1105
8
+ aiohttp-3.13.1.dist-info/top_level.txt,sha256=iv-JIaacmTl-hSho3QmphcKnbRRYx1st47yjz_178Ro,8
9
9
  aiohttp/.hash/_cparser.pxd.hash,sha256=pjs-sEXNw_eijXGAedwG-BHnlFp8B7sOCgUagIWaU2A,121
10
10
  aiohttp/.hash/_find_header.pxd.hash,sha256=_mbpD6vM-CVCKq3ulUvsOAz5Wdo88wrDzfpOsMQaMNA,125
11
11
  aiohttp/.hash/_http_parser.pyx.hash,sha256=ju4DG_uNv8rTD6pu3IunE1ysx3ZbH4OjiQHUb_URSoA,125
12
12
  aiohttp/.hash/_http_writer.pyx.hash,sha256=9txOh7t7c3y-vLmiuEY5dltmXvEo0CYyU4U853yyv9E,125
13
13
  aiohttp/.hash/hdrs.py.hash,sha256=v6IaKbsxjsdQxBzhb5AjP0x_9G3rUe84D7avf7AI4cs,116
14
- aiohttp/__init__.py,sha256=V8eLpNvuyUF7ZLcqI6e1ydaeZSwnDQZXcL_ouRH-mCo,8302
14
+ aiohttp/__init__.py,sha256=mzVOT0ZynvvN9RnDC_TZSLQmII3JiGsjo2ZwoCFf5LU,8302
15
15
  aiohttp/__pycache__/__init__.cpython-312.pyc,,
16
16
  aiohttp/__pycache__/_cookie_helpers.cpython-312.pyc,,
17
17
  aiohttp/__pycache__/abc.cpython-312.pyc,,
@@ -92,22 +92,22 @@ aiohttp/_websocket/reader_py.py,sha256=gSsE_iSBr7-ORvOmgkCT7Jpj4_j3854i_Cp88Se1_
92
92
  aiohttp/_websocket/writer.py,sha256=9qCnQnCFwPmvf6U6i_7VfTldjpcDfQ_ojeCv5mXoMkw,7139
93
93
  aiohttp/abc.py,sha256=M66F4S6m00bIEn7y4ha_XLTMDmVQ9dPihfOVB0pGfOo,7149
94
94
  aiohttp/base_protocol.py,sha256=Tp8cxUPQvv9kUPk3w6lAzk6d2MAzV3scwI_3Go3C47c,3025
95
- aiohttp/client.py,sha256=UmwwoDurmDDvxTwa4e1VElko4mc8_Snsvs3CA6SE-kc,57584
95
+ aiohttp/client.py,sha256=nYTIOdQgmeXb6qLqg7zeO4DZBSP6omK1vNQAELG3fdg,58656
96
96
  aiohttp/client_exceptions.py,sha256=uyKbxI2peZhKl7lELBMx3UeusNkfpemPWpGFq0r6JeM,11367
97
97
  aiohttp/client_middleware_digest_auth.py,sha256=BIoQJ5eWL5NNkPOmezTGrceWIho8ETDvS8NKvX-3Xdw,17088
98
98
  aiohttp/client_middlewares.py,sha256=kP5N9CMzQPMGPIEydeVUiLUTLsw8Vl8Gr4qAWYdu3vM,1918
99
99
  aiohttp/client_proto.py,sha256=56_WtLStZGBFPYKzgEgY6v24JkhV1y6JEmmuxeJT2So,12110
100
- aiohttp/client_reqrep.py,sha256=ckYUCHgbyr23-ypiZYNxvIQTsMpMVtoTLniNij4OlXg,53668
100
+ aiohttp/client_reqrep.py,sha256=eEREDrZ0M8ZFTt1wjHduR-P8_sm40K65gNz-iMGYask,53391
101
101
  aiohttp/client_ws.py,sha256=1CIjIXwyzOMIYw6AjUES4-qUwbyVHW1seJKQfg_Rta8,15109
102
- aiohttp/compression_utils.py,sha256=JvEDGV2QXjYXT4Q_rjr1su-SrENoSjHiuDAScr05fJk,9632
102
+ aiohttp/compression_utils.py,sha256=skLoJxkQoKmFgrPshkMNWf2zMso2w97EK44a1SvnU_U,9600
103
103
  aiohttp/connector.py,sha256=WQetKoSW7XnHA9r4o9OWwO3-n7ymOwBd2Tg_xHNw0Bs,68456
104
104
  aiohttp/cookiejar.py,sha256=e28ZMQwJ5P0vbPX1OX4Se7-k3zeGvocFEqzGhwpG53k,18922
105
105
  aiohttp/formdata.py,sha256=xqYMbUo1qoLYPuzY92XeR4pyEe-w-DNcToARDF3GUhA,6384
106
106
  aiohttp/hdrs.py,sha256=2rj5MyA-6yRdYPhW5UKkW4iNWhEAlGIOSBH5D4FmKNE,5111
107
- aiohttp/helpers.py,sha256=bblNEhp4hFimEmxMdPNxEluBY17L5YUArHYvoxzoEe4,29614
107
+ aiohttp/helpers.py,sha256=Q1307PCEnWz4RP8crUw8dk58c0YF2Ei3JywkKfRxz5E,30629
108
108
  aiohttp/http.py,sha256=8o8j8xH70OWjnfTWA9V44NR785QPxEPrUtzMXiAVpwc,1842
109
109
  aiohttp/http_exceptions.py,sha256=AZafFHgtAkAgrKZf8zYPU8VX2dq32-VAoP-UZxBLU0c,2960
110
- aiohttp/http_parser.py,sha256=nXizX63zytOxjVyEds0CPuvFKa9MY96Zfv5hpZjPAhY,37372
110
+ aiohttp/http_parser.py,sha256=fACBNI47n9hnVPWfm5AJufuezsoYOF_VLp4bptYjvQI,37377
111
111
  aiohttp/http_websocket.py,sha256=8VXFKw6KQUEmPg48GtRMB37v0gTK7A0inoxXuDxMZEc,842
112
112
  aiohttp/http_writer.py,sha256=fbRtKPYSqRbtAdr_gqpjF2-4sI1ESL8dPDF-xY_mAMY,12446
113
113
  aiohttp/log.py,sha256=BbNKx9e3VMIm0xYjZI0IcBBoS7wjdeIeSaiJE7-qK2g,325
@@ -122,7 +122,7 @@ aiohttp/tcp_helpers.py,sha256=BSadqVWaBpMFDRWnhaaR941N9MiDZ7bdTrxgCb0CW-M,961
122
122
  aiohttp/test_utils.py,sha256=ZJSzZWjC76KSbtwddTKcP6vHpUl_ozfAf3F93ewmHRU,23016
123
123
  aiohttp/tracing.py,sha256=-6aaW6l0J9uJD45LzR4cijYH0j62pt0U_nn_aVzFku4,14558
124
124
  aiohttp/typedefs.py,sha256=wUlqwe9Mw9W8jT3HsYJcYk00qP3EMPz3nTkYXmeNN48,1657
125
- aiohttp/web.py,sha256=sG_U41AY4S_LBY9sReiBzXKJRZpXk8xgiE_l5S_UPPg,18390
125
+ aiohttp/web.py,sha256=JzSNmejg5G6YeFAnkIgZfytqbU86sNu844yYKmoUpqs,17852
126
126
  aiohttp/web_app.py,sha256=lGU_aAMN-h3wy-LTTHi6SeKH8ydt1G51BXcCspgD5ZA,19452
127
127
  aiohttp/web_exceptions.py,sha256=7nIuiwhZ39vJJ9KrWqArA5QcWbUdqkz2CLwEpJapeN8,10360
128
128
  aiohttp/web_fileresponse.py,sha256=Xzau8EMrWNrFg3u46h4UEteg93G4zYq94CU6vy0HiqE,16362
@@ -134,6 +134,6 @@ aiohttp/web_response.py,sha256=PKcziNU4LmftXqKVvoRMrAbOeVClpSN-iznHsiWezmU,29341
134
134
  aiohttp/web_routedef.py,sha256=VT1GAx6BrawoDh5RwBwBu5wSABSqgWwAe74AUCyZAEo,6110
135
135
  aiohttp/web_runner.py,sha256=v1G1nKiOOQgFnTSR4IMc6I9ReEFDMaHtMLvO_roDM-A,11786
136
136
  aiohttp/web_server.py,sha256=-9WDKUAiR9ll-rSdwXSqG6YjaoW79d1R4y0BGSqgUMA,2888
137
- aiohttp/web_urldispatcher.py,sha256=abp8PZnSfXPB89vS_9kJUenrXOu48bjTEjbHndXZ_48,44060
137
+ aiohttp/web_urldispatcher.py,sha256=3ryu1ZOpcq79IYNMd6EjYWmQ_i6JbsJzS_IaV0yoYBg,44203
138
138
  aiohttp/web_ws.py,sha256=lItgmyatkXh0M6EY7JoZnSZkUl6R0wv8B88X4ILqQbU,22739
139
139
  aiohttp/worker.py,sha256=zT0iWN5Xze194bO6_VjHou0x7lR_k0MviN6Kadnk22g,8152
@@ -4,4 +4,4 @@ setproctitle-1.2.2.dist-info/RECORD,,
4
4
  setproctitle-1.2.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  setproctitle-1.2.2.dist-info/WHEEL,sha256=xE3PuARYsVtb7ZQbPf6CS6UZKDUD4sbC67vgnAhSzJ4,105
6
6
  setproctitle-1.2.2.dist-info/top_level.txt,sha256=khlu2SuNEK2Ct594XhMTT62ll8p0oFza-4dmzUFTBhQ,13
7
- setproctitle.cpython-312-aarch64-linux-gnu.so,sha256=1-Q2Xicu572_8DzqQLFyiWMmsoqlDuXTYusjDAcFQ68,121568
7
+ setproctitle.cpython-312-aarch64-linux-gnu.so,sha256=URh__Mn8q9m4pfpbwmGDaecaAksvxNsVWTtzlcLKksQ,121568