rnet 3.0.0rc1__tar.gz → 3.0.0rc2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/Cargo.lock +45 -77
  2. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/Cargo.toml +4 -3
  3. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/PKG-INFO +2 -2
  4. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/README.md +1 -1
  5. rnet-3.0.0rc2/python/benchmark/benchmark_multi.jpg +0 -0
  6. rnet-3.0.0rc2/python/benchmark/benchmark_multi_threaded.jpg +0 -0
  7. rnet-3.0.0rc2/python/benchmark/benchmark_results.csv +235 -0
  8. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/client.py +1 -1
  9. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/orig_headers.py +1 -1
  10. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/__init__.pyi +58 -55
  11. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/blocking.py +9 -53
  12. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/cookie.py +9 -9
  13. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/emulation.py +4 -4
  14. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/header.py +1 -36
  15. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/tls.py +4 -4
  16. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/mod.rs +3 -16
  17. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/response/http.rs +49 -44
  18. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/response/stream.rs +7 -7
  19. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/response/ws/mod.rs +22 -10
  20. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/extractor.rs +0 -8
  21. rnet-3.0.0rc1/python/benchmark/benchmark_multi.jpg +0 -0
  22. rnet-3.0.0rc1/python/benchmark/benchmark_multi_threaded.jpg +0 -0
  23. rnet-3.0.0rc1/python/benchmark/benchmark_results.csv +0 -151
  24. rnet-3.0.0rc1/src/client/future.rs +0 -93
  25. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.github/FUNDING.yml +0 -0
  26. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  27. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  28. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.github/assets/capsolver.jpg +0 -0
  29. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.github/dependabot.yml +0 -0
  30. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.github/musl_build.sh +0 -0
  31. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.github/workflows/ci.yml +0 -0
  32. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/.gitignore +0 -0
  33. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/LICENSE +0 -0
  34. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/pyproject.toml +0 -0
  35. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/README.md +0 -0
  36. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/benchmark/README.md +0 -0
  37. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/benchmark/bench.py +0 -0
  38. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/benchmark/requirements.txt +0 -0
  39. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/benchmark/server.py +0 -0
  40. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/auth.py +0 -0
  41. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/basic_auth.py +0 -0
  42. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/bearer_auth.py +0 -0
  43. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/auth.py +0 -0
  44. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/basic_auth.py +0 -0
  45. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/bearer_auth.py +0 -0
  46. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/body.py +0 -0
  47. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/client.py +0 -0
  48. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/cookie.py +0 -0
  49. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/emulation.py +0 -0
  50. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/form.py +0 -0
  51. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/get.py +0 -0
  52. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/http1_websocket.py +0 -0
  53. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/json.py +0 -0
  54. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/multipart.py +0 -0
  55. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/proxy.py +0 -0
  56. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/query.py +0 -0
  57. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/blocking/stream.py +0 -0
  58. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/body.py +0 -0
  59. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/emulation.py +0 -0
  60. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/exceptions.py +0 -0
  61. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/form.py +0 -0
  62. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/get.py +0 -0
  63. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/header_map.py +0 -0
  64. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/http1_websocket.py +0 -0
  65. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/http2_websocket.py +0 -0
  66. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/json.py +0 -0
  67. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/keylog.py +0 -0
  68. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/multipart.py +0 -0
  69. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/proxy.py +0 -0
  70. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/query.py +0 -0
  71. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/request.py +0 -0
  72. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/examples/stream.py +0 -0
  73. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/__init__.py +0 -0
  74. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/exceptions.py +0 -0
  75. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/python/rnet/py.typed +0 -0
  76. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/buffer.rs +0 -0
  77. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/body.rs +0 -0
  78. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/dns.rs +0 -0
  79. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/multipart/form.rs +0 -0
  80. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/multipart/mod.rs +0 -0
  81. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/multipart/part.rs +0 -0
  82. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/request.rs +0 -0
  83. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/response/mod.rs +0 -0
  84. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/client/response/ws/msg.rs +0 -0
  85. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/emulation.rs +0 -0
  86. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/error.rs +0 -0
  87. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/http/cookie.rs +0 -0
  88. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/http/header.rs +0 -0
  89. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/http/mod.rs +0 -0
  90. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/http/status.rs +0 -0
  91. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/lib.rs +0 -0
  92. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/macros.rs +0 -0
  93. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/proxy.rs +0 -0
  94. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/tls/identity.rs +0 -0
  95. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/tls/keylog.rs +0 -0
  96. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/tls/mod.rs +0 -0
  97. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/src/tls/store.rs +0 -0
  98. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/tests/cookie_test.py +0 -0
  99. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/tests/header_test.py +0 -0
  100. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/tests/redirect_test.py +0 -0
  101. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/tests/request_test.py +0 -0
  102. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/tests/response_test.py +0 -0
  103. {rnet-3.0.0rc1 → rnet-3.0.0rc2}/tests/tls_test.py +0 -0
