rnet 3.0.0rc8__tar.gz → 3.0.0rc9__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.
Potentially problematic release.
This version of rnet might be problematic. Click here for more details.
- rnet-3.0.0rc9/.github/dependabot.yml +22 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.github/workflows/ci.yml +126 -28
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/Cargo.lock +27 -21
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/Cargo.toml +4 -3
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/PKG-INFO +4 -2
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/README.md +3 -1
- rnet-3.0.0rc8/.github/dependabot.yml +0 -11
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.github/FUNDING.yml +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.github/assets/capsolver.jpg +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.github/assets/hypersolutions.jpg +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.github/musl_build.sh +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/.gitignore +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/LICENSE +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/pyproject.toml +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/README.md +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/bench.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/benchmark_multi.jpg +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/benchmark_multi_threaded.jpg +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/benchmark_results.csv +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/chart.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/core.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/requirements.txt +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/benchmark/server.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/auth.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/basic_auth.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/bearer_auth.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/auth.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/basic_auth.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/bearer_auth.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/body.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/client.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/cookie.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/emulation.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/form.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/get.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/json.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/multipart.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/proxy.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/query.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/blocking/stream.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/body.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/client.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/emulation.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/exceptions.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/form.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/get.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/header_map.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/http1_websocket.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/http2_websocket.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/json.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/keylog.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/multipart.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/orig_headers.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/proxy.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/query.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/request.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/examples/stream.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/__init__.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/__init__.pyi +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/blocking.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/cookie.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/emulation.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/exceptions.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/header.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/http1.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/http2.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/py.typed +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/python/rnet/tls.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/bridge/mod.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/bridge/sync.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/bridge/task.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/buffer.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/body/mod.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/body/multipart.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/dns.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/mod.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/nogil.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/req.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/resp/history.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/resp/http.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/resp/mod.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/resp/stream.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/resp/ws/cmd.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/resp/ws/mod.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/client/resp/ws/msg.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/emulation.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/error.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/extractor.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/http/cookie.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/http/header.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/http/mod.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/http/status.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/http1.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/http2.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/lib.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/macros.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/proxy.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/tls/identity.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/tls/keylog.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/tls/mod.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/src/tls/store.rs +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/tests/cookie_test.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/tests/header_test.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/tests/redirect_test.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/tests/request_test.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/tests/response_test.py +0 -0
- {rnet-3.0.0rc8 → rnet-3.0.0rc9}/tests/tls_test.py +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "github-actions"
|
|
9
|
+
# Workflow files stored in the
|
|
10
|
+
# default location of `.github/workflows`
|
|
11
|
+
directory: "/"
|
|
12
|
+
schedule:
|
|
13
|
+
interval: "weekly"
|
|
14
|
+
- package-ecosystem: "cargo"
|
|
15
|
+
directory: "/"
|
|
16
|
+
schedule:
|
|
17
|
+
interval: "weekly"
|
|
18
|
+
# todo: if only this worked, see https://github.com/dependabot/dependabot-core/issues/4009
|
|
19
|
+
# only tell us if there's a new 'breaking' change we could upgrade to
|
|
20
|
+
# versioning-strategy: increase-if-necessary
|
|
21
|
+
# disable regular version updates, security updates are unaffected
|
|
22
|
+
open-pull-requests-limit: 0
|
|
@@ -20,9 +20,6 @@ on:
|
|
|
20
20
|
- 'README.md'
|
|
21
21
|
workflow_dispatch:
|
|
22
22
|
|
|
23
|
-
env:
|
|
24
|
-
MATURIIN_ARGS: '--find-interpreter'
|
|
25
|
-
|
|
26
23
|
concurrency:
|
|
27
24
|
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
|
|
28
25
|
cancel-in-progress: true
|
|
@@ -36,7 +33,7 @@ jobs:
|
|
|
36
33
|
name: style
|
|
37
34
|
runs-on: ubuntu-latest
|
|
38
35
|
steps:
|
|
39
|
-
- uses: actions/checkout@
|
|
36
|
+
- uses: actions/checkout@v5
|
|
40
37
|
|
|
41
38
|
- uses: actions-rs/toolchain@v1
|
|
42
39
|
with:
|
|
@@ -49,16 +46,17 @@ jobs:
|
|
|
49
46
|
|
|
50
47
|
- name: Clippy check
|
|
51
48
|
run: cargo clippy --all-targets --all-features
|
|
49
|
+
|
|
52
50
|
tests:
|
|
53
51
|
runs-on: ubuntu-latest
|
|
54
52
|
steps:
|
|
55
|
-
- uses: actions/checkout@
|
|
56
|
-
- uses: actions/setup-python@
|
|
53
|
+
- uses: actions/checkout@v5
|
|
54
|
+
- uses: actions/setup-python@v6
|
|
57
55
|
with:
|
|
58
56
|
python-version: 3.x
|
|
59
57
|
architecture: ${{ matrix.platform.target }}
|
|
60
58
|
- name: Install the latest version of uv
|
|
61
|
-
uses: astral-sh/setup-uv@
|
|
59
|
+
uses: astral-sh/setup-uv@v6
|
|
62
60
|
- name: Set up virtual environment
|
|
63
61
|
run: |
|
|
64
62
|
uv venv
|
|
@@ -74,11 +72,17 @@ jobs:
|
|
|
74
72
|
run: |
|
|
75
73
|
source .venv/bin/activate
|
|
76
74
|
pytest
|
|
75
|
+
|
|
77
76
|
manylinux:
|
|
78
77
|
runs-on: ${{ matrix.platform.runner }}
|
|
79
78
|
strategy:
|
|
80
79
|
fail-fast: false
|
|
81
80
|
matrix:
|
|
81
|
+
build_type:
|
|
82
|
+
- name: standard
|
|
83
|
+
maturin_args: "--find-interpreter"
|
|
84
|
+
- name: free-threaded
|
|
85
|
+
maturin_args: "--interpreter 3.13t 3.14t"
|
|
82
86
|
platform:
|
|
83
87
|
- runner: ubuntu-latest
|
|
84
88
|
target: x86_64
|
|
@@ -110,8 +114,8 @@ jobs:
|
|
|
110
114
|
CXX: arm-linux-gnueabihf-g++
|
|
111
115
|
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-g++
|
|
112
116
|
steps:
|
|
113
|
-
- uses: actions/checkout@
|
|
114
|
-
- uses: actions/setup-python@
|
|
117
|
+
- uses: actions/checkout@v5
|
|
118
|
+
- uses: actions/setup-python@v6
|
|
115
119
|
with:
|
|
116
120
|
python-version: 3.x
|
|
117
121
|
- name: Install LLVM and Clang
|
|
@@ -126,7 +130,7 @@ jobs:
|
|
|
126
130
|
with:
|
|
127
131
|
rust-toolchain: stable
|
|
128
132
|
target: ${{ matrix.platform.target }}
|
|
129
|
-
args: ${{ matrix.platform.target == 'x86_64' && '--release --out dist --zig' || '--release --out dist' }} ${{
|
|
133
|
+
args: ${{ matrix.platform.target == 'x86_64' && '--release --out dist --zig' || '--release --out dist' }} ${{ matrix.build_type.maturin_args }} --features ${{ matrix.platform.allocator }}
|
|
130
134
|
sccache: 'false'
|
|
131
135
|
manylinux: auto
|
|
132
136
|
container: 'off'
|
|
@@ -134,7 +138,7 @@ jobs:
|
|
|
134
138
|
- name: Upload wheels
|
|
135
139
|
uses: actions/upload-artifact@v4
|
|
136
140
|
with:
|
|
137
|
-
name: wheels-linux-${{ matrix.platform.target }}
|
|
141
|
+
name: wheels-linux-${{ matrix.platform.target }}-${{ matrix.build_type.name }}
|
|
138
142
|
path: dist
|
|
139
143
|
|
|
140
144
|
musllinux:
|
|
@@ -142,6 +146,11 @@ jobs:
|
|
|
142
146
|
environment: MuslLinux
|
|
143
147
|
strategy:
|
|
144
148
|
matrix:
|
|
149
|
+
build_type:
|
|
150
|
+
- name: standard
|
|
151
|
+
maturin_args: "--find-interpreter"
|
|
152
|
+
- name: free-threaded
|
|
153
|
+
maturin_args: "--interpreter 3.13t 3.14t"
|
|
145
154
|
platform:
|
|
146
155
|
- runner: ubuntu-22.04
|
|
147
156
|
target: x86_64-unknown-linux-musl
|
|
@@ -156,14 +165,14 @@ jobs:
|
|
|
156
165
|
target: i686-unknown-linux-musl
|
|
157
166
|
allocator: jemalloc
|
|
158
167
|
steps:
|
|
159
|
-
- uses: actions/checkout@
|
|
168
|
+
- uses: actions/checkout@v5
|
|
160
169
|
- name: Build wheels
|
|
161
170
|
run:
|
|
162
|
-
bash .github/musl_build.sh ${{ matrix.platform.target }} "${{
|
|
171
|
+
bash .github/musl_build.sh ${{ matrix.platform.target }} "${{ matrix.build_type.maturin_args }}" --features "${{ matrix.platform.allocator }}"
|
|
163
172
|
- name: Upload wheels
|
|
164
173
|
uses: actions/upload-artifact@v4
|
|
165
174
|
with:
|
|
166
|
-
name: wheels-musllinux-${{ matrix.platform.target }}
|
|
175
|
+
name: wheels-musllinux-${{ matrix.platform.target }}-${{ matrix.build_type.name }}
|
|
167
176
|
path: dist
|
|
168
177
|
|
|
169
178
|
windows:
|
|
@@ -171,6 +180,11 @@ jobs:
|
|
|
171
180
|
environment: Windows
|
|
172
181
|
strategy:
|
|
173
182
|
matrix:
|
|
183
|
+
build_type:
|
|
184
|
+
- name: standard
|
|
185
|
+
maturin_args: "--find-interpreter"
|
|
186
|
+
- name: free-threaded
|
|
187
|
+
maturin_args: "--interpreter 3.13t 3.14t"
|
|
174
188
|
platform:
|
|
175
189
|
- runner: windows-latest
|
|
176
190
|
target: x64
|
|
@@ -184,8 +198,8 @@ jobs:
|
|
|
184
198
|
target: aarch64
|
|
185
199
|
allocator: mimalloc
|
|
186
200
|
steps:
|
|
187
|
-
- uses: actions/checkout@
|
|
188
|
-
- uses: actions/setup-python@
|
|
201
|
+
- uses: actions/checkout@v5
|
|
202
|
+
- uses: actions/setup-python@v6
|
|
189
203
|
with:
|
|
190
204
|
python-version: 3.x
|
|
191
205
|
architecture: ${{ matrix.platform.python-architecture || 'x64' }}
|
|
@@ -196,13 +210,14 @@ jobs:
|
|
|
196
210
|
- name: Build wheels
|
|
197
211
|
uses: PyO3/maturin-action@v1
|
|
198
212
|
with:
|
|
213
|
+
maturin-version: v1.9.4
|
|
199
214
|
target: ${{ matrix.platform.target }}
|
|
200
|
-
args: --release --out dist ${{
|
|
201
|
-
sccache: '
|
|
215
|
+
args: --release --out dist ${{ matrix.build_type.maturin_args }} --features ${{ matrix.platform.allocator || '' }}
|
|
216
|
+
sccache: 'false'
|
|
202
217
|
- name: Upload wheels
|
|
203
218
|
uses: actions/upload-artifact@v4
|
|
204
219
|
with:
|
|
205
|
-
name: wheels-windows-${{ matrix.platform.target }}
|
|
220
|
+
name: wheels-windows-${{ matrix.platform.target }}-${{ matrix.build_type.name }}
|
|
206
221
|
path: dist
|
|
207
222
|
|
|
208
223
|
macos:
|
|
@@ -210,6 +225,11 @@ jobs:
|
|
|
210
225
|
environment: MacOS
|
|
211
226
|
strategy:
|
|
212
227
|
matrix:
|
|
228
|
+
build_type:
|
|
229
|
+
- name: standard
|
|
230
|
+
maturin_args: "--find-interpreter"
|
|
231
|
+
- name: free-threaded
|
|
232
|
+
maturin_args: "--interpreter 3.13t 3.14t"
|
|
213
233
|
platform:
|
|
214
234
|
- runner: macos-13
|
|
215
235
|
target: x86_64
|
|
@@ -218,8 +238,8 @@ jobs:
|
|
|
218
238
|
target: aarch64
|
|
219
239
|
allocator: jemalloc
|
|
220
240
|
steps:
|
|
221
|
-
- uses: actions/checkout@
|
|
222
|
-
- uses: actions/setup-python@
|
|
241
|
+
- uses: actions/checkout@v5
|
|
242
|
+
- uses: actions/setup-python@v6
|
|
223
243
|
with:
|
|
224
244
|
python-version: 3.x
|
|
225
245
|
- uses: actions-rs/toolchain@v1
|
|
@@ -230,18 +250,96 @@ jobs:
|
|
|
230
250
|
uses: PyO3/maturin-action@v1
|
|
231
251
|
with:
|
|
232
252
|
target: ${{ matrix.platform.target }}
|
|
233
|
-
args: --release --out dist ${{
|
|
234
|
-
sccache: '
|
|
253
|
+
args: --release --out dist ${{ matrix.build_type.maturin_args }} --features ${{ matrix.platform.allocator || '' }}
|
|
254
|
+
sccache: 'false'
|
|
235
255
|
- name: Upload wheels
|
|
236
256
|
uses: actions/upload-artifact@v4
|
|
237
257
|
with:
|
|
238
|
-
name: wheels-macos-${{ matrix.platform.target }}
|
|
258
|
+
name: wheels-macos-${{ matrix.platform.target }}-${{ matrix.build_type.name }}
|
|
239
259
|
path: dist
|
|
240
260
|
|
|
261
|
+
android:
|
|
262
|
+
name: Android
|
|
263
|
+
runs-on: ubuntu-latest
|
|
264
|
+
strategy:
|
|
265
|
+
matrix:
|
|
266
|
+
include:
|
|
267
|
+
- thing: arm64-android
|
|
268
|
+
target: aarch64-linux-android
|
|
269
|
+
arch: aarch64
|
|
270
|
+
python_version: 3.14.0
|
|
271
|
+
features: abi3-py314
|
|
272
|
+
- thing: x86_64-android
|
|
273
|
+
target: x86_64-linux-android
|
|
274
|
+
arch: x86_64
|
|
275
|
+
python_version: 3.14.0
|
|
276
|
+
features: abi3-py314
|
|
277
|
+
|
|
278
|
+
steps:
|
|
279
|
+
- uses: actions/checkout@v4
|
|
280
|
+
- uses: actions/setup-python@v6
|
|
281
|
+
with:
|
|
282
|
+
python-version: 3.x
|
|
283
|
+
- name: Set Android Linker path
|
|
284
|
+
if: endsWith(matrix.thing, '-android')
|
|
285
|
+
run: |
|
|
286
|
+
LINKER_PATH="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/$(echo ${{ matrix.target }} | sed s/armv7/armv7a/)21-clang++"
|
|
287
|
+
echo "CARGO_TARGET_$(echo ${{ matrix.target }} | tr \\-a-z _A-Z)_LINKER=$LINKER_PATH" >> "$GITHUB_ENV"
|
|
288
|
+
echo "$PATH:$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin" >> "$GITHUB_PATH"
|
|
289
|
+
env
|
|
290
|
+
- name: Download and setup Android Python
|
|
291
|
+
run: |
|
|
292
|
+
wget https://www.python.org/ftp/python/${{ matrix.python_version }}/python-${{ matrix.python_version }}-${{ matrix.arch }}-linux-android.tar.gz
|
|
293
|
+
|
|
294
|
+
mkdir -p /tmp/python-android
|
|
295
|
+
tar -xzf python-${{ matrix.python_version }}-${{ matrix.arch }}-linux-android.tar.gz -C /tmp/python-android --strip-components=1
|
|
296
|
+
|
|
297
|
+
mv /tmp/python-android/prefix/lib /tmp/python-android/
|
|
298
|
+
mv /tmp/python-android/prefix/include /tmp/python-android/
|
|
299
|
+
|
|
300
|
+
echo "RUSTFLAGS=-L native=/tmp/python-android/lib" >> "$GITHUB_ENV"
|
|
301
|
+
|
|
302
|
+
echo "=== Root directory after move ==="
|
|
303
|
+
ls -la /tmp/python-android/
|
|
304
|
+
echo "=== Lib directory ==="
|
|
305
|
+
ls -la /tmp/python-android/lib/ | head -10
|
|
306
|
+
echo "=== Include directory ==="
|
|
307
|
+
ls -la /tmp/python-android/include/
|
|
308
|
+
- name: Build wheels
|
|
309
|
+
uses: PyO3/maturin-action@v1
|
|
310
|
+
with:
|
|
311
|
+
rust-toolchain: stable
|
|
312
|
+
target: ${{ matrix.target }}
|
|
313
|
+
args: --release --out dist --no-default-features --features ${{ matrix.features }} --skip-auditwheel
|
|
314
|
+
sccache: 'false'
|
|
315
|
+
container: 'off'
|
|
316
|
+
- name: Fix Android wheel platform tags
|
|
317
|
+
run: |
|
|
318
|
+
cd dist
|
|
319
|
+
for wheel in *.whl; do
|
|
320
|
+
case "$wheel" in
|
|
321
|
+
*linux_aarch64*)
|
|
322
|
+
new_wheel=${wheel/linux_aarch64/android_21_arm64_v8a}
|
|
323
|
+
mv "$wheel" "$new_wheel"
|
|
324
|
+
echo "Renamed: $wheel -> $new_wheel"
|
|
325
|
+
;;
|
|
326
|
+
*linux_x86_64*)
|
|
327
|
+
new_wheel=${wheel/linux_x86_64/android_21_x86_64}
|
|
328
|
+
mv "$wheel" "$new_wheel"
|
|
329
|
+
echo "Renamed: $wheel -> $new_wheel"
|
|
330
|
+
;;
|
|
331
|
+
esac
|
|
332
|
+
done
|
|
333
|
+
- name: Upload wheels
|
|
334
|
+
uses: actions/upload-artifact@v4
|
|
335
|
+
with:
|
|
336
|
+
name: wheels-android-${{ matrix.target }}
|
|
337
|
+
path: dist
|
|
338
|
+
|
|
241
339
|
sdist:
|
|
242
340
|
runs-on: ubuntu-latest
|
|
243
341
|
steps:
|
|
244
|
-
- uses: actions/checkout@
|
|
342
|
+
- uses: actions/checkout@v5
|
|
245
343
|
- name: Build sdist
|
|
246
344
|
uses: PyO3/maturin-action@v1
|
|
247
345
|
with:
|
|
@@ -257,7 +355,7 @@ jobs:
|
|
|
257
355
|
name: Release
|
|
258
356
|
runs-on: ubuntu-latest
|
|
259
357
|
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
|
|
260
|
-
needs: [manylinux, musllinux, windows, macos, sdist, tests, style]
|
|
358
|
+
needs: [manylinux, musllinux, windows, macos, android, sdist, tests, style]
|
|
261
359
|
permissions:
|
|
262
360
|
# Use to sign the release artifacts
|
|
263
361
|
id-token: write
|
|
@@ -266,9 +364,9 @@ jobs:
|
|
|
266
364
|
# Used to generate artifact attestation
|
|
267
365
|
attestations: write
|
|
268
366
|
steps:
|
|
269
|
-
- uses: actions/download-artifact@
|
|
367
|
+
- uses: actions/download-artifact@v5
|
|
270
368
|
- name: Generate artifact attestation
|
|
271
|
-
uses: actions/attest-build-provenance@
|
|
369
|
+
uses: actions/attest-build-provenance@v3
|
|
272
370
|
with:
|
|
273
371
|
subject-path: 'wheels-*/*'
|
|
274
372
|
- name: Publish to PyPI
|
|
@@ -414,9 +414,9 @@ checksum = "0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3"
|
|
|
414
414
|
|
|
415
415
|
[[package]]
|
|
416
416
|
name = "flate2"
|
|
417
|
-
version = "1.1.
|
|
417
|
+
version = "1.1.4"
|
|
418
418
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
419
|
-
checksum = "
|
|
419
|
+
checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9"
|
|
420
420
|
dependencies = [
|
|
421
421
|
"crc32fast",
|
|
422
422
|
"miniz_oxide",
|
|
@@ -979,11 +979,10 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
|
|
|
979
979
|
|
|
980
980
|
[[package]]
|
|
981
981
|
name = "lock_api"
|
|
982
|
-
version = "0.4.
|
|
982
|
+
version = "0.4.14"
|
|
983
983
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
984
|
-
checksum = "
|
|
984
|
+
checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
|
|
985
985
|
dependencies = [
|
|
986
|
-
"autocfg",
|
|
987
986
|
"scopeguard",
|
|
988
987
|
]
|
|
989
988
|
|
|
@@ -1046,6 +1045,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
1046
1045
|
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
|
|
1047
1046
|
dependencies = [
|
|
1048
1047
|
"adler2",
|
|
1048
|
+
"simd-adler32",
|
|
1049
1049
|
]
|
|
1050
1050
|
|
|
1051
1051
|
[[package]]
|
|
@@ -1125,9 +1125,9 @@ dependencies = [
|
|
|
1125
1125
|
|
|
1126
1126
|
[[package]]
|
|
1127
1127
|
name = "parking_lot"
|
|
1128
|
-
version = "0.12.
|
|
1128
|
+
version = "0.12.5"
|
|
1129
1129
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1130
|
-
checksum = "
|
|
1130
|
+
checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
|
|
1131
1131
|
dependencies = [
|
|
1132
1132
|
"lock_api",
|
|
1133
1133
|
"parking_lot_core",
|
|
@@ -1135,15 +1135,15 @@ dependencies = [
|
|
|
1135
1135
|
|
|
1136
1136
|
[[package]]
|
|
1137
1137
|
name = "parking_lot_core"
|
|
1138
|
-
version = "0.9.
|
|
1138
|
+
version = "0.9.12"
|
|
1139
1139
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1140
|
-
checksum = "
|
|
1140
|
+
checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
|
|
1141
1141
|
dependencies = [
|
|
1142
1142
|
"cfg-if",
|
|
1143
1143
|
"libc",
|
|
1144
1144
|
"redox_syscall",
|
|
1145
1145
|
"smallvec",
|
|
1146
|
-
"windows-
|
|
1146
|
+
"windows-link",
|
|
1147
1147
|
]
|
|
1148
1148
|
|
|
1149
1149
|
[[package]]
|
|
@@ -1328,9 +1328,9 @@ dependencies = [
|
|
|
1328
1328
|
|
|
1329
1329
|
[[package]]
|
|
1330
1330
|
name = "redox_syscall"
|
|
1331
|
-
version = "0.5.
|
|
1331
|
+
version = "0.5.18"
|
|
1332
1332
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1333
|
-
checksum = "
|
|
1333
|
+
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
|
|
1334
1334
|
dependencies = [
|
|
1335
1335
|
"bitflags",
|
|
1336
1336
|
]
|
|
@@ -1386,7 +1386,7 @@ dependencies = [
|
|
|
1386
1386
|
|
|
1387
1387
|
[[package]]
|
|
1388
1388
|
name = "rnet"
|
|
1389
|
-
version = "3.0.0-
|
|
1389
|
+
version = "3.0.0-rc9"
|
|
1390
1390
|
dependencies = [
|
|
1391
1391
|
"arc-swap",
|
|
1392
1392
|
"bytes",
|
|
@@ -1541,6 +1541,12 @@ version = "1.3.0"
|
|
|
1541
1541
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1542
1542
|
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
1543
1543
|
|
|
1544
|
+
[[package]]
|
|
1545
|
+
name = "simd-adler32"
|
|
1546
|
+
version = "0.3.7"
|
|
1547
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1548
|
+
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
|
|
1549
|
+
|
|
1544
1550
|
[[package]]
|
|
1545
1551
|
name = "slab"
|
|
1546
1552
|
version = "0.4.11"
|
|
@@ -1575,9 +1581,9 @@ dependencies = [
|
|
|
1575
1581
|
|
|
1576
1582
|
[[package]]
|
|
1577
1583
|
name = "stable_deref_trait"
|
|
1578
|
-
version = "1.2.
|
|
1584
|
+
version = "1.2.1"
|
|
1579
1585
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1580
|
-
checksum = "
|
|
1586
|
+
checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
|
|
1581
1587
|
|
|
1582
1588
|
[[package]]
|
|
1583
1589
|
name = "strum"
|
|
@@ -2107,18 +2113,18 @@ dependencies = [
|
|
|
2107
2113
|
|
|
2108
2114
|
[[package]]
|
|
2109
2115
|
name = "webpki-root-certs"
|
|
2110
|
-
version = "1.0.
|
|
2116
|
+
version = "1.0.3"
|
|
2111
2117
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2112
|
-
checksum = "
|
|
2118
|
+
checksum = "05d651ec480de84b762e7be71e6efa7461699c19d9e2c272c8d93455f567786e"
|
|
2113
2119
|
dependencies = [
|
|
2114
2120
|
"rustls-pki-types",
|
|
2115
2121
|
]
|
|
2116
2122
|
|
|
2117
2123
|
[[package]]
|
|
2118
2124
|
name = "widestring"
|
|
2119
|
-
version = "1.2.
|
|
2125
|
+
version = "1.2.1"
|
|
2120
2126
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2121
|
-
checksum = "
|
|
2127
|
+
checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471"
|
|
2122
2128
|
|
|
2123
2129
|
[[package]]
|
|
2124
2130
|
name = "winapi"
|
|
@@ -2144,9 +2150,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
|
2144
2150
|
|
|
2145
2151
|
[[package]]
|
|
2146
2152
|
name = "windows-link"
|
|
2147
|
-
version = "0.2.
|
|
2153
|
+
version = "0.2.1"
|
|
2148
2154
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2149
|
-
checksum = "
|
|
2155
|
+
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
|
2150
2156
|
|
|
2151
2157
|
[[package]]
|
|
2152
2158
|
name = "windows-sys"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rnet"
|
|
3
|
-
version = "3.0.0-
|
|
3
|
+
version = "3.0.0-rc9"
|
|
4
4
|
description = "A blazing-fast Python HTTP client with TLS fingerprint"
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -16,12 +16,13 @@ crate-type = ["cdylib"]
|
|
|
16
16
|
doctest = false
|
|
17
17
|
|
|
18
18
|
[features]
|
|
19
|
-
default = ["abi3"]
|
|
19
|
+
default = ["abi3-py311"]
|
|
20
20
|
jemalloc = ["dep:tikv-jemallocator"]
|
|
21
21
|
mimalloc = ["dep:mimalloc"]
|
|
22
22
|
|
|
23
23
|
# we build cp311-abi3 and cp310 wheels now, move this to pyo3 after we drop cp310
|
|
24
|
-
abi3 = ["pyo3/abi3-py311"]
|
|
24
|
+
abi3-py311 = ["pyo3/abi3-py311"]
|
|
25
|
+
abi3-py314 = ["pyo3/abi3-py314"]
|
|
25
26
|
|
|
26
27
|
[dependencies]
|
|
27
28
|
tokio = { version = "1.47.1", features = ["sync", "rt", "rt-multi-thread", "time"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rnet
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.0rc9
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
@@ -59,7 +59,7 @@ A blazing-fast Python HTTP client with advanced browser fingerprinting that accu
|
|
|
59
59
|
The following example uses the `asyncio` runtime with `rnet` installed via pip:
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
pip install asyncio rnet==3.0.
|
|
62
|
+
pip install asyncio rnet==3.0.0-rc9
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
And then the code:
|
|
@@ -129,6 +129,8 @@ Additional learning resources include:
|
|
|
129
129
|
|
|
130
130
|
3. Windows: `x86_64`,`i686`,`aarch64`
|
|
131
131
|
|
|
132
|
+
4. Android: `aarch64`, `x86_64`
|
|
133
|
+
|
|
132
134
|
## Building
|
|
133
135
|
|
|
134
136
|
1. Development
|
|
@@ -31,7 +31,7 @@ A blazing-fast Python HTTP client with advanced browser fingerprinting that accu
|
|
|
31
31
|
The following example uses the `asyncio` runtime with `rnet` installed via pip:
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
pip install asyncio rnet==3.0.
|
|
34
|
+
pip install asyncio rnet==3.0.0-rc9
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
And then the code:
|
|
@@ -101,6 +101,8 @@ Additional learning resources include:
|
|
|
101
101
|
|
|
102
102
|
3. Windows: `x86_64`,`i686`,`aarch64`
|
|
103
103
|
|
|
104
|
+
4. Android: `aarch64`, `x86_64`
|
|
105
|
+
|
|
104
106
|
## Building
|
|
105
107
|
|
|
106
108
|
1. Development
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
-
# package ecosystems to update and where the package manifests are located.
|
|
3
|
-
# Please see the documentation for all configuration options:
|
|
4
|
-
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
5
|
-
|
|
6
|
-
version: 2
|
|
7
|
-
updates:
|
|
8
|
-
- package-ecosystem: "cargo" # See documentation for possible values
|
|
9
|
-
directory: "/" # Location of package manifests
|
|
10
|
-
schedule:
|
|
11
|
-
interval: "weekly"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|