httpunk 0.1.2__tar.gz → 0.1.3__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 (133) hide show
  1. {httpunk-0.1.2 → httpunk-0.1.3}/Cargo.lock +1 -1
  2. {httpunk-0.1.2 → httpunk-0.1.3}/Cargo.toml +1 -1
  3. {httpunk-0.1.2 → httpunk-0.1.3}/PKG-INFO +2 -2
  4. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/_backend/tonio.py +7 -1
  5. {httpunk-0.1.2 → httpunk-0.1.3}/pyproject.toml +2 -2
  6. {httpunk-0.1.2 → httpunk-0.1.3}/LICENSE +0 -0
  7. {httpunk-0.1.2 → httpunk-0.1.3}/README.md +0 -0
  8. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/Cargo.toml +0 -0
  9. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/LICENSE +0 -0
  10. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/UPSTREAM_VERSION +0 -0
  11. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/codec/error.rs +0 -0
  12. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/codec/mod.rs +0 -0
  13. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/ext.rs +0 -0
  14. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/data.rs +0 -0
  15. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/go_away.rs +0 -0
  16. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/head.rs +0 -0
  17. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/headers.rs +0 -0
  18. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/mod.rs +0 -0
  19. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/ping.rs +0 -0
  20. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/priority.rs +0 -0
  21. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/reason.rs +0 -0
  22. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/reset.rs +0 -0
  23. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/settings.rs +0 -0
  24. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/stream_id.rs +0 -0
  25. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/util.rs +0 -0
  26. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/frame/window_update.rs +0 -0
  27. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/hpack/decoder.rs +0 -0
  28. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/hpack/encoder.rs +0 -0
  29. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/hpack/header.rs +0 -0
  30. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/hpack/huffman/mod.rs +0 -0
  31. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/hpack/huffman/table.rs +0 -0
  32. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/hpack/mod.rs +0 -0
  33. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/hpack/table.rs +0 -0
  34. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/lib.rs +0 -0
  35. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/proto/error.rs +0 -0
  36. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/proto/mod.rs +0 -0
  37. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/proto/streams/flow_control.rs +0 -0
  38. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/proto/streams/mod.rs +0 -0
  39. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-h2/src/proto/streams/state.rs +0 -0
  40. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/Cargo.toml +0 -0
  41. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/LICENSE +0 -0
  42. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/UPSTREAM_VERSION +0 -0
  43. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/body/length.rs +0 -0
  44. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/body/mod.rs +0 -0
  45. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/cfg.rs +0 -0
  46. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/common/date.rs +0 -0
  47. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/common/mod.rs +0 -0
  48. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/error.rs +0 -0
  49. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/ext/h1_reason_phrase.rs +0 -0
  50. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/ext/informational.rs +0 -0
  51. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/ext/mod.rs +0 -0
  52. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/headers.rs +0 -0
  53. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/lib.rs +0 -0
  54. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/proto/h1/decode.rs +0 -0
  55. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/proto/h1/encode.rs +0 -0
  56. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/proto/h1/httpunk.rs +0 -0
  57. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/proto/h1/io.rs +0 -0
  58. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/proto/h1/mod.rs +0 -0
  59. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/proto/h1/role.rs +0 -0
  60. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/proto/mod.rs +0 -0
  61. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper/src/trace.rs +0 -0
  62. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper-util/Cargo.toml +0 -0
  63. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper-util/LICENSE +0 -0
  64. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper-util/UPSTREAM_VERSION +0 -0
  65. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper-util/src/client/mod.rs +0 -0
  66. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper-util/src/client/proxy/matcher.rs +0 -0
  67. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper-util/src/client/proxy/mod.rs +0 -0
  68. {httpunk-0.1.2 → httpunk-0.1.3}/crates/vendor-hyper-util/src/lib.rs +0 -0
  69. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/__init__.py +0 -0
  70. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/_backend/__init__.py +0 -0
  71. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/_backend/asyncio.py +0 -0
  72. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/_common.py +0 -0
  73. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/_httpunk.pyi +0 -0
  74. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/asyncio.py +0 -0
  75. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/exceptions.py +0 -0
  76. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h1/__init__.py +0 -0
  77. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h1/client.py +0 -0
  78. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h1/connection.py +0 -0
  79. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h1/server.py +0 -0
  80. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h1/share.py +0 -0
  81. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/__init__.py +0 -0
  82. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/client.py +0 -0
  83. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/connection.py +0 -0
  84. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/server.py +0 -0
  85. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/settings.py +0 -0
  86. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/share.py +0 -0
  87. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/stream.py +0 -0
  88. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/h2/streams.py +0 -0
  89. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/http.py +0 -0
  90. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/py.typed +0 -0
  91. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/types.py +0 -0
  92. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/util/__init__.py +0 -0
  93. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/util/auto.py +0 -0
  94. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/util/client.py +0 -0
  95. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/util/graceful.py +0 -0
  96. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/util/pool.py +0 -0
  97. {httpunk-0.1.2 → httpunk-0.1.3}/httpunk/util/proxy.py +0 -0
  98. {httpunk-0.1.2 → httpunk-0.1.3}/src/errors.rs +0 -0
  99. {httpunk-0.1.2 → httpunk-0.1.3}/src/h1/codec.rs +0 -0
  100. {httpunk-0.1.2 → httpunk-0.1.3}/src/h1/mod.rs +0 -0
  101. {httpunk-0.1.2 → httpunk-0.1.3}/src/h2/codec.rs +0 -0
  102. {httpunk-0.1.2 → httpunk-0.1.3}/src/h2/mod.rs +0 -0
  103. {httpunk-0.1.2 → httpunk-0.1.3}/src/h2/streams.rs +0 -0
  104. {httpunk-0.1.2 → httpunk-0.1.3}/src/http/mod.rs +0 -0
  105. {httpunk-0.1.2 → httpunk-0.1.3}/src/lib.rs +0 -0
  106. {httpunk-0.1.2 → httpunk-0.1.3}/src/proxy.rs +0 -0
  107. {httpunk-0.1.2 → httpunk-0.1.3}/tests/_client.py +0 -0
  108. {httpunk-0.1.2 → httpunk-0.1.3}/tests/conftest.py +0 -0
  109. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_asyncio_backend.py +0 -0
  110. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_asyncio_client_protocol.py +0 -0
  111. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_asyncio_e2e.py +0 -0
  112. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_asyncio_protocol.py +0 -0
  113. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_backend.py +0 -0
  114. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h1_codec.py +0 -0
  115. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h1_conn.py +0 -0
  116. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h1_decode.py +0 -0
  117. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h1_server.py +0 -0
  118. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_codec.py +0 -0
  119. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_conn.py +0 -0
  120. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_errors.py +0 -0
  121. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_flow.py +0 -0
  122. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_flow_control.py +0 -0
  123. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_ready.py +0 -0
  124. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_server.py +0 -0
  125. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_settings.py +0 -0
  126. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_h2_state.py +0 -0
  127. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_headermap.py +0 -0
  128. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_util_auto.py +0 -0
  129. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_util_connect.py +0 -0
  130. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_util_graceful.py +0 -0
  131. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_util_pool.py +0 -0
  132. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_util_proxy.py +0 -0
  133. {httpunk-0.1.2 → httpunk-0.1.3}/tests/test_util_tls.py +0 -0