@@ -53,12 +53,6 @@ dependencies = [
53
53
  "alloc-no-stdlib",
54
54
  ]
55
55
 
56
- [[package]]
57
- name = "arc-swap"
58
- version = "1.7.1"
59
- source = "registry+https://github.com/rust-lang/crates.io-index"
60
- checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
61
-
62
56
  [[package]]
63
57
  name = "async-channel"
64
58
  version = "2.5.0"
@@ -73,11 +67,13 @@ dependencies = [
73
67
 
74
68
  [[package]]
75
69
  name = "async-compression"
76
- version = "0.4.27"
70
+ version = "0.4.28"
77
71
  source = "registry+https://github.com/rust-lang/crates.io-index"
78
- checksum = "ddb939d66e4ae03cee6091612804ba446b12878410cfa17f785f4dd67d4014e8"
72
+ checksum = "6448dfb3960f0b038e88c781ead1e7eb7929dfc3a71a1336ec9086c00f6d1e75"
79
73
  dependencies = [
80
74
  "brotli",
75
+ "compression-codecs",
76
+ "compression-core",
81
77
  "flate2",
82
78
  "futures-core",
83
79
  "memchr",
@@ -285,6 +281,28 @@ dependencies = [
285
281
  "cc",
286
282
  ]
287
283
 
284
+ [[package]]
285
+ name = "compression-codecs"
286
+ version = "0.4.28"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "46cc6539bf1c592cff488b9f253b30bc0ec50d15407c2cf45e27bd8f308d5905"
289
+ dependencies = [
290
+ "brotli",
291
+ "compression-core",
292
+ "flate2",
293
+ "futures-core",
294
+ "memchr",
295
+ "pin-project-lite",
296
+ "zstd",
297
+ "zstd-safe",
298
+ ]
299
+
300
+ [[package]]
301
+ name = "compression-core"
302
+ version = "0.4.28"
303
+ source = "registry+https://github.com/rust-lang/crates.io-index"
304
+ checksum = "2957e823c15bde7ecf1e8b64e537aa03a6be5fda0e2334e99887669e75b12e01"
305
+
288
306
  [[package]]
289
307
  name = "concurrent-queue"
290
308
  version = "2.5.0"
@@ -323,22 +341,6 @@ dependencies = [
323
341
  "url",
324
342
  ]
325
343
 
326
- [[package]]
327
- name = "core-foundation"
328
- version = "0.9.4"
329
- source = "registry+https://github.com/rust-lang/crates.io-index"
330
- checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
331
- dependencies = [
332
- "core-foundation-sys",
333
- "libc",
334
- ]
335
-
336
- [[package]]
337
- name = "core-foundation-sys"
338
- version = "0.8.7"
339
- source = "registry+https://github.com/rust-lang/crates.io-index"
340
- checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
341
-
342
344
  [[package]]
343
345
  name = "cpufeatures"
344
346
  version = "0.2.17"
@@ -1014,9 +1016,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
1014
1016
 
1015
1017
  [[package]]
1016
1018
  name = "jobserver"
1017
- version = "0.1.33"
1019
+ version = "0.1.34"
1018
1020
  source = "registry+https://github.com/rust-lang/crates.io-index"
1019
- checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a"
1021
+ checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
1020
1022
  dependencies = [
1021
1023
  "getrandom 0.3.3",
1022
1024
  "libc",
@@ -1056,9 +1058,9 @@ dependencies = [
1056
1058
 
1057
1059
  [[package]]
1058
1060
  name = "libmimalloc-sys"
1059
- version = "0.1.43"
1061
+ version = "0.1.44"
1060
1062
  source = "registry+https://github.com/rust-lang/crates.io-index"
1061
- checksum = "bf88cd67e9de251c1781dbe2f641a1a3ad66eaae831b8a2c38fbdc5ddae16d4d"
1063
+ checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870"
1062
1064
  dependencies = [
1063
1065
  "cc",
1064
1066
  "libc",
@@ -1131,9 +1133,9 @@ dependencies = [
1131
1133
 
1132
1134
  [[package]]
1133
1135
  name = "mimalloc"
1134
- version = "0.1.47"
1136
+ version = "0.1.48"
1135
1137
  source = "registry+https://github.com/rust-lang/crates.io-index"
1136
- checksum = "b1791cbe101e95af5764f06f20f6760521f7158f69dbf9d6baf941ee1bf6bc40"
1138
+ checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8"
1137
1139
  dependencies = [
1138
1140
  "libmimalloc-sys",
1139
1141
  ]
@@ -1512,14 +1514,14 @@ dependencies = [
1512
1514
 
1513
1515
  [[package]]
1514
1516
  name = "regex"
1515
- version = "1.11.1"
1517
+ version = "1.11.2"
1516
1518
  source = "registry+https://github.com/rust-lang/crates.io-index"
1517
- checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
1519
+ checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912"
1518
1520
  dependencies = [
1519
1521
  "aho-corasick",
1520
1522
  "memchr",
1521
- "regex-automata 0.4.9",
1522
- "regex-syntax 0.8.5",
1523
+ "regex-automata 0.4.10",
1524
+ "regex-syntax 0.8.6",
1523
1525
  ]
1524
1526
 
1525
1527
  [[package]]
@@ -1533,13 +1535,13 @@ dependencies = [
1533
1535
 
1534
1536
  [[package]]
1535
1537
  name = "regex-automata"
1536
- version = "0.4.9"
1538
+ version = "0.4.10"
1537
1539
  source = "registry+https://github.com/rust-lang/crates.io-index"
1538
- checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
1540
+ checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6"
1539
1541
  dependencies = [
1540
1542
  "aho-corasick",
1541
1543
  "memchr",
1542
- "regex-syntax 0.8.5",
1544
+ "regex-syntax 0.8.6",
1543
1545
  ]
1544
1546
 
1545
1547
  [[package]]
@@ -1550,9 +1552,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
1550
1552
 
1551
1553
  [[package]]
1552
1554
  name = "regex-syntax"
1553
- version = "0.8.5"
1555
+ version = "0.8.6"
1554
1556
  source = "registry+https://github.com/rust-lang/crates.io-index"
1555
- checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1557
+ checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001"
1556
1558
 
1557
1559
  [[package]]
1558
1560
  name = "resolv-conf"
@@ -1576,9 +1578,8 @@ dependencies = [
1576
1578
 
1577
1579
  [[package]]
1578
1580
  name = "rnet"
1579
- version = "3.0.0-rc1"
1581
+ version = "3.0.0-rc2"
1580
1582
  dependencies = [
1581
- "arc-swap",
1582
1583
  "bytes",
1583
1584
  "cookie",
1584
1585
  "cookie_store",
@@ -1823,27 +1824,6 @@ dependencies = [
1823
1824
  "syn",
1824
1825
  ]
1825
1826
 
1826
- [[package]]
1827
- name = "system-configuration"
1828
- version = "0.6.1"
1829
- source = "registry+https://github.com/rust-lang/crates.io-index"
1830
- checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
1831
- dependencies = [
1832
- "bitflags",
1833
- "core-foundation",
1834
- "system-configuration-sys",
1835
- ]
1836
-
1837
- [[package]]
1838
- name = "system-configuration-sys"
1839
- version = "0.6.0"
1840
- source = "registry+https://github.com/rust-lang/crates.io-index"
1841
- checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
1842
- dependencies = [
1843
- "core-foundation-sys",
1844
- "libc",
1845
- ]
1846
-
1847
1827
  [[package]]
1848
1828
  name = "tagptr"
1849
1829
  version = "0.2.0"
@@ -2217,13 +2197,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
2217
2197
 
2218
2198
  [[package]]
2219
2199
  name = "url"
2220
- version = "2.5.6"
2200
+ version = "2.5.7"
2221
2201
  source = "registry+https://github.com/rust-lang/crates.io-index"
2222
- checksum = "137a3c834eaf7139b73688502f3f1141a0337c5d8e4d9b536f9b8c796e26a7c4"
2202
+ checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b"
2223
2203
  dependencies = [
2224
2204
  "form_urlencoded",
2225
2205
  "idna",
2226
2206
  "percent-encoding",
2207
+ "serde",
2227
2208
  ]
2228
2209
 
2229
2210
  [[package]]
@@ -2464,17 +2445,6 @@ dependencies = [
2464
2445
  "windows-link",
2465
2446
  ]
2466
2447
 
2467
- [[package]]
2468
- name = "windows-registry"
2469
- version = "0.5.3"
2470
- source = "registry+https://github.com/rust-lang/crates.io-index"
2471
- checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e"
2472
- dependencies = [
2473
- "windows-link",
2474
- "windows-result",
2475
- "windows-strings",
2476
- ]
2477
-
2478
2448
  [[package]]
2479
2449
  name = "windows-result"
2480
2450
  version = "0.3.4"
@@ -2770,7 +2740,6 @@ dependencies = [
2770
2740
  "smallvec",
2771
2741
  "socket2 0.6.0",
2772
2742
  "sync_wrapper",
2773
- "system-configuration",
2774
2743
  "tokio",
2775
2744
  "tokio-boring2",
2776
2745
  "tokio-socks",
@@ -2780,7 +2749,6 @@ dependencies = [
2780
2749
  "url",
2781
2750
  "want",
2782
2751
  "webpki-root-certs",
2783
- "windows-registry",
2784
2752
  "zstd",
2785
2753
  ]
2786
2754
 
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rnet"
3
- version = "3.0.0-rc1"
3
+ version = "3.0.0-rc2"
4
4
  description = "A blazing-fast Python HTTP client with TLS fingerprint"
5
5
  edition = "2024"
6
6
  rust-version = "1.85.0"
@@ -38,17 +38,18 @@ pyo3-async-runtimes = { version = "0.25.0", features = [
38
38
  serde = { version = "1.0.219", features = ["derive"] }
39
39
  mime = "0.3.17"
40
40
  indexmap = { version = "2.10.0", features = ["serde"] }
41
- arc-swap = "1.7.1"
42
41
  url = "2.5.4"
43
42
  bytes = "1.10.1"
44
43
  pin-project-lite = "0.2.16"
45
44
  futures-util = { version = "0.3.31", default-features = false }
46
- wreq = { version = "6.0.0-rc.8", features = [
45
+ wreq = { version = "6.0.0-rc.8", default-features = false, features = [
46
+ "webpki-roots",
47
47
  "json",
48
48
  "socks",
49
49
  "stream",
50
50
  "multipart",
51
51
  "cookies",
52
+ "charset",
52
53
  "gzip",
53
54
  "brotli",
54
55
  "deflate",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rnet
3
- Version: 3.0.0rc1
3
+ Version: 3.0.0rc2
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -60,7 +60,7 @@ A blazing-fast Python HTTP client with advanced browser fingerprinting that accu
60
60
  This asynchronous example demonstrates how to make a simple GET request using the `rnet` library. So you need install `rnet` and run the following code:
61
61
 
62
62
  ```bash
63
- pip install asyncio rnet==3.0.0rc1
63
+ pip install asyncio rnet==3.0.0rc2
64
64
  ```
65
65
 
66
66
  And then the code:
@@ -32,7 +32,7 @@ A blazing-fast Python HTTP client with advanced browser fingerprinting that accu
32
32
  This asynchronous example demonstrates how to make a simple GET request using the `rnet` library. So you need install `rnet` and run the following code:
33
33
 
34
34
  ```bash
35
- pip install asyncio rnet==3.0.0rc1
35
+ pip install asyncio rnet==3.0.0rc2
36
36
  ```
37
37
 
38
38
  And then the code:
@@ -0,0 +1,235 @@
1
+ name,session,size,time,cpu_time,threads
2
+ tls_client 1.0.1,Sync-Session,20k,0.28,0.25,
3
+ tls_client 1.0.1,Sync-NonSession,20k,0.47,0.43,
4
+ httpx 0.28.1,Sync-Session,20k,0.22,0.13,
5
+ httpx 0.28.1,Sync-NonSession,20k,5.65,5.41,
6
+ requests 2.32.5,Sync-Session,20k,0.23,0.14,
7
+ requests 2.32.5,Sync-NonSession,20k,0.37,0.24,
8
+ niquests 3.15.2,Sync-Session,20k,0.19,0.11,
9
+ niquests 3.15.2,Sync-NonSession,20k,0.33,0.21,
10
+ rnet 3.0.0rc1,Sync-Session,20k,0.09,0.02,
11
+ rnet 3.0.0rc1,Sync-NonSession,20k,0.16,0.07,
12
+ curl_cffi 0.13.0,Sync-Session,20k,0.14,0.07,
13
+ curl_cffi 0.13.0,Sync-NonSession,20k,0.23,0.11,
14
+ pycurl 7.45.6,Sync-Session,20k,0.09,0.02,
15
+ pycurl 7.45.6,Sync-NonSession,20k,0.17,0.06,
16
+ httpx 0.28.1,Async-Session,20k,1.85,1.84,
17
+ httpx 0.28.1,Async-NonSession,20k,5.71,5.47,
18
+ aiohttp 3.12.15,Async-Session,20k,0.04,0.04,
19
+ aiohttp 3.12.15,Async-NonSession,20k,0.25,0.1,
20
+ rnet 3.0.0rc1,Async-Session,20k,0.04,0.12,
21
+ rnet 3.0.0rc1,Async-NonSession,20k,0.23,0.09,
22
+ curl_cffi 0.13.0,Async-Session,20k,0.1,0.09,
23
+ curl_cffi 0.13.0,Async-NonSession,20k,0.31,0.15,
24
+ tls_client 1.0.1,Threaded-Session,20k,0.29,0.28,1.0
25
+ tls_client 1.0.1,Threaded-NonSession,20k,0.48,0.46,1.0
26
+ httpx 0.28.1,Threaded-Session,20k,0.2,0.12,1.0
27
+ httpx 0.28.1,Threaded-NonSession,20k,5.59,5.34,1.0
28
+ requests 2.32.5,Threaded-Session,20k,0.23,0.14,1.0
29
+ requests 2.32.5,Threaded-NonSession,20k,0.38,0.24,1.0
30
+ niquests 3.15.2,Threaded-Session,20k,0.18,0.11,1.0
31
+ niquests 3.15.2,Threaded-NonSession,20k,0.34,0.21,1.0
32
+ rnet 3.0.0rc1,Threaded-Session,20k,0.09,0.02,1.0
33
+ rnet 3.0.0rc1,Threaded-NonSession,20k,0.16,0.07,1.0
34
+ curl_cffi 0.13.0,Threaded-Session,20k,0.14,0.07,1.0
35
+ curl_cffi 0.13.0,Threaded-NonSession,20k,0.23,0.11,1.0
36
+ pycurl 7.45.6,Threaded-Session,20k,0.09,0.02,1.0
37
+ pycurl 7.45.6,Threaded-NonSession,20k,0.18,0.06,1.0
38
+ tls_client 1.0.1,Threaded-Session,20k,0.15,0.43,4.0
39
+ tls_client 1.0.1,Threaded-NonSession,20k,0.25,0.59,4.0
40
+ httpx 0.28.1,Threaded-Session,20k,0.2,0.42,4.0
41
+ httpx 0.28.1,Threaded-NonSession,20k,6.47,24.8,4.0
42
+ requests 2.32.5,Threaded-Session,20k,0.19,0.21,4.0
43
+ requests 2.32.5,Threaded-NonSession,20k,0.3,0.35,4.0
44
+ niquests 3.15.2,Threaded-Session,20k,0.15,0.16,4.0
45
+ niquests 3.15.2,Threaded-NonSession,20k,0.26,0.3,4.0
46
+ rnet 3.0.0rc1,Threaded-Session,20k,0.04,0.03,4.0
47
+ rnet 3.0.0rc1,Threaded-NonSession,20k,0.05,0.07,4.0
48
+ curl_cffi 0.13.0,Threaded-Session,20k,0.1,0.15,4.0
49
+ curl_cffi 0.13.0,Threaded-NonSession,20k,0.11,0.19,4.0
50
+ pycurl 7.45.6,Threaded-Session,20k,0.03,0.02,4.0
51
+ pycurl 7.45.6,Threaded-NonSession,20k,0.06,0.07,4.0
52
+ tls_client 1.0.1,Threaded-Session,20k,0.15,0.47,8.0
53
+ tls_client 1.0.1,Threaded-NonSession,20k,0.21,0.66,8.0
54
+ httpx 0.28.1,Threaded-Session,20k,0.4,2.33,8.0
55
+ httpx 0.28.1,Threaded-NonSession,20k,18.28,143.09,8.0
56
+ requests 2.32.5,Threaded-Session,20k,0.19,0.21,8.0
57
+ requests 2.32.5,Threaded-NonSession,20k,0.3,0.36,8.0
58
+ niquests 3.15.2,Threaded-Session,20k,0.16,0.18,8.0
59
+ niquests 3.15.2,Threaded-NonSession,20k,0.26,0.32,8.0
60
+ rnet 3.0.0rc1,Threaded-Session,20k,0.03,0.04,8.0
61
+ rnet 3.0.0rc1,Threaded-NonSession,20k,0.04,0.07,8.0
62
+ curl_cffi 0.13.0,Threaded-Session,20k,0.13,0.24,8.0
63
+ curl_cffi 0.13.0,Threaded-NonSession,20k,0.16,0.32,8.0
64
+ pycurl 7.45.6,Threaded-Session,20k,0.02,0.04,8.0
65
+ pycurl 7.45.6,Threaded-NonSession,20k,0.04,0.09,8.0
66
+ tls_client 1.0.1,Threaded-Session,20k,0.16,0.53,16.0
67
+ tls_client 1.0.1,Threaded-NonSession,20k,0.19,0.72,16.0
68
+ httpx 0.28.1,Threaded-Session,20k,2.44,36.86,16.0
69
+ httpx 0.28.1,Threaded-NonSession,20k,60.51,954.92,16.0
70
+ requests 2.32.5,Threaded-Session,20k,0.2,0.23,16.0
71
+ requests 2.32.5,Threaded-NonSession,20k,0.31,0.38,16.0
72
+ niquests 3.15.2,Threaded-Session,20k,0.17,0.19,16.0
73
+ niquests 3.15.2,Threaded-NonSession,20k,0.27,0.33,16.0
74
+ rnet 3.0.0rc1,Threaded-Session,20k,0.02,0.04,16.0
75
+ rnet 3.0.0rc1,Threaded-NonSession,20k,0.03,0.08,16.0
76
+ curl_cffi 0.13.0,Threaded-Session,20k,0.14,0.26,16.0
77
+ curl_cffi 0.13.0,Threaded-NonSession,20k,0.16,0.34,16.0
78
+ pycurl 7.45.6,Threaded-Session,20k,0.02,0.05,16.0
79
+ pycurl 7.45.6,Threaded-NonSession,20k,0.03,0.13,16.0
80
+ tls_client 1.0.1,Sync-Session,50k,0.64,0.76,
81
+ tls_client 1.0.1,Sync-NonSession,50k,0.86,1.0,
82
+ httpx 0.28.1,Sync-Session,50k,0.28,0.19,
83
+ httpx 0.28.1,Sync-NonSession,50k,5.72,5.48,
84
+ requests 2.32.5,Sync-Session,50k,0.33,0.24,
85
+ requests 2.32.5,Sync-NonSession,50k,0.5,0.36,
86
+ niquests 3.15.2,Sync-Session,50k,0.27,0.19,
87
+ niquests 3.15.2,Sync-NonSession,50k,0.46,0.34,
88
+ rnet 3.0.0rc1,Sync-Session,50k,0.19,0.07,
89
+ rnet 3.0.0rc1,Sync-NonSession,50k,0.19,0.07,
90
+ curl_cffi 0.13.0,Sync-Session,50k,0.23,0.15,
91
+ curl_cffi 0.13.0,Sync-NonSession,50k,0.38,0.21,
92
+ pycurl 7.45.6,Sync-Session,50k,0.1,0.02,
93
+ pycurl 7.45.6,Sync-NonSession,50k,0.18,0.06,
94
+ httpx 0.28.1,Async-Session,50k,1.93,1.92,
95
+ httpx 0.28.1,Async-NonSession,50k,5.87,5.63,
96
+ aiohttp 3.12.15,Async-Session,50k,0.04,0.04,
97
+ aiohttp 3.12.15,Async-NonSession,50k,0.26,0.12,
98
+ rnet 3.0.0rc1,Async-Session,50k,0.04,0.12,
99
+ rnet 3.0.0rc1,Async-NonSession,50k,0.2,0.08,
100
+ curl_cffi 0.13.0,Async-Session,50k,0.19,0.18,
101
+ curl_cffi 0.13.0,Async-NonSession,50k,0.42,0.26,
102
+ tls_client 1.0.1,Threaded-Session,50k,0.7,0.81,1.0
103
+ tls_client 1.0.1,Threaded-NonSession,50k,0.88,1.0,1.0
104
+ httpx 0.28.1,Threaded-Session,50k,0.3,0.2,1.0
105
+ httpx 0.28.1,Threaded-NonSession,50k,5.76,5.51,1.0
106
+ requests 2.32.5,Threaded-Session,50k,0.36,0.27,1.0
107
+ requests 2.32.5,Threaded-NonSession,50k,0.53,0.39,1.0
108
+ niquests 3.15.2,Threaded-Session,50k,0.3,0.21,1.0
109
+ niquests 3.15.2,Threaded-NonSession,50k,0.47,0.34,1.0
110
+ rnet 3.0.0rc1,Threaded-Session,50k,0.2,0.07,1.0
111
+ rnet 3.0.0rc1,Threaded-NonSession,50k,0.19,0.07,1.0
112
+ curl_cffi 0.13.0,Threaded-Session,50k,0.24,0.15,1.0
113
+ curl_cffi 0.13.0,Threaded-NonSession,50k,0.38,0.22,1.0
114
+ pycurl 7.45.6,Threaded-Session,50k,0.11,0.02,1.0
115
+ pycurl 7.45.6,Threaded-NonSession,50k,0.18,0.06,1.0
116
+ tls_client 1.0.1,Threaded-Session,50k,0.37,0.94,4.0
117
+ tls_client 1.0.1,Threaded-NonSession,50k,0.54,1.05,4.0
118
+ httpx 0.28.1,Threaded-Session,50k,0.3,0.51,4.0
119
+ httpx 0.28.1,Threaded-NonSession,50k,6.5,24.61,4.0
120
+ requests 2.32.5,Threaded-Session,50k,0.31,0.33,4.0
121
+ requests 2.32.5,Threaded-NonSession,50k,0.43,0.49,4.0
122
+ niquests 3.15.2,Threaded-Session,50k,0.25,0.26,4.0
123
+ niquests 3.15.2,Threaded-NonSession,50k,0.39,0.44,4.0
124
+ rnet 3.0.0rc1,Threaded-Session,50k,0.06,0.07,4.0
125
+ rnet 3.0.0rc1,Threaded-NonSession,50k,0.06,0.07,4.0
126
+ curl_cffi 0.13.0,Threaded-Session,50k,0.2,0.26,4.0
127
+ curl_cffi 0.13.0,Threaded-NonSession,50k,0.22,0.32,4.0
128
+ pycurl 7.45.6,Threaded-Session,50k,0.04,0.03,4.0
129
+ pycurl 7.45.6,Threaded-NonSession,50k,0.06,0.07,4.0
130
+ tls_client 1.0.1,Threaded-Session,50k,0.37,0.99,8.0
131
+ tls_client 1.0.1,Threaded-NonSession,50k,0.44,1.12,8.0
132
+ httpx 0.28.1,Threaded-Session,50k,0.41,2.19,8.0
133
+ httpx 0.28.1,Threaded-NonSession,50k,18.37,142.68,8.0
134
+ requests 2.32.5,Threaded-Session,50k,0.31,0.34,8.0
135
+ requests 2.32.5,Threaded-NonSession,50k,0.43,0.5,8.0
136
+ niquests 3.15.2,Threaded-Session,50k,0.26,0.28,8.0
137
+ niquests 3.15.2,Threaded-NonSession,50k,0.39,0.45,8.0
138
+ rnet 3.0.0rc1,Threaded-Session,50k,0.04,0.07,8.0
139
+ rnet 3.0.0rc1,Threaded-NonSession,50k,0.03,0.07,8.0
140
+ curl_cffi 0.13.0,Threaded-Session,50k,0.24,0.34,8.0
141
+ curl_cffi 0.13.0,Threaded-NonSession,50k,0.27,0.44,8.0
142
+ pycurl 7.45.6,Threaded-Session,50k,0.03,0.04,8.0
143
+ pycurl 7.45.6,Threaded-NonSession,50k,0.04,0.1,8.0
144
+ tls_client 1.0.1,Threaded-Session,50k,0.37,1.05,16.0
145
+ tls_client 1.0.1,Threaded-NonSession,50k,0.4,1.17,16.0
146
+ httpx 0.28.1,Threaded-Session,50k,2.58,37.9,16.0
147
+ httpx 0.28.1,Threaded-NonSession,50k,60.38,953.3,16.0
148
+ requests 2.32.5,Threaded-Session,50k,0.33,0.37,16.0
149
+ requests 2.32.5,Threaded-NonSession,50k,0.44,0.5,16.0
150
+ niquests 3.15.2,Threaded-Session,50k,0.25,0.27,16.0
151
+ niquests 3.15.2,Threaded-NonSession,50k,0.38,0.44,16.0
152
+ rnet 3.0.0rc1,Threaded-Session,50k,0.04,0.07,16.0
153
+ rnet 3.0.0rc1,Threaded-NonSession,50k,0.03,0.08,16.0
154
+ curl_cffi 0.13.0,Threaded-Session,50k,0.23,0.35,16.0
155
+ curl_cffi 0.13.0,Threaded-NonSession,50k,0.27,0.46,16.0
156
+ pycurl 7.45.6,Threaded-Session,50k,0.02,0.07,16.0
157
+ pycurl 7.45.6,Threaded-NonSession,50k,0.04,0.14,16.0
158
+ tls_client 1.0.1,Sync-Session,200k,2.37,2.85,
159
+ tls_client 1.0.1,Sync-NonSession,200k,2.63,3.18,
160
+ httpx 0.28.1,Sync-Session,200k,0.74,0.64,
161
+ httpx 0.28.1,Sync-NonSession,200k,6.2,5.95,
162
+ requests 2.32.5,Sync-Session,200k,0.85,0.75,
163
+ requests 2.32.5,Sync-NonSession,200k,1.04,0.89,
164
+ niquests 3.15.2,Sync-Session,200k,0.74,0.65,
165
+ niquests 3.15.2,Sync-NonSession,200k,0.91,0.77,
166
+ rnet 3.0.0rc1,Sync-Session,200k,0.2,0.07,
167
+ rnet 3.0.0rc1,Sync-NonSession,200k,0.2,0.07,
168
+ curl_cffi 0.13.0,Sync-Session,200k,0.65,0.55,
169
+ curl_cffi 0.13.0,Sync-NonSession,200k,0.79,0.62,
170
+ pycurl 7.45.6,Sync-Session,200k,0.13,0.04,
171
+ pycurl 7.45.6,Sync-NonSession,200k,0.24,0.09,
172
+ httpx 0.28.1,Async-Session,200k,2.42,2.41,
173
+ httpx 0.28.1,Async-NonSession,200k,6.36,6.12,
174
+ aiohttp 3.12.15,Async-Session,200k,0.04,0.04,
175
+ aiohttp 3.12.15,Async-NonSession,200k,0.29,0.14,
176
+ rnet 3.0.0rc1,Async-Session,200k,0.05,0.15,
177
+ rnet 3.0.0rc1,Async-NonSession,200k,0.21,0.09,
178
+ curl_cffi 0.13.0,Async-Session,200k,0.62,0.61,
179
+ curl_cffi 0.13.0,Async-NonSession,200k,0.83,0.66,
180
+ tls_client 1.0.1,Threaded-Session,200k,2.29,2.64,1.0
181
+ tls_client 1.0.1,Threaded-NonSession,200k,2.54,3.0,1.0
182
+ httpx 0.28.1,Threaded-Session,200k,0.75,0.66,1.0
183
+ httpx 0.28.1,Threaded-NonSession,200k,6.23,5.98,1.0
184
+ requests 2.32.5,Threaded-Session,200k,0.99,0.89,1.0
185
+ requests 2.32.5,Threaded-NonSession,200k,1.19,1.04,1.0
186
+ niquests 3.15.2,Threaded-Session,200k,0.81,0.72,1.0
187
+ niquests 3.15.2,Threaded-NonSession,200k,1.01,0.88,1.0
188
+ rnet 3.0.0rc1,Threaded-Session,200k,0.2,0.07,1.0
189
+ rnet 3.0.0rc1,Threaded-NonSession,200k,0.19,0.08,1.0
190
+ curl_cffi 0.13.0,Threaded-Session,200k,0.67,0.57,1.0
191
+ curl_cffi 0.13.0,Threaded-NonSession,200k,0.83,0.66,1.0
192
+ pycurl 7.45.6,Threaded-Session,200k,0.14,0.05,1.0
193
+ pycurl 7.45.6,Threaded-NonSession,200k,0.25,0.09,1.0
194
+ tls_client 1.0.1,Threaded-Session,200k,1.35,2.97,4.0
195
+ tls_client 1.0.1,Threaded-NonSession,200k,1.7,2.92,4.0
196
+ httpx 0.28.1,Threaded-Session,200k,0.79,1.02,4.0
197
+ httpx 0.28.1,Threaded-NonSession,200k,6.32,23.31,4.0
198
+ requests 2.32.5,Threaded-Session,200k,0.8,0.83,4.0
199
+ requests 2.32.5,Threaded-NonSession,200k,0.95,1.02,4.0
200
+ niquests 3.15.2,Threaded-Session,200k,0.69,0.72,4.0
201
+ niquests 3.15.2,Threaded-NonSession,200k,0.86,0.91,4.0
202
+ rnet 3.0.0rc1,Threaded-Session,200k,0.08,0.07,4.0
203
+ rnet 3.0.0rc1,Threaded-NonSession,200k,0.06,0.07,4.0
204
+ curl_cffi 0.13.0,Threaded-Session,200k,0.64,0.72,4.0
205
+ curl_cffi 0.13.0,Threaded-NonSession,200k,0.68,0.82,4.0
206
+ pycurl 7.45.6,Threaded-Session,200k,0.05,0.05,4.0
207
+ pycurl 7.45.6,Threaded-NonSession,200k,0.1,0.14,4.0
208
+ tls_client 1.0.1,Threaded-Session,200k,1.42,3.14,8.0
209
+ tls_client 1.0.1,Threaded-NonSession,200k,1.53,3.15,8.0
210
+ httpx 0.28.1,Threaded-Session,200k,0.9,3.06,8.0
211
+ httpx 0.28.1,Threaded-NonSession,200k,18.61,144.68,8.0
212
+ requests 2.32.5,Threaded-Session,200k,0.8,0.83,8.0
213
+ requests 2.32.5,Threaded-NonSession,200k,0.94,1.02,8.0
214
+ niquests 3.15.2,Threaded-Session,200k,0.7,0.72,8.0
215
+ niquests 3.15.2,Threaded-NonSession,200k,0.88,0.95,8.0
216
+ rnet 3.0.0rc1,Threaded-Session,200k,0.05,0.07,8.0
217
+ rnet 3.0.0rc1,Threaded-NonSession,200k,0.04,0.07,8.0
218
+ curl_cffi 0.13.0,Threaded-Session,200k,0.7,0.84,8.0
219
+ curl_cffi 0.13.0,Threaded-NonSession,200k,0.77,0.97,8.0
220
+ pycurl 7.45.6,Threaded-Session,200k,0.07,0.12,8.0
221
+ pycurl 7.45.6,Threaded-NonSession,200k,0.12,0.23,8.0
222
+ tls_client 1.0.1,Threaded-Session,200k,1.42,3.25,16.0
223
+ tls_client 1.0.1,Threaded-NonSession,200k,1.46,3.27,16.0
224
+ httpx 0.28.1,Threaded-Session,200k,2.92,36.66,16.0
225
+ httpx 0.28.1,Threaded-NonSession,200k,60.04,946.32,16.0
226
+ requests 2.32.5,Threaded-Session,200k,0.87,0.91,16.0
227
+ requests 2.32.5,Threaded-NonSession,200k,1.1,1.19,16.0
228
+ niquests 3.15.2,Threaded-Session,200k,0.79,0.82,16.0
229
+ niquests 3.15.2,Threaded-NonSession,200k,0.96,1.04,16.0
230
+ rnet 3.0.0rc1,Threaded-Session,200k,0.05,0.07,16.0
231
+ rnet 3.0.0rc1,Threaded-NonSession,200k,0.03,0.08,16.0
232
+ curl_cffi 0.13.0,Threaded-Session,200k,0.73,0.88,16.0
233
+ curl_cffi 0.13.0,Threaded-NonSession,200k,0.78,0.99,16.0
234
+ pycurl 7.45.6,Threaded-Session,200k,0.07,0.15,16.0
235
+ pycurl 7.45.6,Threaded-NonSession,200k,0.11,0.26,16.0
@@ -21,7 +21,7 @@ async def main():
21
21
  ],
22
22
  )
23
23
 
24
- resp = await client.get("https://money-tourism.gr/en")
24
+ resp = await client.get("https://tls.peet.ws/api/all")
25
25
  print("Status Code: ", resp.status)
26
26
  print("Version: ", resp.version)
27
27
  print("Response URL: ", resp.url)
@@ -25,4 +25,4 @@ async def main():
25
25
 
26
26
 
27
27
  if __name__ == "__main__":
28
- asyncio.run(main())
28
+ asyncio.run(main())