tigrcorn 0.3.9__tar.gz → 0.3.16.dev9__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 (719) hide show
  1. tigrcorn-0.3.16.dev9/PKG-INFO +889 -0
  2. tigrcorn-0.3.16.dev9/PYPI_README.md +649 -0
  3. tigrcorn-0.3.16.dev9/README.md +649 -0
  4. tigrcorn-0.3.16.dev9/pyproject.toml +142 -0
  5. tigrcorn-0.3.16.dev9/src/tigrcorn/__init__.py +46 -0
  6. tigrcorn-0.3.16.dev9/src/tigrcorn/_workspace.py +15 -0
  7. tigrcorn-0.3.16.dev9/src/tigrcorn/api.py +7 -0
  8. tigrcorn-0.3.16.dev9/src/tigrcorn/app_interfaces.py +7 -0
  9. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/__init__.py +12 -0
  10. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/connection.py +7 -0
  11. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/errors.py +7 -0
  12. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/events/__init__.py +12 -0
  13. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/events/custom.py +7 -0
  14. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/events/http.py +7 -0
  15. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/events/lifespan.py +7 -0
  16. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/events/websocket.py +7 -0
  17. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/extensions/__init__.py +12 -0
  18. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/extensions/tls.py +7 -0
  19. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/extensions/websocket_denial.py +7 -0
  20. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/receive.py +7 -0
  21. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/scopes/__init__.py +12 -0
  22. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/scopes/custom.py +7 -0
  23. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/scopes/http.py +7 -0
  24. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/scopes/lifespan.py +7 -0
  25. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/scopes/websocket.py +7 -0
  26. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/send.py +7 -0
  27. tigrcorn-0.3.16.dev9/src/tigrcorn/asgi/state.py +7 -0
  28. tigrcorn-0.3.16.dev9/src/tigrcorn/availability.py +7 -0
  29. tigrcorn-0.3.16.dev9/src/tigrcorn/cli.py +7 -0
  30. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/__init__.py +12 -0
  31. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/aioquic_preflight.py +7 -0
  32. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/asgi3.py +7 -0
  33. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/certification_env.py +7 -0
  34. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/conformance.py +7 -0
  35. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/hypercorn.py +7 -0
  36. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/interop.py +7 -0
  37. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/interop_capture.py +7 -0
  38. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/interop_cli.py +7 -0
  39. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/interop_runner.py +7 -0
  40. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/src/tigrcorn/compat/perf_runner.py +21 -2
  41. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/release_gates.py +7 -0
  42. tigrcorn-0.3.16.dev9/src/tigrcorn/compat/uvicorn.py +7 -0
  43. tigrcorn-0.3.16.dev9/src/tigrcorn/config/__init__.py +12 -0
  44. tigrcorn-0.3.16.dev9/src/tigrcorn/config/audit.py +7 -0
  45. tigrcorn-0.3.16.dev9/src/tigrcorn/config/defaults.py +7 -0
  46. tigrcorn-0.3.16.dev9/src/tigrcorn/config/env.py +7 -0
  47. tigrcorn-0.3.16.dev9/src/tigrcorn/config/files.py +7 -0
  48. tigrcorn-0.3.16.dev9/src/tigrcorn/config/governance_surface.py +7 -0
  49. tigrcorn-0.3.16.dev9/src/tigrcorn/config/load.py +7 -0
  50. tigrcorn-0.3.16.dev9/src/tigrcorn/config/merge.py +7 -0
  51. tigrcorn-0.3.16.dev9/src/tigrcorn/config/model.py +7 -0
  52. tigrcorn-0.3.16.dev9/src/tigrcorn/config/negative_surface.py +7 -0
  53. tigrcorn-0.3.16.dev9/src/tigrcorn/config/normalize.py +7 -0
  54. tigrcorn-0.3.16.dev9/src/tigrcorn/config/observability_surface.py +7 -0
  55. tigrcorn-0.3.16.dev9/src/tigrcorn/config/origin_surface.py +7 -0
  56. tigrcorn-0.3.16.dev9/src/tigrcorn/config/policy_surface.py +7 -0
  57. tigrcorn-0.3.16.dev9/src/tigrcorn/config/profiles.py +7 -0
  58. tigrcorn-0.3.16.dev9/src/tigrcorn/config/quic_surface.py +7 -0
  59. tigrcorn-0.3.16.dev9/src/tigrcorn/config/validate.py +7 -0
  60. tigrcorn-0.3.16.dev9/src/tigrcorn/constants.py +8 -0
  61. tigrcorn-0.3.16.dev9/src/tigrcorn/contract/__init__.py +12 -0
  62. tigrcorn-0.3.16.dev9/src/tigrcorn/contract/classification.py +7 -0
  63. tigrcorn-0.3.16.dev9/src/tigrcorn/contract/events.py +7 -0
  64. tigrcorn-0.3.16.dev9/src/tigrcorn/contract/metadata.py +7 -0
  65. tigrcorn-0.3.16.dev9/src/tigrcorn/contract/scopes.py +7 -0
  66. tigrcorn-0.3.16.dev9/src/tigrcorn/embedded.py +7 -0
  67. tigrcorn-0.3.16.dev9/src/tigrcorn/errors.py +8 -0
  68. tigrcorn-0.3.16.dev9/src/tigrcorn/flow/__init__.py +10 -0
  69. tigrcorn-0.3.16.dev9/src/tigrcorn/flow/backpressure.py +7 -0
  70. tigrcorn-0.3.16.dev9/src/tigrcorn/flow/buffers.py +7 -0
  71. tigrcorn-0.3.16.dev9/src/tigrcorn/flow/credits.py +7 -0
  72. tigrcorn-0.3.16.dev9/src/tigrcorn/flow/keepalive.py +7 -0
  73. tigrcorn-0.3.16.dev9/src/tigrcorn/flow/timeouts.py +7 -0
  74. tigrcorn-0.3.16.dev9/src/tigrcorn/flow/watermarks.py +7 -0
  75. tigrcorn-0.3.16.dev9/src/tigrcorn/http/__init__.py +12 -0
  76. tigrcorn-0.3.16.dev9/src/tigrcorn/http/alt_svc.py +7 -0
  77. tigrcorn-0.3.16.dev9/src/tigrcorn/http/conditional.py +7 -0
  78. tigrcorn-0.3.16.dev9/src/tigrcorn/http/early_hints.py +7 -0
  79. tigrcorn-0.3.16.dev9/src/tigrcorn/http/entity.py +7 -0
  80. tigrcorn-0.3.16.dev9/src/tigrcorn/http/etag.py +7 -0
  81. tigrcorn-0.3.16.dev9/src/tigrcorn/http/range.py +7 -0
  82. tigrcorn-0.3.16.dev9/src/tigrcorn/http/structured_fields.py +7 -0
  83. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/__init__.py +12 -0
  84. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/base.py +7 -0
  85. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/inproc.py +7 -0
  86. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/pipe.py +7 -0
  87. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/registry.py +7 -0
  88. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/tcp.py +7 -0
  89. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/udp.py +7 -0
  90. tigrcorn-0.3.16.dev9/src/tigrcorn/listeners/unix.py +7 -0
  91. tigrcorn-0.3.16.dev9/src/tigrcorn/observability/__init__.py +12 -0
  92. tigrcorn-0.3.16.dev9/src/tigrcorn/observability/events.py +7 -0
  93. tigrcorn-0.3.16.dev9/src/tigrcorn/observability/logging.py +7 -0
  94. tigrcorn-0.3.16.dev9/src/tigrcorn/observability/metrics.py +7 -0
  95. tigrcorn-0.3.16.dev9/src/tigrcorn/observability/tracing.py +7 -0
  96. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/README.md +30 -0
  97. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/__init__.py +2 -0
  98. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/default.profile.json +191 -0
  99. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/static-origin.profile.json +200 -0
  100. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/strict-h1-origin.profile.json +196 -0
  101. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/strict-h2-origin.profile.json +202 -0
  102. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/strict-h3-edge.profile.json +231 -0
  103. tigrcorn-0.3.16.dev9/src/tigrcorn/profiles/strict-mtls-origin.profile.json +206 -0
  104. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/__init__.py +12 -0
  105. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/_compression.py +7 -0
  106. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/connect.py +7 -0
  107. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/content_coding.py +7 -0
  108. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/custom/__init__.py +12 -0
  109. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/custom/adapters.py +7 -0
  110. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/custom/registry.py +7 -0
  111. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http1/__init__.py +12 -0
  112. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http1/keepalive.py +7 -0
  113. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http1/parser.py +7 -0
  114. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http1/serializer.py +7 -0
  115. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http1/state.py +7 -0
  116. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/__init__.py +12 -0
  117. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/codec.py +7 -0
  118. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/flow.py +7 -0
  119. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/handler.py +7 -0
  120. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/hpack.py +7 -0
  121. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/state.py +7 -0
  122. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/streams.py +7 -0
  123. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http2/websocket.py +7 -0
  124. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http3/__init__.py +12 -0
  125. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http3/codec.py +7 -0
  126. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http3/handler.py +7 -0
  127. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http3/qpack.py +7 -0
  128. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http3/state.py +7 -0
  129. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http3/streams.py +7 -0
  130. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/http3/websocket.py +7 -0
  131. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/lifespan/__init__.py +12 -0
  132. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/lifespan/driver.py +7 -0
  133. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/rawframed/__init__.py +12 -0
  134. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/rawframed/codec.py +7 -0
  135. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/rawframed/frames.py +7 -0
  136. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/rawframed/handler.py +7 -0
  137. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/rawframed/state.py +7 -0
  138. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/registry.py +7 -0
  139. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/websocket/__init__.py +12 -0
  140. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/websocket/codec.py +7 -0
  141. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/websocket/extensions.py +7 -0
  142. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/websocket/frames.py +7 -0
  143. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/websocket/handler.py +7 -0
  144. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/websocket/handshake.py +7 -0
  145. tigrcorn-0.3.16.dev9/src/tigrcorn/protocols/websocket/state.py +7 -0
  146. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/__init__.py +10 -0
  147. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/cancellation.py +7 -0
  148. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/dispatch.py +7 -0
  149. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/fairness.py +7 -0
  150. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/policy.py +7 -0
  151. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/priorities.py +7 -0
  152. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/quotas.py +7 -0
  153. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/runtime.py +7 -0
  154. tigrcorn-0.3.16.dev9/src/tigrcorn/scheduler/tasks.py +7 -0
  155. tigrcorn-0.3.16.dev9/src/tigrcorn/security/__init__.py +12 -0
  156. tigrcorn-0.3.16.dev9/src/tigrcorn/security/alpn.py +7 -0
  157. tigrcorn-0.3.16.dev9/src/tigrcorn/security/certs.py +7 -0
  158. tigrcorn-0.3.16.dev9/src/tigrcorn/security/policies.py +7 -0
  159. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls.py +7 -0
  160. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls13/__init__.py +12 -0
  161. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls13/extensions.py +7 -0
  162. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls13/handshake.py +7 -0
  163. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls13/key_schedule.py +7 -0
  164. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls13/messages.py +7 -0
  165. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls13/transcript.py +7 -0
  166. tigrcorn-0.3.16.dev9/src/tigrcorn/security/tls_cipher_policy.py +7 -0
  167. tigrcorn-0.3.16.dev9/src/tigrcorn/security/x509/__init__.py +12 -0
  168. tigrcorn-0.3.16.dev9/src/tigrcorn/security/x509/path.py +7 -0
  169. tigrcorn-0.3.16.dev9/src/tigrcorn/server/__init__.py +12 -0
  170. tigrcorn-0.3.16.dev9/src/tigrcorn/server/app_loader.py +7 -0
  171. tigrcorn-0.3.16.dev9/src/tigrcorn/server/bootstrap.py +13 -0
  172. tigrcorn-0.3.16.dev9/src/tigrcorn/server/hooks.py +7 -0
  173. tigrcorn-0.3.16.dev9/src/tigrcorn/server/reloader.py +7 -0
  174. tigrcorn-0.3.16.dev9/src/tigrcorn/server/runner.py +7 -0
  175. tigrcorn-0.3.16.dev9/src/tigrcorn/server/shutdown.py +7 -0
  176. tigrcorn-0.3.16.dev9/src/tigrcorn/server/signals.py +7 -0
  177. tigrcorn-0.3.16.dev9/src/tigrcorn/server/state.py +7 -0
  178. tigrcorn-0.3.16.dev9/src/tigrcorn/server/supervisor.py +7 -0
  179. tigrcorn-0.3.16.dev9/src/tigrcorn/sessions/__init__.py +10 -0
  180. tigrcorn-0.3.16.dev9/src/tigrcorn/sessions/base.py +7 -0
  181. tigrcorn-0.3.16.dev9/src/tigrcorn/sessions/connection.py +7 -0
  182. tigrcorn-0.3.16.dev9/src/tigrcorn/sessions/limits.py +7 -0
  183. tigrcorn-0.3.16.dev9/src/tigrcorn/sessions/manager.py +7 -0
  184. tigrcorn-0.3.16.dev9/src/tigrcorn/sessions/metadata.py +7 -0
  185. tigrcorn-0.3.16.dev9/src/tigrcorn/sessions/quic.py +7 -0
  186. tigrcorn-0.3.16.dev9/src/tigrcorn/ssot_baseline.py +152 -0
  187. tigrcorn-0.3.16.dev9/src/tigrcorn/static.py +7 -0
  188. tigrcorn-0.3.16.dev9/src/tigrcorn/streams/__init__.py +10 -0
  189. tigrcorn-0.3.16.dev9/src/tigrcorn/streams/base.py +7 -0
  190. tigrcorn-0.3.16.dev9/src/tigrcorn/streams/ids.py +7 -0
  191. tigrcorn-0.3.16.dev9/src/tigrcorn/streams/multiplex.py +7 -0
  192. tigrcorn-0.3.16.dev9/src/tigrcorn/streams/registry.py +7 -0
  193. tigrcorn-0.3.16.dev9/src/tigrcorn/streams/singleplex.py +7 -0
  194. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/__init__.py +12 -0
  195. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/base.py +7 -0
  196. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/inproc/__init__.py +12 -0
  197. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/inproc/channel.py +7 -0
  198. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/pipe/__init__.py +12 -0
  199. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/pipe/connection.py +7 -0
  200. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/__init__.py +12 -0
  201. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/connection.py +7 -0
  202. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/crypto.py +7 -0
  203. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/datagrams.py +7 -0
  204. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/flow.py +7 -0
  205. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/handshake.py +7 -0
  206. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/packets.py +7 -0
  207. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/recovery.py +7 -0
  208. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/scheduler.py +7 -0
  209. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/streams.py +7 -0
  210. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/quic/tls_adapter.py +7 -0
  211. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/registry.py +7 -0
  212. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/tcp/__init__.py +12 -0
  213. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/tcp/accept.py +7 -0
  214. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/tcp/connection.py +7 -0
  215. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/tcp/reader.py +7 -0
  216. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/tcp/socketopts.py +7 -0
  217. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/tcp/tls.py +7 -0
  218. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/tcp/writer.py +7 -0
  219. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/udp/__init__.py +12 -0
  220. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/udp/endpoint.py +7 -0
  221. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/udp/packet.py +7 -0
  222. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/udp/socketopts.py +7 -0
  223. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/unix/__init__.py +12 -0
  224. tigrcorn-0.3.16.dev9/src/tigrcorn/transports/unix/connection.py +7 -0
  225. tigrcorn-0.3.16.dev9/src/tigrcorn/types.py +8 -0
  226. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/__init__.py +10 -0
  227. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/authority.py +7 -0
  228. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/bytes.py +7 -0
  229. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/headers.py +7 -0
  230. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/ids.py +7 -0
  231. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/imports.py +7 -0
  232. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/net.py +7 -0
  233. tigrcorn-0.3.16.dev9/src/tigrcorn/utils/proxy.py +7 -0
  234. tigrcorn-0.3.16.dev9/src/tigrcorn/version.py +7 -0
  235. tigrcorn-0.3.16.dev9/src/tigrcorn/workers/__init__.py +10 -0
  236. tigrcorn-0.3.16.dev9/src/tigrcorn/workers/local.py +7 -0
  237. tigrcorn-0.3.16.dev9/src/tigrcorn/workers/model.py +7 -0
  238. tigrcorn-0.3.16.dev9/src/tigrcorn/workers/process.py +7 -0
  239. tigrcorn-0.3.16.dev9/src/tigrcorn/workers/supervisor.py +7 -0
  240. tigrcorn-0.3.16.dev9/src/tigrcorn.egg-info/PKG-INFO +889 -0
  241. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/src/tigrcorn.egg-info/SOURCES.txt +188 -37
  242. tigrcorn-0.3.16.dev9/src/tigrcorn.egg-info/requires.txt +65 -0
  243. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_additional_remaining_work.py +3 -1
  244. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_aioquic_adapter_preflight.py +25 -19
  245. tigrcorn-0.3.16.dev9/tests/test_aioquic_performance_matrix.py +58 -0
  246. tigrcorn-0.3.16.dev9/tests/test_app_interface_cli_flag.py +29 -0
  247. tigrcorn-0.3.16.dev9/tests/test_app_interface_config_toml.py +28 -0
  248. tigrcorn-0.3.16.dev9/tests/test_app_interface_detection_precedence.py +54 -0
  249. tigrcorn-0.3.16.dev9/tests/test_app_interface_env_var.py +34 -0
  250. tigrcorn-0.3.16.dev9/tests/test_app_interface_fail_closed_ambiguity.py +34 -0
  251. tigrcorn-0.3.16.dev9/tests/test_app_interface_public_api.py +32 -0
  252. tigrcorn-0.3.16.dev9/tests/test_app_loader.py +60 -0
  253. tigrcorn-0.3.16.dev9/tests/test_asgi2_compat_exclusion.py +33 -0
  254. tigrcorn-0.3.16.dev9/tests/test_asgi3_endpoint_metadata_extension.py +8 -0
  255. tigrcorn-0.3.16.dev9/tests/test_asgi3_hot_path_isolation.py +21 -0
  256. tigrcorn-0.3.16.dev9/tests/test_asgi3_security_metadata_extension.py +8 -0
  257. tigrcorn-0.3.16.dev9/tests/test_asgi3_stream_datagram_extension.py +8 -0
  258. tigrcorn-0.3.16.dev9/tests/test_asgi3_transport_identity_extension.py +8 -0
  259. tigrcorn-0.3.16.dev9/tests/test_category_boundaries.py +77 -0
  260. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_certification_environment_freeze.py +5 -1
  261. tigrcorn-0.3.16.dev9/tests/test_certification_explicit_surfaces_boundary.py +64 -0
  262. tigrcorn-0.3.9/tests/test_phase2_cli_config_surface.py → tigrcorn-0.3.16.dev9/tests/test_cli_config_surface.py +1 -1
  263. tigrcorn-0.3.16.dev9/tests/test_code_style_governance.py +35 -0
  264. tigrcorn-0.3.16.dev9/tests/test_compat_dispatch_selection.py +50 -0
  265. tigrcorn-0.3.16.dev9/tests/test_compat_http_boundary.py +119 -0
  266. tigrcorn-0.3.16.dev9/tests/test_config_matrix_pytest.py +53 -0
  267. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_conformance_corpus.py +21 -0
  268. tigrcorn-0.3.9/tests/test_phase9d1_connect_relay_local_negatives.py → tigrcorn-0.3.16.dev9/tests/test_connect_relay_local_negatives.py +2 -0
  269. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_connect_rfc9110.py +1 -0
  270. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_connect_tunnel_h2_h3.py +2 -0
  271. tigrcorn-0.3.16.dev9/tests/test_contract_alpn_metadata.py +23 -0
  272. tigrcorn-0.3.16.dev9/tests/test_contract_app_dispatch.py +30 -0
  273. tigrcorn-0.3.16.dev9/tests/test_contract_classification_projection.py +89 -0
  274. tigrcorn-0.3.16.dev9/tests/test_contract_classification_projection_t2.py +161 -0
  275. tigrcorn-0.3.16.dev9/tests/test_contract_core_boundary.py +142 -0
  276. tigrcorn-0.3.16.dev9/tests/test_contract_datagram_flow_control_mapping.py +8 -0
  277. tigrcorn-0.3.16.dev9/tests/test_contract_datagram_unit_identity.py +56 -0
  278. tigrcorn-0.3.16.dev9/tests/test_contract_emit_completion_asgi_extension.py +8 -0
  279. tigrcorn-0.3.16.dev9/tests/test_contract_emit_completion_events.py +57 -0
  280. tigrcorn-0.3.16.dev9/tests/test_contract_fd_endpoint_metadata.py +32 -0
  281. tigrcorn-0.3.16.dev9/tests/test_contract_generic_datagram_runtime.py +72 -0
  282. tigrcorn-0.3.16.dev9/tests/test_contract_generic_stream_runtime.py +71 -0
  283. tigrcorn-0.3.16.dev9/tests/test_contract_http2_stream_identity.py +8 -0
  284. tigrcorn-0.3.16.dev9/tests/test_contract_http3_stream_identity.py +8 -0
  285. tigrcorn-0.3.16.dev9/tests/test_contract_illegal_event_order_rejection.py +38 -0
  286. tigrcorn-0.3.16.dev9/tests/test_contract_inproc_endpoint_metadata.py +32 -0
  287. tigrcorn-0.3.16.dev9/tests/test_contract_invalid_endpoint_metadata_rejection.py +29 -0
  288. tigrcorn-0.3.16.dev9/tests/test_contract_jsonrpc_binding_classification.py +27 -0
  289. tigrcorn-0.3.16.dev9/tests/test_contract_listener_endpoint_metadata.py +33 -0
  290. tigrcorn-0.3.16.dev9/tests/test_contract_lossy_metadata_rejection.py +21 -0
  291. tigrcorn-0.3.16.dev9/tests/test_contract_mtls_peer_metadata.py +8 -0
  292. tigrcorn-0.3.16.dev9/tests/test_contract_native_public_api.py +31 -0
  293. tigrcorn-0.3.16.dev9/tests/test_contract_native_runtime.py +20 -0
  294. tigrcorn-0.3.16.dev9/tests/test_contract_ocsp_crl_metadata.py +42 -0
  295. tigrcorn-0.3.16.dev9/tests/test_contract_pipe_endpoint_metadata.py +32 -0
  296. tigrcorn-0.3.16.dev9/tests/test_contract_planned_coverage_inventory.py +177 -0
  297. tigrcorn-0.3.16.dev9/tests/test_contract_proof_boundary.py +98 -0
  298. tigrcorn-0.3.16.dev9/tests/test_contract_quic_connection_identity.py +8 -0
  299. tigrcorn-0.3.16.dev9/tests/test_contract_rest_binding_classification.py +25 -0
  300. tigrcorn-0.3.16.dev9/tests/test_contract_sni_metadata.py +25 -0
  301. tigrcorn-0.3.16.dev9/tests/test_contract_sse_binding_classification.py +27 -0
  302. tigrcorn-0.3.16.dev9/tests/test_contract_stream_backpressure_mapping.py +8 -0
  303. tigrcorn-0.3.16.dev9/tests/test_contract_tcp_connection_identity.py +40 -0
  304. tigrcorn-0.3.16.dev9/tests/test_contract_tls_endpoint_metadata.py +32 -0
  305. tigrcorn-0.3.16.dev9/tests/test_contract_uds_endpoint_metadata.py +32 -0
  306. tigrcorn-0.3.16.dev9/tests/test_contract_unix_connection_identity.py +38 -0
  307. tigrcorn-0.3.16.dev9/tests/test_contract_unsupported_scope_rejection.py +27 -0
  308. tigrcorn-0.3.16.dev9/tests/test_contract_webtransport_session_identity.py +8 -0
  309. tigrcorn-0.3.16.dev9/tests/test_contract_webtransport_stream_identity.py +8 -0
  310. tigrcorn-0.3.16.dev9/tests/test_default_audits.py +56 -0
  311. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_dependency_declaration_reconciliation_checkpoint.py +4 -1
  312. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_documentation_truth_normalization_checkpoint.py +2 -0
  313. tigrcorn-0.3.16.dev9/tests/test_dos_resilience.py +208 -0
  314. tigrcorn-0.3.9/tests/test_phase2_entity_semantics_checkpoint.py → tigrcorn-0.3.16.dev9/tests/test_entity_semantics_checkpoint.py +11 -4
  315. tigrcorn-0.3.16.dev9/tests/test_governance_graph_export.py +65 -0
  316. tigrcorn-0.3.16.dev9/tests/test_governed_rfc_deep_coverage.py +368 -0
  317. tigrcorn-0.3.16.dev9/tests/test_governed_rfc_support_floor.py +194 -0
  318. tigrcorn-0.3.16.dev9/tests/test_h11_http1_probe_fixture.py +52 -0
  319. tigrcorn-0.3.16.dev9/tests/test_h2_http2_probe_fixture.py +53 -0
  320. tigrcorn-0.3.16.dev9/tests/test_h3_asgi3_lab.py +77 -0
  321. tigrcorn-0.3.16.dev9/tests/test_h3_http3_probe_fixture.py +63 -0
  322. tigrcorn-0.3.16.dev9/tests/test_h3_quic_control_plane_boundary.py +181 -0
  323. tigrcorn-0.3.16.dev9/tests/test_h3_quic_probe_fixture.py +67 -0
  324. tigrcorn-0.3.16.dev9/tests/test_http1_parser_owned_surface.py +41 -0
  325. tigrcorn-0.3.16.dev9/tests/test_http2_asgi3_demo.py +99 -0
  326. tigrcorn-0.3.16.dev9/tests/test_http2_duplex_interleaving.py +85 -0
  327. tigrcorn-0.3.16.dev9/tests/test_http2_duplex_interleaving_t2.py +86 -0
  328. tigrcorn-0.3.16.dev9/tests/test_http2_flow_control_backpressure.py +86 -0
  329. tigrcorn-0.3.16.dev9/tests/test_http2_flow_control_backpressure_t2.py +100 -0
  330. tigrcorn-0.3.16.dev9/tests/test_http2_request_streaming.py +75 -0
  331. tigrcorn-0.3.16.dev9/tests/test_http2_request_streaming_t2.py +107 -0
  332. tigrcorn-0.3.16.dev9/tests/test_http2_rfc9113_gap_regressions.py +140 -0
  333. tigrcorn-0.3.16.dev9/tests/test_http2_rfc9113_server_negatives.py +175 -0
  334. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http2_state_machine_completion.py +7 -6
  335. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http2_websocket_rfc8441.py +63 -2
  336. tigrcorn-0.3.16.dev9/tests/test_http_status_code_surface.py +97 -0
  337. tigrcorn-0.3.16.dev9/tests/test_json_rpc_runtime_exclusion.py +31 -0
  338. tigrcorn-0.3.16.dev9/tests/test_lifespan_example.py +76 -0
  339. tigrcorn-0.3.9/tests/test_phase9f2_logging_exporter_closure.py → tigrcorn-0.3.16.dev9/tests/test_logging_exporter_closure.py +166 -32
  340. tigrcorn-0.3.16.dev9/tests/test_negative_certification.py +43 -0
  341. tigrcorn-0.3.16.dev9/tests/test_observability_surface.py +113 -0
  342. tigrcorn-0.3.16.dev9/tests/test_open_loop_benchmark_matrices.py +180 -0
  343. tigrcorn-0.3.16.dev9/tests/test_optional_performance_comparison_ssot.py +94 -0
  344. tigrcorn-0.3.16.dev9/tests/test_origin_contract.py +129 -0
  345. tigrcorn-0.3.16.dev9/tests/test_p8_gov.py +70 -0
  346. tigrcorn-0.3.16.dev9/tests/test_p8_sf.py +30 -0
  347. tigrcorn-0.3.16.dev9/tests/test_p9_auto.py +97 -0
  348. tigrcorn-0.3.16.dev9/tests/test_package_boundaries.py +249 -0
  349. tigrcorn-0.3.16.dev9/tests/test_policy_surface.py +133 -0
  350. tigrcorn-0.3.16.dev9/tests/test_product_boundary_exclusions.py +28 -0
  351. tigrcorn-0.3.16.dev9/tests/test_profile_resolution.py +103 -0
  352. tigrcorn-0.3.9/tests/test_phase8_promotion_targets.py → tigrcorn-0.3.16.dev9/tests/test_promotion_targets.py +4 -1
  353. tigrcorn-0.3.16.dev9/tests/test_protocol_scope_fixtures.py +107 -0
  354. tigrcorn-0.3.16.dev9/tests/test_quic_surface.py +88 -0
  355. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_transport_runtime_completion.py +24 -0
  356. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_release_gates.py +93 -1
  357. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_response_pipeline_streaming_checkpoint.py +1 -1
  358. tigrcorn-0.3.16.dev9/tests/test_rest_runtime_exclusion.py +31 -0
  359. tigrcorn-0.3.16.dev9/tests/test_rfc9112_boundary_formalization.py +35 -0
  360. tigrcorn-0.3.16.dev9/tests/test_rsgi_compat_exclusion.py +22 -0
  361. tigrcorn-0.3.16.dev9/tests/test_runtime_performance_matrix.py +64 -0
  362. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_server_unix.py +4 -0
  363. tigrcorn-0.3.16.dev9/tests/test_ssot_all_feature_t012_baseline.py +95 -0
  364. tigrcorn-0.3.16.dev9/tests/test_ssot_registry.py +263 -0
  365. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_static_delivery_productionization_checkpoint.py +8 -11
  366. tigrcorn-0.3.9/tests/test_phase2_static_delivery_surface.py → tigrcorn-0.3.16.dev9/tests/test_static_delivery_surface.py +10 -13
  367. tigrcorn-0.3.16.dev9/tests/test_stream_probe_fixtures.py +82 -0
  368. tigrcorn-0.3.9/tests/test_phase9g_strict_performance_closure.py → tigrcorn-0.3.16.dev9/tests/test_strict_performance_closure.py +2 -2
  369. tigrcorn-0.3.9/tests/test_phase3_strict_rfc_surface.py → tigrcorn-0.3.16.dev9/tests/test_strict_rfc_surface.py +8 -1
  370. tigrcorn-0.3.16.dev9/tests/test_tigr_asgi_contract_peer_validation.py +241 -0
  371. tigrcorn-0.3.16.dev9/tests/test_tls_identity_interop_boundary.py +417 -0
  372. tigrcorn-0.3.16.dev9/tests/test_websocket_peer_performance_matrix.py +75 -0
  373. tigrcorn-0.3.16.dev9/tests/test_websocket_rfc7936.py +63 -0
  374. tigrcorn-0.3.16.dev9/tests/test_websocket_rfc8307.py +194 -0
  375. tigrcorn-0.3.16.dev9/tests/test_websocket_uix_demo.py +49 -0
  376. tigrcorn-0.3.16.dev9/tests/test_webtransport_bidi_stream_context.py +303 -0
  377. tigrcorn-0.3.16.dev9/tests/test_webtransport_datagram_runtime_dispatch.py +144 -0
  378. tigrcorn-0.3.16.dev9/tests/test_webtransport_feature_coverage.py +460 -0
  379. tigrcorn-0.3.16.dev9/tests/test_webtransport_h3_quic_completion_events.py +8 -0
  380. tigrcorn-0.3.16.dev9/tests/test_webtransport_h3_quic_datagram_events.py +8 -0
  381. tigrcorn-0.3.16.dev9/tests/test_webtransport_h3_quic_scope.py +8 -0
  382. tigrcorn-0.3.16.dev9/tests/test_webtransport_h3_quic_session_events.py +8 -0
  383. tigrcorn-0.3.16.dev9/tests/test_webtransport_h3_quic_stream_events.py +8 -0
  384. tigrcorn-0.3.16.dev9/tests/test_webtransport_mtls_demo.py +488 -0
  385. tigrcorn-0.3.16.dev9/tests/test_webtransport_operator_surface.py +113 -0
  386. tigrcorn-0.3.16.dev9/tests/test_ws_wss_probe_fixture.py +81 -0
  387. tigrcorn-0.3.16.dev9/tests/test_wsgi_compat_exclusion.py +31 -0
  388. tigrcorn-0.3.16.dev9/tests/test_wss_asgi3_lab.py +94 -0
  389. tigrcorn-0.3.16.dev9/tests/test_wt_peer_probe_package.py +203 -0
  390. tigrcorn-0.3.16.dev9/tests/test_wt_stream_probe_fixture.py +80 -0
  391. tigrcorn-0.3.9/PKG-INFO +0 -637
  392. tigrcorn-0.3.9/README.md +0 -425
  393. tigrcorn-0.3.9/pyproject.toml +0 -77
  394. tigrcorn-0.3.9/src/tigrcorn/__init__.py +0 -6
  395. tigrcorn-0.3.9/src/tigrcorn/api.py +0 -227
  396. tigrcorn-0.3.9/src/tigrcorn/asgi/__init__.py +0 -1
  397. tigrcorn-0.3.9/src/tigrcorn/asgi/connection.py +0 -12
  398. tigrcorn-0.3.9/src/tigrcorn/asgi/errors.py +0 -2
  399. tigrcorn-0.3.9/src/tigrcorn/asgi/events/__init__.py +0 -1
  400. tigrcorn-0.3.9/src/tigrcorn/asgi/events/custom.py +0 -13
  401. tigrcorn-0.3.9/src/tigrcorn/asgi/events/http.py +0 -13
  402. tigrcorn-0.3.9/src/tigrcorn/asgi/events/lifespan.py +0 -9
  403. tigrcorn-0.3.9/src/tigrcorn/asgi/events/websocket.py +0 -17
  404. tigrcorn-0.3.9/src/tigrcorn/asgi/extensions/__init__.py +0 -1
  405. tigrcorn-0.3.9/src/tigrcorn/asgi/extensions/tls.py +0 -10
  406. tigrcorn-0.3.9/src/tigrcorn/asgi/extensions/websocket_denial.py +0 -5
  407. tigrcorn-0.3.9/src/tigrcorn/asgi/receive.py +0 -200
  408. tigrcorn-0.3.9/src/tigrcorn/asgi/scopes/__init__.py +0 -1
  409. tigrcorn-0.3.9/src/tigrcorn/asgi/scopes/custom.py +0 -12
  410. tigrcorn-0.3.9/src/tigrcorn/asgi/scopes/http.py +0 -51
  411. tigrcorn-0.3.9/src/tigrcorn/asgi/scopes/lifespan.py +0 -12
  412. tigrcorn-0.3.9/src/tigrcorn/asgi/scopes/websocket.py +0 -59
  413. tigrcorn-0.3.9/src/tigrcorn/asgi/send.py +0 -663
  414. tigrcorn-0.3.9/src/tigrcorn/asgi/state.py +0 -9
  415. tigrcorn-0.3.9/src/tigrcorn/cli.py +0 -183
  416. tigrcorn-0.3.9/src/tigrcorn/compat/__init__.py +0 -44
  417. tigrcorn-0.3.9/src/tigrcorn/compat/aioquic_preflight.py +0 -449
  418. tigrcorn-0.3.9/src/tigrcorn/compat/asgi3.py +0 -46
  419. tigrcorn-0.3.9/src/tigrcorn/compat/certification_env.py +0 -419
  420. tigrcorn-0.3.9/src/tigrcorn/compat/conformance.py +0 -42
  421. tigrcorn-0.3.9/src/tigrcorn/compat/hypercorn.py +0 -13
  422. tigrcorn-0.3.9/src/tigrcorn/compat/interop.py +0 -40
  423. tigrcorn-0.3.9/src/tigrcorn/compat/interop_capture.py +0 -170
  424. tigrcorn-0.3.9/src/tigrcorn/compat/interop_cli.py +0 -34
  425. tigrcorn-0.3.9/src/tigrcorn/compat/interop_runner.py +0 -1983
  426. tigrcorn-0.3.9/src/tigrcorn/compat/release_gates.py +0 -1190
  427. tigrcorn-0.3.9/src/tigrcorn/compat/uvicorn.py +0 -23
  428. tigrcorn-0.3.9/src/tigrcorn/config/__init__.py +0 -38
  429. tigrcorn-0.3.9/src/tigrcorn/config/defaults.py +0 -5
  430. tigrcorn-0.3.9/src/tigrcorn/config/env.py +0 -186
  431. tigrcorn-0.3.9/src/tigrcorn/config/files.py +0 -108
  432. tigrcorn-0.3.9/src/tigrcorn/config/load.py +0 -558
  433. tigrcorn-0.3.9/src/tigrcorn/config/merge.py +0 -22
  434. tigrcorn-0.3.9/src/tigrcorn/config/model.py +0 -459
  435. tigrcorn-0.3.9/src/tigrcorn/config/normalize.py +0 -210
  436. tigrcorn-0.3.9/src/tigrcorn/config/validate.py +0 -210
  437. tigrcorn-0.3.9/src/tigrcorn/constants.py +0 -40
  438. tigrcorn-0.3.9/src/tigrcorn/embedded.py +0 -77
  439. tigrcorn-0.3.9/src/tigrcorn/errors.py +0 -22
  440. tigrcorn-0.3.9/src/tigrcorn/flow/__init__.py +0 -1
  441. tigrcorn-0.3.9/src/tigrcorn/flow/backpressure.py +0 -17
  442. tigrcorn-0.3.9/src/tigrcorn/flow/buffers.py +0 -29
  443. tigrcorn-0.3.9/src/tigrcorn/flow/credits.py +0 -21
  444. tigrcorn-0.3.9/src/tigrcorn/flow/keepalive.py +0 -85
  445. tigrcorn-0.3.9/src/tigrcorn/flow/timeouts.py +0 -17
  446. tigrcorn-0.3.9/src/tigrcorn/flow/watermarks.py +0 -16
  447. tigrcorn-0.3.9/src/tigrcorn/http/__init__.py +0 -24
  448. tigrcorn-0.3.9/src/tigrcorn/http/alt_svc.py +0 -71
  449. tigrcorn-0.3.9/src/tigrcorn/http/conditional.py +0 -126
  450. tigrcorn-0.3.9/src/tigrcorn/http/early_hints.py +0 -49
  451. tigrcorn-0.3.9/src/tigrcorn/http/entity.py +0 -338
  452. tigrcorn-0.3.9/src/tigrcorn/http/etag.py +0 -133
  453. tigrcorn-0.3.9/src/tigrcorn/http/range.py +0 -293
  454. tigrcorn-0.3.9/src/tigrcorn/listeners/__init__.py +0 -4
  455. tigrcorn-0.3.9/src/tigrcorn/listeners/base.py +0 -14
  456. tigrcorn-0.3.9/src/tigrcorn/listeners/inproc.py +0 -24
  457. tigrcorn-0.3.9/src/tigrcorn/listeners/pipe.py +0 -72
  458. tigrcorn-0.3.9/src/tigrcorn/listeners/registry.py +0 -15
  459. tigrcorn-0.3.9/src/tigrcorn/listeners/tcp.py +0 -90
  460. tigrcorn-0.3.9/src/tigrcorn/listeners/udp.py +0 -82
  461. tigrcorn-0.3.9/src/tigrcorn/listeners/unix.py +0 -69
  462. tigrcorn-0.3.9/src/tigrcorn/observability/__init__.py +0 -1
  463. tigrcorn-0.3.9/src/tigrcorn/observability/events.py +0 -9
  464. tigrcorn-0.3.9/src/tigrcorn/observability/logging.py +0 -216
  465. tigrcorn-0.3.9/src/tigrcorn/observability/metrics.py +0 -237
  466. tigrcorn-0.3.9/src/tigrcorn/observability/tracing.py +0 -180
  467. tigrcorn-0.3.9/src/tigrcorn/protocols/__init__.py +0 -1
  468. tigrcorn-0.3.9/src/tigrcorn/protocols/_compression.py +0 -219
  469. tigrcorn-0.3.9/src/tigrcorn/protocols/connect.py +0 -107
  470. tigrcorn-0.3.9/src/tigrcorn/protocols/content_coding.py +0 -179
  471. tigrcorn-0.3.9/src/tigrcorn/protocols/custom/__init__.py +0 -3
  472. tigrcorn-0.3.9/src/tigrcorn/protocols/custom/adapters.py +0 -18
  473. tigrcorn-0.3.9/src/tigrcorn/protocols/custom/registry.py +0 -15
  474. tigrcorn-0.3.9/src/tigrcorn/protocols/http1/__init__.py +0 -16
  475. tigrcorn-0.3.9/src/tigrcorn/protocols/http1/keepalive.py +0 -21
  476. tigrcorn-0.3.9/src/tigrcorn/protocols/http1/parser.py +0 -481
  477. tigrcorn-0.3.9/src/tigrcorn/protocols/http1/serializer.py +0 -188
  478. tigrcorn-0.3.9/src/tigrcorn/protocols/http1/state.py +0 -9
  479. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/__init__.py +0 -16
  480. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/codec.py +0 -266
  481. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/flow.py +0 -35
  482. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/handler.py +0 -1303
  483. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/hpack.py +0 -393
  484. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/state.py +0 -226
  485. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/streams.py +0 -76
  486. tigrcorn-0.3.9/src/tigrcorn/protocols/http2/websocket.py +0 -360
  487. tigrcorn-0.3.9/src/tigrcorn/protocols/http3/__init__.py +0 -71
  488. tigrcorn-0.3.9/src/tigrcorn/protocols/http3/codec.py +0 -146
  489. tigrcorn-0.3.9/src/tigrcorn/protocols/http3/handler.py +0 -1372
  490. tigrcorn-0.3.9/src/tigrcorn/protocols/http3/qpack.py +0 -843
  491. tigrcorn-0.3.9/src/tigrcorn/protocols/http3/state.py +0 -129
  492. tigrcorn-0.3.9/src/tigrcorn/protocols/http3/streams.py +0 -636
  493. tigrcorn-0.3.9/src/tigrcorn/protocols/http3/websocket.py +0 -360
  494. tigrcorn-0.3.9/src/tigrcorn/protocols/lifespan/__init__.py +0 -3
  495. tigrcorn-0.3.9/src/tigrcorn/protocols/lifespan/driver.py +0 -83
  496. tigrcorn-0.3.9/src/tigrcorn/protocols/rawframed/__init__.py +0 -5
  497. tigrcorn-0.3.9/src/tigrcorn/protocols/rawframed/codec.py +0 -18
  498. tigrcorn-0.3.9/src/tigrcorn/protocols/rawframed/frames.py +0 -28
  499. tigrcorn-0.3.9/src/tigrcorn/protocols/rawframed/handler.py +0 -72
  500. tigrcorn-0.3.9/src/tigrcorn/protocols/rawframed/state.py +0 -9
  501. tigrcorn-0.3.9/src/tigrcorn/protocols/registry.py +0 -22
  502. tigrcorn-0.3.9/src/tigrcorn/protocols/websocket/__init__.py +0 -1
  503. tigrcorn-0.3.9/src/tigrcorn/protocols/websocket/codec.py +0 -31
  504. tigrcorn-0.3.9/src/tigrcorn/protocols/websocket/extensions.py +0 -324
  505. tigrcorn-0.3.9/src/tigrcorn/protocols/websocket/frames.py +0 -174
  506. tigrcorn-0.3.9/src/tigrcorn/protocols/websocket/handler.py +0 -462
  507. tigrcorn-0.3.9/src/tigrcorn/protocols/websocket/handshake.py +0 -66
  508. tigrcorn-0.3.9/src/tigrcorn/protocols/websocket/state.py +0 -10
  509. tigrcorn-0.3.9/src/tigrcorn/scheduler/__init__.py +0 -17
  510. tigrcorn-0.3.9/src/tigrcorn/scheduler/cancellation.py +0 -21
  511. tigrcorn-0.3.9/src/tigrcorn/scheduler/dispatch.py +0 -27
  512. tigrcorn-0.3.9/src/tigrcorn/scheduler/fairness.py +0 -21
  513. tigrcorn-0.3.9/src/tigrcorn/scheduler/policy.py +0 -12
  514. tigrcorn-0.3.9/src/tigrcorn/scheduler/priorities.py +0 -8
  515. tigrcorn-0.3.9/src/tigrcorn/scheduler/quotas.py +0 -19
  516. tigrcorn-0.3.9/src/tigrcorn/scheduler/runtime.py +0 -156
  517. tigrcorn-0.3.9/src/tigrcorn/scheduler/tasks.py +0 -26
  518. tigrcorn-0.3.9/src/tigrcorn/security/__init__.py +0 -1
  519. tigrcorn-0.3.9/src/tigrcorn/security/alpn.py +0 -27
  520. tigrcorn-0.3.9/src/tigrcorn/security/certs.py +0 -10
  521. tigrcorn-0.3.9/src/tigrcorn/security/policies.py +0 -68
  522. tigrcorn-0.3.9/src/tigrcorn/security/tls.py +0 -569
  523. tigrcorn-0.3.9/src/tigrcorn/security/tls13/__init__.py +0 -66
  524. tigrcorn-0.3.9/src/tigrcorn/security/tls13/extensions.py +0 -759
  525. tigrcorn-0.3.9/src/tigrcorn/security/tls13/handshake.py +0 -1382
  526. tigrcorn-0.3.9/src/tigrcorn/security/tls13/key_schedule.py +0 -108
  527. tigrcorn-0.3.9/src/tigrcorn/security/tls13/messages.py +0 -428
  528. tigrcorn-0.3.9/src/tigrcorn/security/tls13/transcript.py +0 -51
  529. tigrcorn-0.3.9/src/tigrcorn/security/tls_cipher_policy.py +0 -43
  530. tigrcorn-0.3.9/src/tigrcorn/security/x509/__init__.py +0 -31
  531. tigrcorn-0.3.9/src/tigrcorn/security/x509/path.py +0 -1258
  532. tigrcorn-0.3.9/src/tigrcorn/server/__init__.py +0 -3
  533. tigrcorn-0.3.9/src/tigrcorn/server/app_loader.py +0 -40
  534. tigrcorn-0.3.9/src/tigrcorn/server/bootstrap.py +0 -225
  535. tigrcorn-0.3.9/src/tigrcorn/server/hooks.py +0 -24
  536. tigrcorn-0.3.9/src/tigrcorn/server/reloader.py +0 -109
  537. tigrcorn-0.3.9/src/tigrcorn/server/runner.py +0 -871
  538. tigrcorn-0.3.9/src/tigrcorn/server/shutdown.py +0 -12
  539. tigrcorn-0.3.9/src/tigrcorn/server/signals.py +0 -33
  540. tigrcorn-0.3.9/src/tigrcorn/server/state.py +0 -13
  541. tigrcorn-0.3.9/src/tigrcorn/server/supervisor.py +0 -110
  542. tigrcorn-0.3.9/src/tigrcorn/sessions/__init__.py +0 -1
  543. tigrcorn-0.3.9/src/tigrcorn/sessions/base.py +0 -16
  544. tigrcorn-0.3.9/src/tigrcorn/sessions/connection.py +0 -12
  545. tigrcorn-0.3.9/src/tigrcorn/sessions/limits.py +0 -12
  546. tigrcorn-0.3.9/src/tigrcorn/sessions/manager.py +0 -31
  547. tigrcorn-0.3.9/src/tigrcorn/sessions/metadata.py +0 -10
  548. tigrcorn-0.3.9/src/tigrcorn/sessions/quic.py +0 -14
  549. tigrcorn-0.3.9/src/tigrcorn/static.py +0 -547
  550. tigrcorn-0.3.9/src/tigrcorn/streams/__init__.py +0 -1
  551. tigrcorn-0.3.9/src/tigrcorn/streams/base.py +0 -13
  552. tigrcorn-0.3.9/src/tigrcorn/streams/ids.py +0 -5
  553. tigrcorn-0.3.9/src/tigrcorn/streams/multiplex.py +0 -6
  554. tigrcorn-0.3.9/src/tigrcorn/streams/registry.py +0 -22
  555. tigrcorn-0.3.9/src/tigrcorn/streams/singleplex.py +0 -6
  556. tigrcorn-0.3.9/src/tigrcorn/transports/__init__.py +0 -1
  557. tigrcorn-0.3.9/src/tigrcorn/transports/base.py +0 -9
  558. tigrcorn-0.3.9/src/tigrcorn/transports/inproc/__init__.py +0 -3
  559. tigrcorn-0.3.9/src/tigrcorn/transports/inproc/channel.py +0 -19
  560. tigrcorn-0.3.9/src/tigrcorn/transports/pipe/__init__.py +0 -3
  561. tigrcorn-0.3.9/src/tigrcorn/transports/pipe/connection.py +0 -19
  562. tigrcorn-0.3.9/src/tigrcorn/transports/quic/__init__.py +0 -87
  563. tigrcorn-0.3.9/src/tigrcorn/transports/quic/connection.py +0 -2150
  564. tigrcorn-0.3.9/src/tigrcorn/transports/quic/crypto.py +0 -508
  565. tigrcorn-0.3.9/src/tigrcorn/transports/quic/datagrams.py +0 -72
  566. tigrcorn-0.3.9/src/tigrcorn/transports/quic/flow.py +0 -168
  567. tigrcorn-0.3.9/src/tigrcorn/transports/quic/handshake.py +0 -21
  568. tigrcorn-0.3.9/src/tigrcorn/transports/quic/packets.py +0 -398
  569. tigrcorn-0.3.9/src/tigrcorn/transports/quic/recovery.py +0 -435
  570. tigrcorn-0.3.9/src/tigrcorn/transports/quic/scheduler.py +0 -70
  571. tigrcorn-0.3.9/src/tigrcorn/transports/quic/streams.py +0 -932
  572. tigrcorn-0.3.9/src/tigrcorn/transports/quic/tls_adapter.py +0 -59
  573. tigrcorn-0.3.9/src/tigrcorn/transports/registry.py +0 -10
  574. tigrcorn-0.3.9/src/tigrcorn/transports/tcp/__init__.py +0 -1
  575. tigrcorn-0.3.9/src/tigrcorn/transports/tcp/accept.py +0 -7
  576. tigrcorn-0.3.9/src/tigrcorn/transports/tcp/connection.py +0 -14
  577. tigrcorn-0.3.9/src/tigrcorn/transports/tcp/reader.py +0 -59
  578. tigrcorn-0.3.9/src/tigrcorn/transports/tcp/socketopts.py +0 -13
  579. tigrcorn-0.3.9/src/tigrcorn/transports/tcp/tls.py +0 -5
  580. tigrcorn-0.3.9/src/tigrcorn/transports/tcp/writer.py +0 -8
  581. tigrcorn-0.3.9/src/tigrcorn/transports/udp/__init__.py +0 -3
  582. tigrcorn-0.3.9/src/tigrcorn/transports/udp/endpoint.py +0 -16
  583. tigrcorn-0.3.9/src/tigrcorn/transports/udp/packet.py +0 -14
  584. tigrcorn-0.3.9/src/tigrcorn/transports/udp/socketopts.py +0 -10
  585. tigrcorn-0.3.9/src/tigrcorn/transports/unix/__init__.py +0 -1
  586. tigrcorn-0.3.9/src/tigrcorn/transports/unix/connection.py +0 -10
  587. tigrcorn-0.3.9/src/tigrcorn/types.py +0 -20
  588. tigrcorn-0.3.9/src/tigrcorn/utils/__init__.py +0 -1
  589. tigrcorn-0.3.9/src/tigrcorn/utils/authority.py +0 -55
  590. tigrcorn-0.3.9/src/tigrcorn/utils/bytes.py +0 -79
  591. tigrcorn-0.3.9/src/tigrcorn/utils/headers.py +0 -151
  592. tigrcorn-0.3.9/src/tigrcorn/utils/ids.py +0 -19
  593. tigrcorn-0.3.9/src/tigrcorn/utils/imports.py +0 -14
  594. tigrcorn-0.3.9/src/tigrcorn/utils/net.py +0 -22
  595. tigrcorn-0.3.9/src/tigrcorn/utils/proxy.py +0 -170
  596. tigrcorn-0.3.9/src/tigrcorn/version.py +0 -1
  597. tigrcorn-0.3.9/src/tigrcorn/workers/__init__.py +0 -6
  598. tigrcorn-0.3.9/src/tigrcorn/workers/local.py +0 -36
  599. tigrcorn-0.3.9/src/tigrcorn/workers/model.py +0 -9
  600. tigrcorn-0.3.9/src/tigrcorn/workers/process.py +0 -120
  601. tigrcorn-0.3.9/src/tigrcorn/workers/supervisor.py +0 -58
  602. tigrcorn-0.3.9/src/tigrcorn.egg-info/PKG-INFO +0 -637
  603. tigrcorn-0.3.9/src/tigrcorn.egg-info/requires.txt +0 -40
  604. tigrcorn-0.3.9/tests/test_app_loader.py +0 -23
  605. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/LICENSE +0 -0
  606. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/setup.cfg +0 -0
  607. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/src/tigrcorn/__main__.py +0 -0
  608. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/src/tigrcorn/py.typed +0 -0
  609. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/src/tigrcorn.egg-info/dependency_links.txt +0 -0
  610. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/src/tigrcorn.egg-info/entry_points.txt +0 -0
  611. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/src/tigrcorn.egg-info/top_level.txt +0 -0
  612. /tigrcorn-0.3.9/tests/test_phase4_advanced_protocol_delivery_checkpoint.py → /tigrcorn-0.3.16.dev9/tests/test_advanced_protocol_delivery_checkpoint.py +0 -0
  613. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_aioquic_adapter_helpers.py +0 -0
  614. /tigrcorn-0.3.9/tests/test_phase9_implementation_plan.py → /tigrcorn-0.3.16.dev9/tests/test_certification_delivery_plan.py +0 -0
  615. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_certification_policy_alignment.py +0 -0
  616. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_cli_and_asgi3.py +0 -0
  617. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_compression_additional.py +0 -0
  618. /tigrcorn-0.3.9/tests/test_phase9f3_concurrency_keepalive_checkpoint.py → /tigrcorn-0.3.16.dev9/tests/test_concurrency_keepalive_checkpoint.py +0 -0
  619. /tigrcorn-0.3.9/tests/test_phase9f3_concurrency_keepalive_closure.py → /tigrcorn-0.3.16.dev9/tests/test_concurrency_keepalive_closure.py +0 -0
  620. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_config_matrix.py +0 -0
  621. /tigrcorn-0.3.9/tests/test_phase9d1_connect_relay_independent_closure.py → /tigrcorn-0.3.16.dev9/tests/test_connect_relay_independent_closure.py +0 -0
  622. /tigrcorn-0.3.9/tests/test_phase9d3_content_coding_independent_closure.py → /tigrcorn-0.3.16.dev9/tests/test_content_coding_independent_closure.py +0 -0
  623. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_content_coding_policy_local.py +0 -0
  624. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_documentation_reconciliation.py +0 -0
  625. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_external_current_release_matrix.py +0 -0
  626. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_external_independent_peer_release_matrix.py +0 -0
  627. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_external_interop_runner_matrix.py +0 -0
  628. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_external_rfc_hardening_candidate_matrix.py +0 -0
  629. /tigrcorn-0.3.9/tests/test_phase7_flag_surface_truth_reconciliation.py → /tigrcorn-0.3.16.dev9/tests/test_flag_surface_truth_reconciliation.py +0 -0
  630. /tigrcorn-0.3.9/tests/test_phase5_flow_control_bundle.py → /tigrcorn-0.3.16.dev9/tests/test_flow_control_bundle.py +0 -0
  631. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_flow_scheduler.py +0 -0
  632. /tigrcorn-0.3.9/tests/test_phase3_h1_websocket_operator_surface.py → /tigrcorn-0.3.16.dev9/tests/test_h1_websocket_operator_surface.py +0 -0
  633. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_hpack_completion_pass.py +0 -0
  634. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http1_chunked.py +0 -0
  635. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http1_hardening_pass.py +0 -0
  636. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http1_parser.py +0 -0
  637. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http1_rfc9112.py +0 -0
  638. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http2_hpack.py +0 -0
  639. /tigrcorn-0.3.9/tests/test_phase4_http2_operator_surface.py → /tigrcorn-0.3.16.dev9/tests/test_http2_operator_surface.py +0 -0
  640. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http2_rfc9113.py +0 -0
  641. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http2_server_push_surface.py +0 -0
  642. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http3_request_stream_state_machine.py +0 -0
  643. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http3_rfc9114.py +0 -0
  644. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http3_server.py +0 -0
  645. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http3_websocket_rfc9220.py +0 -0
  646. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http_content_coding_rfc9110.py +0 -0
  647. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_http_integrity_caching_signatures_status.py +0 -0
  648. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_import.py +0 -0
  649. /tigrcorn-0.3.9/tests/test_phase9b_independent_harness_foundation.py → /tigrcorn-0.3.16.dev9/tests/test_independent_harness_foundation.py +0 -0
  650. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_intermediary_proxy_corpus.py +0 -0
  651. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_lifespan.py +0 -0
  652. /tigrcorn-0.3.9/tests/test_phase5_intermediary_proxy_corpus.py → /tigrcorn-0.3.16.dev9/tests/test_minimum_certified_intermediary_proxy_corpus.py +0 -0
  653. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_observability_workers.py +0 -0
  654. /tigrcorn-0.3.9/tests/test_phase9e_ocsp_independent_closure.py → /tigrcorn-0.3.16.dev9/tests/test_ocsp_independent_closure.py +0 -0
  655. /tigrcorn-0.3.9/tests/test_phase9e_ocsp_local_validation.py → /tigrcorn-0.3.16.dev9/tests/test_ocsp_local_validation.py +0 -0
  656. /tigrcorn-0.3.9/tests/test_phase4_operator_surface.py → /tigrcorn-0.3.16.dev9/tests/test_operator_surface.py +0 -0
  657. /tigrcorn-0.3.9/tests/test_phase6_performance_harness.py → /tigrcorn-0.3.16.dev9/tests/test_performance_harness.py +0 -0
  658. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_pipe_and_inproc.py +0 -0
  659. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_prebuffered_reader_and_custom.py +0 -0
  660. /tigrcorn-0.3.9/tests/test_phase9a_promotion_contract_freeze.py → /tigrcorn-0.3.16.dev9/tests/test_promotion_contract_freeze.py +0 -0
  661. /tigrcorn-0.3.9/tests/test_phase9h_promotion_evaluator_hardening.py → /tigrcorn-0.3.16.dev9/tests/test_promotion_evaluator_hardening.py +0 -0
  662. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_provisional_all_surfaces_gap_bundle.py +0 -0
  663. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_provisional_flow_control_gap_bundle.py +0 -0
  664. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_provisional_http3_gap_bundle.py +0 -0
  665. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_public_api_cli_mtls_surface.py +0 -0
  666. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_public_api_tls_cipher_surface.py +0 -0
  667. /tigrcorn-0.3.9/tests/test_phase6_public_lifecycle_and_embedder_contract.py → /tigrcorn-0.3.16.dev9/tests/test_public_lifecycle_and_embedder_contract.py +0 -0
  668. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_public_quic_tls_packaging.py +0 -0
  669. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_qpack_completion.py +0 -0
  670. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_custom_server.py +0 -0
  671. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_http3.py +0 -0
  672. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_http3_additional_rfc.py +0 -0
  673. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_packets_rfc9000.py +0 -0
  674. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_primitives.py +0 -0
  675. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_recovery_live_runtime_integration.py +0 -0
  676. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_recovery_rfc9002.py +0 -0
  677. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_rfc_upgrade_paths.py +0 -0
  678. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_runtime_additions.py +0 -0
  679. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_stream_flow_state_machine.py +0 -0
  680. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_tls_external_interop_regressions.py +0 -0
  681. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_tls_handshake_driver.py +0 -0
  682. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_quic_tls_rfc9001.py +0 -0
  683. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rawframed_handler.py +0 -0
  684. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_registries_models.py +0 -0
  685. /tigrcorn-0.3.9/tests/test_phase9i_release_assembly_checkpoint.py → /tigrcorn-0.3.16.dev9/tests/test_release_assembly_checkpoint.py +0 -0
  686. /tigrcorn-0.3.9/tests/test_phase7_release_candidate.py → /tigrcorn-0.3.16.dev9/tests/test_release_candidate.py +0 -0
  687. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_response_trailers_rfc9110.py +0 -0
  688. /tigrcorn-0.3.9/tests/test_phase2_rfc_boundary_formalization_checkpoint.py → /tigrcorn-0.3.16.dev9/tests/test_rfc7232_7233_boundary_formalization.py +0 -0
  689. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rfc7232_conditional_requests.py +0 -0
  690. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rfc7233_range_requests.py +0 -0
  691. /tigrcorn-0.3.9/tests/test_phase9c_rfc7692_independent_closure.py → /tigrcorn-0.3.16.dev9/tests/test_rfc7692_independent_closure.py +0 -0
  692. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rfc7838_alt_svc.py +0 -0
  693. /tigrcorn-0.3.9/tests/test_phase4_rfc_boundary_formalization_checkpoint.py → /tigrcorn-0.3.16.dev9/tests/test_rfc8297_7838_boundary_formalization.py +0 -0
  694. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rfc8297_early_hints.py +0 -0
  695. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rfc_applicability_and_competitor_status.py +0 -0
  696. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rfc_applicability_and_competitor_support.py +0 -0
  697. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_rfc_compliance_hardening.py +0 -0
  698. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_scheduler_runtime.py +0 -0
  699. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_security_compat_utils.py +0 -0
  700. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_server_http1.py +0 -0
  701. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_server_http2.py +0 -0
  702. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_server_websocket.py +0 -0
  703. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_sessions_streams.py +0 -0
  704. /tigrcorn-0.3.9/tests/test_phase1_surface_parity_checkpoint.py → /tigrcorn-0.3.16.dev9/tests/test_surface_parity_checkpoint.py +0 -0
  705. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_tcp_tls_package_owned.py +0 -0
  706. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_tls13_engine_upgrade.py +0 -0
  707. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_tls_alpn_rfc7301.py +0 -0
  708. /tigrcorn-0.3.9/tests/test_phase9f1_tls_cipher_policy_closure.py → /tigrcorn-0.3.16.dev9/tests/test_tls_cipher_policy_closure.py +0 -0
  709. /tigrcorn-0.3.9/tests/test_phase5_tls_operator_material_surface.py → /tigrcorn-0.3.16.dev9/tests/test_tls_operator_material_surface.py +0 -0
  710. /tigrcorn-0.3.9/tests/test_phase9d2_trailer_fields_independent_closure.py → /tigrcorn-0.3.16.dev9/tests/test_trailer_fields_independent_closure.py +0 -0
  711. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_trailer_policy_strict_local.py +0 -0
  712. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_trailers_rfc9110.py +0 -0
  713. /tigrcorn-0.3.9/tests/test_phase3_transport_core_strictness_checkpoint.py → /tigrcorn-0.3.16.dev9/tests/test_transport_core_strictness_checkpoint.py +0 -0
  714. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_trio_runtime_surface_reconciliation_checkpoint.py +0 -0
  715. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_websocket_additional_rfc6455.py +0 -0
  716. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_websocket_frames.py +0 -0
  717. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_websocket_rfc6455.py +0 -0
  718. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_websocket_rfc7692.py +0 -0
  719. {tigrcorn-0.3.9 → tigrcorn-0.3.16.dev9}/tests/test_x509_webpki_validation.py +0 -0