@@ -118,7 +118,7 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
118
118
 
119
119
  [[package]]
120
120
  name = "httpunk"
121
- version = "0.1.2"
121
+ version = "0.1.3"
122
122
  dependencies = [
123
123
  "bytes",
124
124
  "h2",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "httpunk"
3
- version = "0.1.2"
3
+ version = "0.1.3"
4
4
  description = "The Rust HTTP library for Python"
5
5
  authors = [
6
6
  "Giovanni Barillari <g@baro.dev>",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: httpunk
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: BSD License
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Rust
21
21
  Classifier: Topic :: Internet :: WWW/HTTP
22
- Requires-Dist: tonio~=0.8.1 ; python_full_version >= '3.14' and extra == 'tonio'
22
+ Requires-Dist: tonio~=0.9.6 ; python_full_version >= '3.14' and extra == 'tonio'
23
23
  Provides-Extra: tonio
24
24
  License-File: LICENSE
25
25
  Summary: The Rust HTTP library for Python
@@ -13,6 +13,7 @@ from tonio.colored.net.tls import open_tls_over_tcp_stream as _open_tls_over_tcp
13
13
  from tonio.colored.sync import Lock as _Lock, Semaphore as _Semaphore
14
14
  from tonio.colored.sync.channel import unbounded as _unbounded
15
15
  from tonio.colored.time import time as _now, timeout as _timeout
16
+ from tonio.exceptions import CancelledError
16
17
 
17
18
 
18
19
  class _TonioSemaphore:
@@ -29,7 +30,12 @@ class _TonioSemaphore:
29
30
  async def acquire(self):
30
31
  event = self._sem.acquire()
31
32
  if event is not None:
32
- await event.waiter(None)
33
+ try:
34
+ await event.waiter(None)
35
+ except CancelledError:
36
+ if not event.set():
37
+ self._sem.release()
38
+ raise
33
39
 
34
40
  def release(self):
35
41
  self._sem.release()
@@ -36,14 +36,14 @@ requires-python = ">=3.10"
36
36
  dependencies = []
37
37
 
38
38
  [project.optional-dependencies]
39
- tonio = ["tonio~=0.8.1; python_version >= '3.14'"]
39
+ tonio = ["tonio~=0.9.6; python_version >= '3.14'"]
40
40
 
41
41
  [dependency-groups]
42
42
  build = [
43
43
  'maturin~=1.8',
44
44
  ]
45
45
  lint = [
46
- 'ruff~=0.11',
46
+ 'ruff~=0.15.0',
47
47
  ]
48
48
  test = [
49
49
  'pytest~=8.3',
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