@@ -0,0 +1,889 @@
1
+ Metadata-Version: 2.4
2
+ Name: tigrcorn
3
+ Version: 0.3.16.dev9
4
+ Summary: ASGI3 Python web server with built-in HTTP/1.1, HTTP/2, HTTP/3, QUIC, WebSocket, WebTransport, TLS, and certification tooling.
5
+ Author-email: Jacob Stewart <jacob@swarmauri.com>
6
+ License: Apache License
7
+ Version 2.0, January 2004
8
+ http://www.apache.org/licenses/
9
+
10
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
11
+
12
+ 1. Definitions.
13
+
14
+ "License" shall mean the terms and conditions for use, reproduction, and
15
+ distribution as defined by Sections 1 through 9 of this document.
16
+
17
+ "Licensor" shall mean the copyright owner or entity authorized by the
18
+ copyright owner that is granting the License.
19
+
20
+ "Legal Entity" shall mean the union of the acting entity and all other
21
+ entities that control, are controlled by, or are under common control with
22
+ that entity. For the purposes of this definition, "control" means (i) the
23
+ power, direct or indirect, to cause the direction or management of such
24
+ entity, whether by contract or otherwise, or (ii) ownership of fifty percent
25
+ (50%) or more of the outstanding shares, or (iii) beneficial ownership of
26
+ such entity.
27
+
28
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
29
+ permissions granted by this License.
30
+
31
+ "Source" form shall mean the preferred form for making modifications,
32
+ including but not limited to software source code, documentation source, and
33
+ configuration files.
34
+
35
+ "Object" form shall mean any form resulting from mechanical transformation
36
+ or translation of a Source form, including but not limited to compiled object
37
+ code, generated documentation, and conversions to other media types.
38
+
39
+ "Work" shall mean the work of authorship, whether in Source or Object form,
40
+ made available under the License, as indicated by a copyright notice that is
41
+ included in or attached to the work (an example is provided in the Appendix
42
+ below).
43
+
44
+ "Derivative Works" shall mean any work, whether in Source or Object form,
45
+ that is based on (or derived from) the Work and for which the editorial
46
+ revisions, annotations, elaborations, or other modifications represent, as a
47
+ whole, an original work of authorship. For the purposes of this License,
48
+ Derivative Works shall not include works that remain separable from, or
49
+ merely link (or bind by name) to the interfaces of, the Work and Derivative
50
+ Works thereof.
51
+
52
+ "Contribution" shall mean any work of authorship, including the original
53
+ version of the Work and any modifications or additions to that Work or
54
+ Derivative Works thereof, that is intentionally submitted to Licensor for
55
+ inclusion in the Work by the copyright owner or by an individual or Legal
56
+ Entity authorized to submit on behalf of the copyright owner. For the
57
+ purposes of this definition, "submitted" means any form of electronic,
58
+ verbal, or written communication sent to the Licensor or its representatives,
59
+ including but not limited to communication on electronic mailing lists,
60
+ source code control systems, and issue tracking systems that are managed by,
61
+ or on behalf of, the Licensor for the purpose of discussing and improving the
62
+ Work, but excluding communication that is conspicuously marked or otherwise
63
+ designated in writing by the copyright owner as "Not a Contribution."
64
+
65
+ "Contributor" shall mean Licensor and any individual or Legal Entity on
66
+ behalf of whom a Contribution has been received by Licensor and subsequently
67
+ incorporated within the Work.
68
+
69
+ 2. Grant of Copyright License. Subject to the terms and conditions of this
70
+ License, each Contributor hereby grants to You a perpetual, worldwide,
71
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
72
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
73
+ sublicense, and distribute the Work and such Derivative Works in Source or
74
+ Object form.
75
+
76
+ 3. Grant of Patent License. Subject to the terms and conditions of this
77
+ License, each Contributor hereby grants to You a perpetual, worldwide,
78
+ non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this
79
+ section) patent license to make, have made, use, offer to sell, sell, import,
80
+ and otherwise transfer the Work, where such license applies only to those
81
+ patent claims licensable by such Contributor that are necessarily infringed by
82
+ their Contribution(s) alone or by combination of their Contribution(s) with
83
+ the Work to which such Contribution(s) was submitted. If You institute patent
84
+ litigation against any entity (including a cross-claim or counterclaim in a
85
+ lawsuit) alleging that the Work or a Contribution incorporated within the Work
86
+ constitutes direct or contributory patent infringement, then any patent
87
+ licenses granted to You under this License for that Work shall terminate as of
88
+ the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the Work or
91
+ Derivative Works thereof in any medium, with or without modifications, and in
92
+ Source or Object form, provided that You meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or Derivative Works a copy
95
+ of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices stating that
98
+ You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works that You
101
+ distribute, all copyright, patent, trademark, and attribution notices
102
+ from the Source form of the Work, excluding those notices that do not
103
+ pertain to any part of the Derivative Works; and
104
+
105
+ (d) If the Work includes a "NOTICE" text file as part of its distribution,
106
+ then any Derivative Works that You distribute must include a readable copy
107
+ of the attribution notices contained within such NOTICE file, excluding
108
+ those notices that do not pertain to any part of the Derivative Works, in
109
+ at least one of the following places: within a NOTICE text file distributed
110
+ as part of the Derivative Works; within the Source form or documentation,
111
+ if provided along with the Derivative Works; or, within a display generated
112
+ by the Derivative Works, if and wherever such third-party notices normally
113
+ appear. The contents of the NOTICE file are for informational purposes only
114
+ and do not modify the License. You may add Your own attribution notices
115
+ within Derivative Works that You distribute, alongside or as an addendum to
116
+ the NOTICE text from the Work, provided that such additional attribution
117
+ notices cannot be construed as modifying the License.
118
+
119
+ You may add Your own copyright statement to Your modifications and may provide
120
+ additional or different license terms and conditions for use, reproduction, or
121
+ distribution of Your modifications, or for any such Derivative Works as a
122
+ whole, provided Your use, reproduction, and distribution of the Work otherwise
123
+ complies with the conditions stated in this License.
124
+
125
+ 5. Submission of Contributions. Unless You explicitly state otherwise, any
126
+ Contribution intentionally submitted for inclusion in the Work by You to the
127
+ Licensor shall be under the terms and conditions of this License, without any
128
+ additional terms or conditions. Notwithstanding the above, nothing herein
129
+ shall supersede or modify the terms of any separate license agreement you may
130
+ have executed with Licensor regarding such Contributions.
131
+
132
+ 6. Trademarks. This License does not grant permission to use the trade names,
133
+ trademarks, service marks, or product names of the Licensor, except as
134
+ required for reasonable and customary use in describing the origin of the Work
135
+ and reproducing the content of the NOTICE file.
136
+
137
+ 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
138
+ writing, Licensor provides the Work (and each Contributor provides its
139
+ Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
140
+ KIND, either express or implied, including, without limitation, any warranties
141
+ or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
142
+ PARTICULAR PURPOSE. You are solely responsible for determining the
143
+ appropriateness of using or redistributing the Work and assume any risks
144
+ associated with Your exercise of permissions under this License.
145
+
146
+ 8. Limitation of Liability. In no event and under no legal theory, whether in
147
+ tort (including negligence), contract, or otherwise, unless required by
148
+ applicable law (such as deliberate and grossly negligent acts) or agreed to in
149
+ writing, shall any Contributor be liable to You for damages, including any
150
+ direct, indirect, special, incidental, or consequential damages of any
151
+ character arising as a result of this License or out of the use or inability
152
+ to use the Work (including but not limited to damages for loss of goodwill,
153
+ work stoppage, computer failure or malfunction, or any and all other
154
+ commercial damages or losses), even if such Contributor has been advised of
155
+ the possibility of such damages.
156
+
157
+ 9. Accepting Warranty or Additional Liability. While redistributing the Work or
158
+ Derivative Works thereof, You may choose to offer, and charge a fee for,
159
+ acceptance of support, warranty, indemnity, or other liability obligations
160
+ and/or rights consistent with this License. However, in accepting such
161
+ obligations, You may act only on Your own behalf and on Your sole
162
+ responsibility, not on behalf of any other Contributor, and only if You agree
163
+ to indemnify, defend, and hold each Contributor harmless for any liability
164
+ incurred by, or claims asserted against, such Contributor by reason of your
165
+ accepting any such warranty or additional liability.
166
+
167
+ END OF TERMS AND CONDITIONS
168
+
169
+
170
+ Keywords: asgi,asgi3,server,http,http1,http2,http3,quic,websocket,webtransport,tls,python-web-server,uvicorn-alternative,hypercorn-alternative
171
+ Classifier: Development Status :: 3 - Alpha
172
+ Classifier: Framework :: AsyncIO
173
+ Classifier: Intended Audience :: Developers
174
+ Classifier: License :: OSI Approved :: Apache Software License
175
+ Classifier: Operating System :: OS Independent
176
+ Classifier: Programming Language :: Python :: 3
177
+ Classifier: Programming Language :: Python :: 3 :: Only
178
+ Classifier: Programming Language :: Python :: 3.10
179
+ Classifier: Programming Language :: Python :: 3.11
180
+ Classifier: Programming Language :: Python :: 3.12
181
+ Classifier: Programming Language :: Python :: 3.13
182
+ Classifier: Programming Language :: Python :: 3.14
183
+ Classifier: Topic :: Internet :: WWW/HTTP
184
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
185
+ Classifier: Topic :: System :: Networking
186
+ Classifier: Typing :: Typed
187
+ Requires-Python: <3.15,>=3.10
188
+ Description-Content-Type: text/markdown
189
+ License-File: LICENSE
190
+ Requires-Dist: tigrcorn-core==0.3.16.dev9
191
+ Requires-Dist: tigrcorn-config==0.3.16.dev9
192
+ Requires-Dist: tigrcorn-asgi==0.3.16.dev9
193
+ Requires-Dist: tigrcorn-contract==0.3.16.dev9
194
+ Requires-Dist: tigrcorn-transports==0.3.16.dev9
195
+ Requires-Dist: tigrcorn-protocols==0.3.16.dev9
196
+ Requires-Dist: tigrcorn-http==0.3.16.dev9
197
+ Requires-Dist: tigrcorn-security==0.3.16.dev9
198
+ Requires-Dist: tigrcorn-runtime==0.3.16.dev9
199
+ Requires-Dist: tigrcorn-static==0.3.16.dev9
200
+ Requires-Dist: tigrcorn-observability==0.3.16.dev9
201
+ Requires-Dist: tigrcorn-compat==0.3.16.dev9
202
+ Requires-Dist: tigrcorn-certification==0.3.16.dev9
203
+ Requires-Dist: tigr-asgi-contract>=0.3.2
204
+ Provides-Extra: tls-x509
205
+ Requires-Dist: cryptography>=46.0.0; extra == "tls-x509"
206
+ Provides-Extra: certification
207
+ Requires-Dist: cryptography>=46.0.0; extra == "certification"
208
+ Requires-Dist: aioquic>=1.3.0; extra == "certification"
209
+ Requires-Dist: h11>=0.14.0; extra == "certification"
210
+ Requires-Dist: h2>=4.1.0; extra == "certification"
211
+ Requires-Dist: websockets>=12.0; extra == "certification"
212
+ Requires-Dist: wsproto>=1.3.0; extra == "certification"
213
+ Provides-Extra: config-yaml
214
+ Requires-Dist: PyYAML>=6.0; extra == "config-yaml"
215
+ Provides-Extra: compression
216
+ Requires-Dist: brotli>=1.1.0; extra == "compression"
217
+ Provides-Extra: runtime-uvloop
218
+ Requires-Dist: uvloop>=0.19.0; platform_system != "Windows" and extra == "runtime-uvloop"
219
+ Provides-Extra: runtime-trio
220
+ Requires-Dist: trio>=0.25.0; extra == "runtime-trio"
221
+ Provides-Extra: full-featured
222
+ Requires-Dist: cryptography>=46.0.0; extra == "full-featured"
223
+ Requires-Dist: PyYAML>=6.0; extra == "full-featured"
224
+ Requires-Dist: brotli>=1.1.0; extra == "full-featured"
225
+ Requires-Dist: uvloop>=0.19.0; platform_system != "Windows" and extra == "full-featured"
226
+ Provides-Extra: dev
227
+ Requires-Dist: cryptography>=46.0.0; extra == "dev"
228
+ Requires-Dist: pytest>=8.0; extra == "dev"
229
+ Requires-Dist: ssot-registry>=0.2.18; extra == "dev"
230
+ Requires-Dist: tomli>=2.0.0; python_version < "3.11" and extra == "dev"
231
+ Requires-Dist: aioquic>=1.3.0; extra == "dev"
232
+ Requires-Dist: h11>=0.14.0; extra == "dev"
233
+ Requires-Dist: h2>=4.1.0; extra == "dev"
234
+ Requires-Dist: websockets>=12.0; extra == "dev"
235
+ Requires-Dist: wsproto>=1.3.0; extra == "dev"
236
+ Requires-Dist: PyYAML>=6.0; extra == "dev"
237
+ Requires-Dist: brotli>=1.1.0; extra == "dev"
238
+ Requires-Dist: uvloop>=0.19.0; platform_system != "Windows" and extra == "dev"
239
+ Dynamic: license-file
240
+
241
+ <div align="center">
242
+
243
+ <h1>Tigrcorn</h1>
244
+
245
+ <img
246
+ src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
247
+ alt="Tigrcorn tiger-unicorn logo"
248
+ width="220"
249
+ />
250
+
251
+ > ASGI3 server with built-in HTTP/1.1, HTTP/2, HTTP/3, QUIC, WebSocket, TLS, static delivery, and release validation.
252
+
253
+ ---
254
+ </div>
255
+
256
+ <p align="center"><a href="https://discord.gg/jzvrbEtTtt"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&amp;logoColor=white"></a></p>
257
+
258
+
259
+ <p align="center"><strong>Release status</strong><br>
260
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/pyproject.toml"><img alt="repo line 0.3.16.dev5" src="https://img.shields.io/badge/repo_line-0.3.16.dev5-2f7ed8"></a>
261
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/state/CURRENT_REPOSITORY_STATE.md"><img alt="current state canonical" src="https://img.shields.io/badge/current_state-canonical-0969da"></a>
262
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md"><img alt="authoritative boundary green" src="https://img.shields.io/badge/authoritative_boundary-green-1f883d"></a>
263
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/STRICT_PROFILE_TARGET.md"><img alt="strict profile green" src="https://img.shields.io/badge/strict_profile-green-1f883d"></a>
264
+ <a href="https://github.com/tigrbl/tigrcorn/tree/master/docs/review/conformance/releases/0.3.9/release-0.3.9"><img alt="promotion green" src="https://img.shields.io/badge/promotion-green-1f883d"></a>
265
+ </p>
266
+
267
+ <p align="center"><strong>Package</strong><br>
268
+ <a href="https://pypi.org/project/tigrcorn/"><img alt="PyPI version" src="https://img.shields.io/pypi/v/tigrcorn?label=PyPI"></a>
269
+ <a href="https://pepy.tech/project/tigrcorn"><img alt="Downloads for tigrcorn" src="https://static.pepy.tech/badge/tigrcorn"></a>
270
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/README.md"><img alt="Hits for tigrcorn README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/README.md.svg?label=hits"></a>
271
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/LICENSE"><img alt="license Apache 2.0" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
272
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/pyproject.toml"><img alt="Python 3.10 | 3.11 | 3.12 | 3.13 | 3.14 supported" src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab"></a>
273
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/OPTIONAL_DEPENDENCY_SURFACE.md"><img alt="runtime auto supported" src="https://img.shields.io/badge/runtime-auto-0a7f5a"></a>
274
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/OPTIONAL_DEPENDENCY_SURFACE.md"><img alt="runtime asyncio supported" src="https://img.shields.io/badge/runtime-asyncio-0a7f5a"></a>
275
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/OPTIONAL_DEPENDENCY_SURFACE.md"><img alt="runtime uvloop supported" src="https://img.shields.io/badge/runtime-uvloop-0a7f5a"></a>
276
+ </p>
277
+
278
+ <p align="center"><strong>Protocol status</strong><br>
279
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/http1.md"><img alt="HTTP/1.1 C-RFC" src="https://img.shields.io/badge/HTTP%2F1.1-C--RFC-1f883d"></a>
280
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/http2.md"><img alt="HTTP/2 C-RFC" src="https://img.shields.io/badge/HTTP%2F2-C--RFC-1f883d"></a>
281
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/http3.md"><img alt="HTTP/3 C-RFC" src="https://img.shields.io/badge/HTTP%2F3-C--RFC-1f883d"></a>
282
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/quic.md"><img alt="QUIC C-RFC" src="https://img.shields.io/badge/QUIC-C--RFC-1f883d"></a>
283
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/websocket.md"><img alt="WebSocket C-RFC" src="https://img.shields.io/badge/WebSocket-C--RFC-1f883d"></a>
284
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/websocket.md"><img alt="RFC 8441 C-RFC" src="https://img.shields.io/badge/RFC8441-C--RFC-1f883d"></a>
285
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/websocket.md"><img alt="RFC 9220 C-RFC" src="https://img.shields.io/badge/RFC9220-C--RFC-1f883d"></a>
286
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md"><img alt="TLS 1.3 X.509 OCSP C-RFC" src="https://img.shields.io/badge/TLS1.3_X.509_OCSP-C--RFC-1f883d"></a>
287
+ </p>
288
+
289
+ <p align="center"><strong>Operator and API surface status</strong><br>
290
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md"><img alt="CLI C-OP" src="https://img.shields.io/badge/CLI-C--OP-0a7f5a"></a>
291
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md"><img alt="EmbeddedServer C-OP" src="https://img.shields.io/badge/EmbeddedServer-C--OP-0a7f5a"></a>
292
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md"><img alt="Lifecycle hooks C-OP" src="https://img.shields.io/badge/Lifecycle_hooks-C--OP-0a7f5a"></a>
293
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md"><img alt="StaticFilesApp C-OP" src="https://img.shields.io/badge/StaticFilesApp-C--OP-0a7f5a"></a>
294
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md"><img alt="Workers and reload C-OP" src="https://img.shields.io/badge/Workers_reload-C--OP-0a7f5a"></a>
295
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md"><img alt="Metrics and logging C-OP" src="https://img.shields.io/badge/Metrics_logging-C--OP-0a7f5a"></a>
296
+ <a href="https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md"><img alt="Release gates C-OP" src="https://img.shields.io/badge/Release_gates-C--OP-0a7f5a"></a>
297
+ </p>
298
+
299
+
300
+ ---
301
+
302
+ Tigrcorn is an ASGI3 server for Python teams building APIs, edge services, internal platforms, and protocol-heavy applications that need modern transport support without giving up operational control. It implements HTTP/1.1, HTTP/2, HTTP/3, QUIC, WebSockets, TLS handling, static delivery, and release checks inside the project, with operator docs and current-state material kept alongside the code.
303
+
304
+ Most users should start with **Quick start**, **Protocol and feature map**, and **CLI usage**. Maintainers should use the SSOT, governance, and conformance links when changing claimed support, release boundaries, or certification evidence.
305
+
306
+
307
+ ## Table of contents
308
+
309
+ - [Legend](#legend)
310
+ - [Choose your path](#choose-your-path)
311
+ - [Quick start](#quick-start)
312
+ - [Why teams pick Tigrcorn](#why-teams-pick-tigrcorn)
313
+ - [What Tigrcorn provides](#what-tigrcorn-provides)
314
+ - [Published packages](#published-packages)
315
+ - [Installation and extras](#installation-and-extras)
316
+ - [Protocol and feature map](#protocol-and-feature-map)
317
+ - [CLI usage](#cli-usage)
318
+ - [Public API and embedding usage](#public-api-and-embedding-usage)
319
+ - [Current scope](#current-scope)
320
+ - [Status at a glance](#status-at-a-glance)
321
+ - [Validation and promotion](#validation-and-promotion)
322
+ - [Where to look](#where-to-look)
323
+ - [Contributing, conduct, and community norms](#contributing-conduct-and-community-norms)
324
+ - [Footnotes](#footnotes)
325
+
326
+ ## Legend
327
+
328
+ Use this legend for the badges, status tables, and scope markers in this README.
329
+
330
+ | Marker | Meaning |
331
+ |---|---|
332
+ | `C-RFC` | included in Tigrcorn's current certified RFC boundary |
333
+ | `C-OP` | included in Tigrcorn's current public operator/API surface |
334
+ | `OOB` | outside Tigrcorn's current documented boundary and shipped surface |
335
+ | `green` | the referenced repo contract or evaluation target is currently passing |
336
+ | `canonical` | the referenced document is the current mutable source of truth |
337
+ | `repo_line` | the active repository release line represented by this checkout |
338
+ | `runtime-auto`, `runtime-asyncio`, `runtime-uvloop` | documented runtime modes in the current public surface |
339
+
340
+ The top badge groups use plain language labels where possible. The protocol and feature tables use `C-RFC`, `C-OP`, and `OOB` as compact scope markers.
341
+
342
+ ## Choose your path
343
+
344
+ | Goal | Start with | Then use |
345
+ |---|---|---|
346
+ | Run Tigrcorn as an ASGI server | [Quick start](#quick-start) | [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md), [deployment profiles](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/profiles.md) |
347
+ | Configure production behavior | [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md) | [defaults](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/defaults.md), [observability](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/observability.md), [policies](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/policies.md) |
348
+ | Build on Tigrcorn from Python | [Public API and embedding usage](#public-api-and-embedding-usage) | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md), [lifecycle and embedded server guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md) |
349
+ | Understand protocol and feature support | [Protocol and feature map](#protocol-and-feature-map) | [protocol docs](https://github.com/tigrbl/tigrcorn/tree/master/docs/protocols/), [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md), [`.ssot/registry.json`](https://github.com/tigrbl/tigrcorn/blob/master/.ssot/registry.json) |
350
+ | Review release and conformance status | [Status at a glance](#status-at-a-glance) | [Validation and promotion](#validation-and-promotion), [conformance docs](https://github.com/tigrbl/tigrcorn/tree/master/docs/review/conformance/) |
351
+
352
+ ## Quick start
353
+
354
+ ### Install
355
+
356
+ ```bash
357
+ python -m pip install tigrcorn
358
+ ```
359
+
360
+ ### Run an HTTP server
361
+
362
+ ```bash
363
+ tigrcorn examples.echo_http.app:app --host 127.0.0.1 --port 8000
364
+ ```
365
+
366
+ ### Run HTTP/3 + QUIC
367
+
368
+ ```bash
369
+ tigrcorn examples.echo_http.app:app \
370
+ --quic-bind 127.0.0.1:8443 \
371
+ --http 3 \
372
+ --protocol http3 \
373
+ --protocol quic \
374
+ --ssl-certfile ./certs/server.pem \
375
+ --ssl-keyfile ./certs/server.key
376
+ ```
377
+
378
+ ### Run from Python
379
+
380
+ ```python
381
+ from tigrcorn import run
382
+
383
+ run("examples.echo_http.app:app", host="127.0.0.1", port=8000)
384
+ ```
385
+
386
+ For complete operator recipes, use [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md). For public imports and lifecycle details, use [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md) and [lifecycle and embedded server guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md).
387
+ For the blessed safe deployment profiles, use [deployment profiles](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/profiles.md) and the [packaged profile artifacts](https://github.com/tigrbl/tigrcorn/tree/master/src/tigrcorn/profiles/).
388
+
389
+ ## Why teams pick Tigrcorn
390
+
391
+ - **Modern protocol stack in the server itself.** HTTP/1.1, HTTP/2, HTTP/3, QUIC, WebSockets, TLS 1.3, ALPN, X.509 validation, OCSP, and CRL handling are first-class documented surfaces.
392
+ - **Operator features that matter in deployment.** Listener binding, TLS and QUIC controls, workers, reload, structured logging, metrics, proxy normalization, content-coding policy, CONNECT policy, Early Hints, Alt-Svc, and static delivery are part of the public surface.
393
+ - **A public Python API for applications and hosts.** `run`, `serve`, `serve_import_string`, `EmbeddedServer`, `StaticFilesApp`, and the config helpers are documented as importable entrypoints.
394
+ - **Static delivery and entity semantics built into the package.** Static mounting, precompressed sidecars, conditional requests, range requests, and response-path helpers are available without a separate static server wrapper.
395
+ - **Release and promotion checks in the repo.** `evaluate_release_gates` and `evaluate_promotion_target` are shipped APIs, and the repo preserves current-state and promoted-release material under [conformance docs](https://github.com/tigrbl/tigrcorn/tree/master/docs/review/conformance/).
396
+
397
+ ## What Tigrcorn provides
398
+
399
+ | Area | What you get | Primary docs |
400
+ |---|---|---|
401
+ | Server runtime | ASGI3 execution over HTTP/1.1, HTTP/2, HTTP/3, QUIC, and WebSockets | [protocol docs](https://github.com/tigrbl/tigrcorn/tree/master/docs/protocols/), [examples](https://github.com/tigrbl/tigrcorn/tree/master/examples/) |
402
+ | Security | TLS 1.3 controls, ALPN, certificate validation, OCSP, CRL handling | [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md) |
403
+ | Delivery | static files, ETag/conditional handling, range support, content coding, Early Hints, Alt-Svc | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md), [deployment profiles reference](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/DEPLOYMENT_PROFILES.md) |
404
+ | Operations | listeners, workers, reload, metrics, logging, proxy normalization, timeouts and resource controls | [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md) |
405
+ | Embedding | `run`, `serve`, `serve_import_string`, `EmbeddedServer`, lifecycle hooks | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md), [lifecycle and embedded server guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md) |
406
+ | Config | typed config model, config-file loading, env loading, merge from CLI/env/file/defaults | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md), [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md) |
407
+ | Blessed profiles | generated safe deployment profiles plus profile conformance bundles | [deployment profiles](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/profiles.md), [profile bundles JSON](https://github.com/tigrbl/tigrcorn/blob/master/docs/conformance/profile_bundles.json) |
408
+ | Release checks | release-gate and promotion-target evaluators | [release workflow guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/release.md), [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md) |
409
+ | Current-state and release records | canonical current-state docs plus frozen promoted roots | [state docs index](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/state/README.md), [release roots](https://github.com/tigrbl/tigrcorn/tree/master/docs/review/conformance/releases/) |
410
+
411
+ ## Published packages
412
+
413
+ ### Python package family
414
+
415
+ | Package | Owns |
416
+ | --- | --- |
417
+ | [`tigrcorn`](https://pypi.org/project/tigrcorn/) | aggregate distribution and compatibility umbrella |
418
+ | [`tigrcorn-core`](https://pypi.org/project/tigrcorn-core/) | constants, errors, types, and shared utils |
419
+ | [`tigrcorn-config`](https://pypi.org/project/tigrcorn-config/) | config models, validation, profiles, env and file loading |
420
+ | [`tigrcorn-http`](https://pypi.org/project/tigrcorn-http/) | entity tags, headers, conditional requests, ranges, and HTTP helpers |
421
+ | [`tigrcorn-asgi`](https://pypi.org/project/tigrcorn-asgi/) | ASGI send and receive adapters and response materialization |
422
+ | [`tigrcorn-contract`](https://pypi.org/project/tigrcorn-contract/) | event ordering, scope validation, and ASGI contract helpers |
423
+ | [`tigrcorn-transports`](https://pypi.org/project/tigrcorn-transports/) | TCP, UDP, Unix, pipe, and transport machinery |
424
+ | [`tigrcorn-security`](https://pypi.org/project/tigrcorn-security/) | TLS, ALPN, X.509, OCSP, and CRL handling |
425
+ | [`tigrcorn-protocols`](https://pypi.org/project/tigrcorn-protocols/) | HTTP/1.1, HTTP/2, HTTP/3, QUIC, sessions, streams, and schedulers |
426
+ | [`tigrcorn-static`](https://pypi.org/project/tigrcorn-static/) | static delivery and route mounting |
427
+ | [`tigrcorn-observability`](https://pypi.org/project/tigrcorn-observability/) | metrics and logging surfaces |
428
+ | [`tigrcorn-runtime`](https://pypi.org/project/tigrcorn-runtime/) | app loading, runner, workers, reload, embedding, and CLI |
429
+ | [`tigrcorn-compat`](https://pypi.org/project/tigrcorn-compat/) | root-namespace shims and promotion helpers |
430
+ | [`tigrcorn-certification`](https://pypi.org/project/tigrcorn-certification/) | release gates, strict promotion checks, and external evidence rails |
431
+
432
+ ### npm package
433
+
434
+ | Package | Owns |
435
+ | --- | --- |
436
+ | [`@tigrcorn/wt-peer-probes`](https://www.npmjs.com/package/@tigrcorn/wt-peer-probes) | browser-side WebTransport probe execution and Playwright peer validation |
437
+
438
+ ## Installation and extras
439
+
440
+ ### Base install
441
+
442
+ ```bash
443
+ python -m pip install tigrcorn
444
+ ```
445
+
446
+ ### Certification / development install
447
+
448
+ ```bash
449
+ python -m pip install -e ".[certification,dev]"
450
+ ```
451
+
452
+ ### Optional extras
453
+
454
+ | Extra | Status | Use it for |
455
+ |---|---|---|
456
+ | `tls-x509` | supported | package-owned TLS/X.509 validation, certificate handling, and revocation helpers |
457
+ | `config-yaml` | supported | `.yaml` / `.yml` config loading |
458
+ | `compression` | supported | Brotli content coding and `.br` sidecars |
459
+ | `runtime-uvloop` | supported | `--runtime uvloop` on supported platforms |
460
+ | `runtime-trio` | declared, not supported | reserved dependency path only |
461
+ | `full-featured` | supported | current aggregate optional operator feature surface |
462
+ | `certification` | supported | interop and certification tooling |
463
+ | `dev` | supported | local development and validation |
464
+
465
+ ### Practical install examples
466
+
467
+ ```bash
468
+ # TLS/X.509 validation and certificate-material helpers
469
+ python -m pip install -e ".[tls-x509]"
470
+
471
+ # YAML config support
472
+ python -m pip install -e ".[config-yaml]"
473
+
474
+ # Brotli + precompressed static sidecars
475
+ python -m pip install -e ".[compression]"
476
+
477
+ # uvloop runtime option (non-Windows)
478
+ python -m pip install -e ".[runtime-uvloop]"
479
+
480
+ # current aggregate optional feature surface
481
+ python -m pip install -e ".[full-featured]"
482
+ ```
483
+
484
+ The authoritative optional dependency reference is [optional dependency surface](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/OPTIONAL_DEPENDENCY_SURFACE.md). TLS/X.509 operations rely on the optional `tigrcorn[tls-x509]` extra.
485
+
486
+ ## Protocol and feature map
487
+
488
+ This section is a public support snapshot. It keeps protocol and feature details visible in the README while making Tigrcorn's depth, feature surface, and domain coverage explicit. Use `C-RFC` for current certified protocol claims, `C-OP` for current operator/API surfaces, and `OOB` for intentionally out-of-boundary behavior.
489
+
490
+ > **Legend:** `C-RFC` = inside the current certified RFC boundary · `C-OP` = inside the public/operator surface · `OOB` = outside the current scope
491
+
492
+ ### Core protocol, transport, and delivery
493
+
494
+ | Category | Surface | Status | Primary docs |
495
+ |---|---|---|---|
496
+ | HTTP | HTTP/1.1 (`RFC 9112`) | `C-RFC` | [HTTP/1.1 docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/http1.md) |
497
+ | HTTP | HTTP/2 (`RFC 9113`) | `C-RFC` | [HTTP/2 docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/http2.md) |
498
+ | HTTP | HTTP/3 (`RFC 9114`) | `C-RFC` | [HTTP/3 docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/http3.md) |
499
+ | QUIC | QUIC transport (`RFC 9000`, `RFC 9001`, `RFC 9002`) | `C-RFC` | [QUIC docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/quic.md) |
500
+ | WebSocket | RFC 6455 / RFC 8441 / RFC 9220 carriers | `C-RFC` | [WebSocket docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/websocket.md) |
501
+ | Delivery | CONNECT relay, trailer fields, content coding | `C-RFC` | [deployment profiles reference](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/DEPLOYMENT_PROFILES.md) |
502
+ | Delivery | Conditional requests, range requests, Early Hints, bounded Alt-Svc | `C-RFC` | [RFC applicability and competitor status](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/RFC_APPLICABILITY_AND_COMPETITOR_STATUS.md) |
503
+ | Security | TLS 1.3, ALPN, X.509, OCSP, CRL | `C-RFC` | [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md) |
504
+
505
+ ### Operator and public API surface
506
+
507
+ | Category | Surface | Status | Primary docs |
508
+ |---|---|---|---|
509
+ | CLI | `tigrcorn`, `python -m tigrcorn`, `tigrcorn-interop` | `C-OP` | [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md) |
510
+ | Config | `build_config`, `build_config_from_namespace`, `build_config_from_sources` | `C-OP` | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md) |
511
+ | Embedding | `EmbeddedServer`, lifecycle hooks, public lifecycle contract | `C-OP` | [lifecycle and embedded server guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md) |
512
+ | Static | `StaticFilesApp`, `mount_static_app`, static route flags | `C-OP` | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md) |
513
+ | Operations | reload, workers, runtime selection, metrics, logging, proxy normalization | `C-OP` | [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md) |
514
+ | Release | `evaluate_release_gates`, `evaluate_promotion_target` | `C-OP` | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md), [release workflow guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/release.md) |
515
+ | Custom transports | pipe / inproc / rawframed / custom | `C-OP` with boundary notes | [custom transport docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/protocols/custom-transports.md), [boundary non-goals](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/BOUNDARY_NON_GOALS.md) |
516
+
517
+ ## CLI usage
518
+
519
+ The main command is `tigrcorn`. The public module entrypoint is `python -m tigrcorn`. The interoperability runner is `tigrcorn-interop`.
520
+
521
+ For complete operator coverage, use:
522
+
523
+ - [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md)
524
+ - [CLI flag surface](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CLI_FLAG_SURFACE.md)
525
+ - [CLI flag surface JSON](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/cli_flag_surface.json)
526
+ - [deployment profiles reference](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/DEPLOYMENT_PROFILES.md)
527
+ - [current CLI help snapshot](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/cli_help.current.txt)
528
+ - [current interop help snapshot](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/tigrcorn_interop_help.current.txt)
529
+
530
+ ### Config precedence
531
+
532
+ ```text
533
+ CLI > env > config file > defaults
534
+ ```
535
+
536
+ That precedence is implemented by `build_config_from_sources` and documented in [code governance](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/code.md).
537
+
538
+ ### Common launch patterns
539
+
540
+ #### Minimal HTTP/1.1 + HTTP/2
541
+
542
+ ```bash
543
+ tigrcorn examples.echo_http.app:app --host 127.0.0.1 --port 8000
544
+ ```
545
+
546
+ #### App factory loading
547
+
548
+ ```bash
549
+ tigrcorn examples.echo_http.app:create_app --factory --host 127.0.0.1 --port 8000
550
+ ```
551
+
552
+ #### Config file + environment merge
553
+
554
+ ```bash
555
+ tigrcorn examples.echo_http.app:app \
556
+ --config ./tigrcorn.toml \
557
+ --env-file ./.env \
558
+ --env-prefix TIGRCORN
559
+ ```
560
+
561
+ #### HTTP/2 over TLS
562
+
563
+ ```bash
564
+ tigrcorn examples.echo_http.app:app \
565
+ --bind 127.0.0.1:8443 \
566
+ --http 2 \
567
+ --ssl-certfile ./certs/server.pem \
568
+ --ssl-keyfile ./certs/server.key
569
+ ```
570
+
571
+ #### HTTP/3 / QUIC
572
+
573
+ ```bash
574
+ tigrcorn examples.echo_http.app:app \
575
+ --quic-bind 127.0.0.1:8443 \
576
+ --http 3 \
577
+ --protocol http3 \
578
+ --protocol quic \
579
+ --ssl-certfile ./certs/server.pem \
580
+ --ssl-keyfile ./certs/server.key
581
+ ```
582
+
583
+ #### WebSocket compression
584
+
585
+ ```bash
586
+ tigrcorn examples.websocket_echo.app:app \
587
+ --host 127.0.0.1 \
588
+ --port 9000 \
589
+ --websocket-compression permessage-deflate
590
+ ```
591
+
592
+ #### Static route mounting
593
+
594
+ ```bash
595
+ tigrcorn examples.http_entity_static.app:app \
596
+ --static-path-route /assets \
597
+ --static-path-mount ./public \
598
+ --static-path-dir-to-file \
599
+ --static-path-index-file index.html \
600
+ --static-path-expires 3600
601
+ ```
602
+
603
+ #### CONNECT, trailer, and content-coding policy
604
+
605
+ ```bash
606
+ tigrcorn examples.echo_http.app:app \
607
+ --connect-policy allowlist \
608
+ --connect-allow 127.0.0.1:5432 \
609
+ --trailer-policy strict \
610
+ --content-coding-policy allowlist \
611
+ --content-codings br,gzip,deflate
612
+ ```
613
+
614
+ #### Automatic Alt-Svc advertisement
615
+
616
+ ```bash
617
+ tigrcorn examples.advanced_protocol_delivery.alt_svc_app:app \
618
+ --bind 127.0.0.1:8080 \
619
+ --quic-bind 127.0.0.1:8443 \
620
+ --http 1.1 --http 2 --http 3 \
621
+ --alt-svc-auto \
622
+ --alt-svc-ma 86400 \
623
+ --alt-svc-persist
624
+ ```
625
+
626
+ #### Metrics, logging, reload, and workers
627
+
628
+ ```bash
629
+ tigrcorn examples.echo_http.app:app \
630
+ --log-level info \
631
+ --structured-log \
632
+ --metrics \
633
+ --metrics-bind 127.0.0.1:9100 \
634
+ --workers 4 \
635
+ --runtime auto \
636
+ --reload \
637
+ --reload-dir ./src
638
+ ```
639
+
640
+ #### Unix sockets and custom transports
641
+
642
+ ```bash
643
+ tigrcorn examples.echo_http.app:app \
644
+ --transport unix \
645
+ --uds /tmp/tigrcorn.sock
646
+ ```
647
+
648
+ ```bash
649
+ tigrcorn examples.echo_http.app:app \
650
+ --transport pipe \
651
+ --pipe-mode rawframed \
652
+ --protocol rawframed
653
+ ```
654
+
655
+ #### Interoperability matrices
656
+
657
+ ```bash
658
+ tigrcorn-interop \
659
+ --matrix docs/review/conformance/external_matrix.release.json \
660
+ --output ./artifacts/interop
661
+ ```
662
+
663
+ Use [current-release external matrix](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/external_matrix.current_release.json) for the current-release bundle contract and [same-stack replay matrix](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/external_matrix.same_stack_replay.json) for same-stack replay coverage.
664
+
665
+ ## Public API and embedding usage
666
+
667
+ The public import surface is documented in full in [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md). Lifecycle guarantees for embedded use live in [lifecycle and embedded server guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md).
668
+
669
+ ### Public import map
670
+
671
+ | Import surface | What it is for |
672
+ |---|---|
673
+ | `tigrcorn.run` | sync convenience entrypoint |
674
+ | `tigrcorn.serve` | async entrypoint for an in-memory ASGI app |
675
+ | `tigrcorn.serve_import_string` | async entrypoint for an import string |
676
+ | `tigrcorn.EmbeddedServer` | explicit embedding and lifecycle control |
677
+ | `tigrcorn.StaticFilesApp` | standalone static ASGI app |
678
+ | `tigrcorn.static.mount_static_app` | mount static delivery into another ASGI app |
679
+ | `tigrcorn.static.normalize_static_route` | normalize public static route input |
680
+ | `tigrcorn.config.build_config` | build `ServerConfig` from explicit keyword args |
681
+ | `tigrcorn.config.build_config_from_namespace` | convert argparse namespace into config |
682
+ | `tigrcorn.config.build_config_from_sources` | merge CLI overrides, config file, and environment |
683
+ | `tigrcorn.config.config_to_dict` | inspect or serialize config |
684
+ | `tigrcorn.config.load_env_config` | load prefixed environment config |
685
+ | `tigrcorn.config.load_config_file` | load TOML / JSON / optional YAML config |
686
+ | `tigrcorn.compat.release_gates.evaluate_release_gates` | evaluate release-gate readiness |
687
+ | `tigrcorn.compat.release_gates.evaluate_promotion_target` | evaluate promotion-target readiness |
688
+ | `tigrcorn.compat.release_gates.assert_release_ready` | fail fast if release gates are not satisfied |
689
+ | `tigrcorn.compat.release_gates.assert_promotion_target_ready` | fail fast if promotion target is not satisfied |
690
+
691
+ ### Usage snippets
692
+
693
+ #### Run from sync code
694
+
695
+ ```python
696
+ from tigrcorn import run
697
+
698
+ run(
699
+ "examples.echo_http.app:app",
700
+ host="127.0.0.1",
701
+ port=8000,
702
+ http_versions=["1.1", "2"],
703
+ )
704
+ ```
705
+
706
+ #### Run inside an existing event loop
707
+
708
+ ```python
709
+ from tigrcorn import serve
710
+
711
+ async def app(scope, receive, send):
712
+ ...
713
+
714
+ await serve(app, host="127.0.0.1", port=8000)
715
+ ```
716
+
717
+ #### Load an import string inside async code
718
+
719
+ ```python
720
+ from tigrcorn import serve_import_string
721
+
722
+ await serve_import_string(
723
+ "examples.websocket_echo.app:app",
724
+ host="127.0.0.1",
725
+ port=9000,
726
+ )
727
+ ```
728
+
729
+ #### Embed the server and control lifecycle directly
730
+
731
+ ```python
732
+ from tigrcorn import EmbeddedServer
733
+ from tigrcorn.config import build_config
734
+
735
+ config = build_config(host="127.0.0.1", port=0, lifespan="on")
736
+
737
+ async with EmbeddedServer(app, config) as embedded:
738
+ print(embedded.listeners)
739
+ print(embedded.bound_endpoints())
740
+ ```
741
+
742
+ #### Mount static delivery
743
+
744
+ ```python
745
+ from tigrcorn.static import mount_static_app
746
+
747
+ app = mount_static_app(
748
+ app,
749
+ route="/assets",
750
+ directory="./public",
751
+ apply_content_coding=True,
752
+ content_coding_policy="allowlist",
753
+ )
754
+ ```
755
+
756
+ #### Build config from sources
757
+
758
+ ```python
759
+ from tigrcorn.config import build_config_from_sources
760
+
761
+ config = build_config_from_sources(
762
+ config_path="./tigrcorn.toml",
763
+ env_prefix="TIGRCORN",
764
+ env_file=".env",
765
+ cli_overrides={
766
+ "app": {"target": "examples.echo_http.app:app"},
767
+ "logging": {"level": "debug"},
768
+ },
769
+ )
770
+ ```
771
+
772
+ #### Evaluate release and promotion state
773
+
774
+ ```python
775
+ from tigrcorn.compat.release_gates import evaluate_promotion_target, evaluate_release_gates
776
+
777
+ release_report = evaluate_release_gates(".")
778
+ promotion_report = evaluate_promotion_target(".")
779
+
780
+ print(release_report.passed)
781
+ print(promotion_report.passed)
782
+ ```
783
+
784
+ ## Current scope
785
+
786
+ ### Current supported runtime surface
787
+
788
+ | Runtime | Status | Source |
789
+ |---|---|---|
790
+ | `auto` | supported | [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md) |
791
+ | `asyncio` | supported | [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md) |
792
+ | `uvloop` | supported | [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md), [optional dependency surface](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/OPTIONAL_DEPENDENCY_SURFACE.md) |
793
+ | `trio` | reserved dependency path, not supported | [boundary non-goals](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/BOUNDARY_NON_GOALS.md) |
794
+
795
+ ### Out-of-boundary families
796
+
797
+ | Family | Current location |
798
+ |---|---|
799
+ | Trio as a supported runtime family | [boundary non-goals](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/BOUNDARY_NON_GOALS.md) |
800
+ | WSGI / ASGI2 / RSGI compatibility layers | [boundary non-goals](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/BOUNDARY_NON_GOALS.md) |
801
+ | Parser pluggability | [boundary non-goals](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/BOUNDARY_NON_GOALS.md) |
802
+ | WebSocket engine pluggability | [boundary non-goals](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/BOUNDARY_NON_GOALS.md) |
803
+ | RFC 9111 caching | [RFC applicability and competitor status](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/RFC_APPLICABILITY_AND_COMPETITOR_STATUS.md) |
804
+ | RFC 9530 digest fields | [RFC applicability and competitor status](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/RFC_APPLICABILITY_AND_COMPETITOR_STATUS.md) |
805
+ | RFC 9421 message signatures | [RFC applicability and competitor status](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/RFC_APPLICABILITY_AND_COMPETITOR_STATUS.md) |
806
+ | JOSE / COSE layers | [RFC applicability and competitor status](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/RFC_APPLICABILITY_AND_COMPETITOR_STATUS.md) |
807
+
808
+ ## Status at a glance
809
+
810
+ | Topic | Current source of truth |
811
+ |---|---|
812
+ | Repo line | `0.3.16.dev5` in `pyproject.toml` and the shipped facade import surface |
813
+ | Current state | [current repository state](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/state/CURRENT_REPOSITORY_STATE.md) |
814
+ | Canonical machine-readable registry | [`.ssot/registry.json`](https://github.com/tigrbl/tigrcorn/blob/master/.ssot/registry.json) |
815
+ | Current-state chain | [current-state chain](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CURRENT_STATE_CHAIN.md), [current-state chain JSON](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/current_state_chain.current.json) |
816
+ | Authoritative boundary | [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md) |
817
+ | Strict profile | [strict profile target](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/STRICT_PROFILE_TARGET.md) |
818
+ | Canonical promoted root | [canonical promoted root](https://github.com/tigrbl/tigrcorn/tree/master/docs/review/conformance/releases/0.3.9/release-0.3.9/) |
819
+ | Operator docs | [operator docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/README.md), [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md), [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md) |
820
+ | Lifecycle and embedding contract | [lifecycle and embedded server guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md) |
821
+ | Optional dependency truth | [optional dependency surface](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/OPTIONAL_DEPENDENCY_SURFACE.md), [optional dependency surface JSON](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/optional_dependency_surface.current.json) |
822
+ | External evidence inputs | [same-stack replay matrix](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/external_matrix.same_stack_replay.json), [release external matrix](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/external_matrix.release.json), [current-release external matrix](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/external_matrix.current_release.json) |
823
+ | Planning and promotion checkpoints | [Phase 9 implementation plan](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/PHASE9_IMPLEMENTATION_PLAN.md), [Phase 9A promotion contract freeze](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/PHASE9A_PROMOTION_CONTRACT_FREEZE.md) |
824
+
825
+ ### Current repository claim
826
+
827
+ Under [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md), the package is **certifiably fully RFC compliant under the authoritative certification boundary**. The canonical promoted root at [canonical promoted root](https://github.com/tigrbl/tigrcorn/tree/master/docs/review/conformance/releases/0.3.9/release-0.3.9/) is **strict-target certifiably fully RFC compliant** and **certifiably fully featured**.[^boundary]
828
+
829
+ ## Validation and promotion
830
+
831
+ A practical maintainer validation pass looks like this:
832
+
833
+ ```bash
834
+ python tools/govchk.py scan
835
+ PYTHONPATH=src python -m compileall -q src benchmarks tools
836
+ PYTHONPATH=src pytest -q
837
+ ```
838
+
839
+ Promotion-facing evaluators:
840
+
841
+ ```bash
842
+ PYTHONPATH=src python - <<'PY'
843
+ from tigrcorn.compat.release_gates import evaluate_release_gates, evaluate_promotion_target
844
+
845
+ print(evaluate_release_gates('.').passed)
846
+ print(
847
+ evaluate_release_gates(
848
+ '.',
849
+ boundary_path='docs/review/conformance/certification_boundary.strict_target.json',
850
+ ).passed
851
+ )
852
+ print(evaluate_promotion_target('.').passed)
853
+ PY
854
+ ```
855
+
856
+ Read next:
857
+
858
+ - [release workflow guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/release.md)
859
+ - [release gate status](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/RELEASE_GATE_STATUS.md)
860
+ - [strict profile target](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/STRICT_PROFILE_TARGET.md)
861
+ - [flag certification target](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/FLAG_CERTIFICATION_TARGET.md)
862
+ - [Phase 9A promotion contract freeze](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/PHASE9A_PROMOTION_CONTRACT_FREEZE.md)
863
+
864
+ ## Where to look
865
+
866
+ | If you are... | Start here | Then go to |
867
+ |---|---|---|
868
+ | Launching Tigrcorn as an operator | [CLI docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/cli.md) | [deployment profiles reference](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/DEPLOYMENT_PROFILES.md) |
869
+ | Embedding Tigrcorn in another process | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md) | [lifecycle and embedded server guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/LIFECYCLE_AND_EMBEDDED_SERVER.md) |
870
+ | Working on static or delivery behavior | [public API docs](https://github.com/tigrbl/tigrcorn/blob/master/docs/ops/public.md) | [static delivery example](https://github.com/tigrbl/tigrcorn/blob/master/examples/http_entity_static/app.py) |
871
+ | Reviewing current repository truth | [current repository state](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/state/CURRENT_REPOSITORY_STATE.md) | [current-state chain JSON](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/current_state_chain.current.json) |
872
+ | Reviewing the promoted release root | [canonical promoted root](https://github.com/tigrbl/tigrcorn/tree/master/docs/review/conformance/releases/0.3.9/release-0.3.9/) | [release notes 0.3.9](https://github.com/tigrbl/tigrcorn/blob/master/docs/release-notes/RELEASE_NOTES_0.3.9.md) |
873
+ | Reviewing the boundary or current scope | [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md) | [boundary non-goals](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/BOUNDARY_NON_GOALS.md) |
874
+ | Comparing Tigrcorn with peer servers | [RFC comparison](https://github.com/tigrbl/tigrcorn/blob/master/docs/comp/rfc.md) | [CLI comparison](https://github.com/tigrbl/tigrcorn/blob/master/docs/comp/cli.md), [operations comparison](https://github.com/tigrbl/tigrcorn/blob/master/docs/comp/ops.md), [out-of-bound comparison](https://github.com/tigrbl/tigrcorn/blob/master/docs/comp/oob.md) |
875
+ | Writing or maintaining docs | [authoring guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/authoring.md) | [`CONTRIBUTING.md`](https://github.com/tigrbl/tigrcorn/blob/master/CONTRIBUTING.md), [tree rules](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/tree.md), [mutability rules](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/mut.md) |
876
+ | Working on release or promotion | [release workflow guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/release.md) | [Phase 9A promotion contract freeze](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/PHASE9A_PROMOTION_CONTRACT_FREEZE.md) |
877
+
878
+ ## Contributing, conduct, and community norms
879
+
880
+ - [`CONTRIBUTING.md`](https://github.com/tigrbl/tigrcorn/blob/master/CONTRIBUTING.md) explains how to make changes without drifting from the boundary, tests, current-state chain, or release evidence.
881
+ - [`CODE_OF_CONDUCT.md`](https://github.com/tigrbl/tigrcorn/blob/master/CODE_OF_CONDUCT.md) defines participation expectations and reporting guidance.
882
+ - [authoring guide](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/authoring.md) explains how maintainers and authors should update the repository without creating truth conflicts.
883
+ - [tree rules](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/tree.md) and [mutability rules](https://github.com/tigrbl/tigrcorn/blob/master/docs/gov/mut.md) explain where new files belong and which trees are frozen.
884
+
885
+ ## Footnotes
886
+
887
+ [^boundary]: Certification language in this repository is scoped by [certification boundary](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/CERTIFICATION_BOUNDARY.md) and [current repository state](https://github.com/tigrbl/tigrcorn/blob/master/docs/review/conformance/state/CURRENT_REPOSITORY_STATE.md). The current package claim and the promoted-root claim are related, but they are not the same statement.
888
+
889
+ [^freeze]: The freeze preserves the release-workflow contract even when the local working environment is missing a certification dependency such as `aioquic`.