tigrcorn-asgi 0.3.16.dev5__tar.gz → 0.3.16.dev11__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.
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/PKG-INFO +67 -14
- tigrcorn_asgi-0.3.16.dev11/README.md +97 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/pyproject.toml +5 -3
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/websocket.py +2 -2
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/receive.py +51 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi.egg-info/PKG-INFO +67 -14
- tigrcorn_asgi-0.3.16.dev11/src/tigrcorn_asgi.egg-info/requires.txt +1 -0
- tigrcorn_asgi-0.3.16.dev5/README.md +0 -46
- tigrcorn_asgi-0.3.16.dev5/src/tigrcorn_asgi.egg-info/requires.txt +0 -1
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/LICENSE +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/setup.cfg +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/__init__.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/connection.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/errors.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/__init__.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/custom.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/http.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/lifespan.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/extensions/__init__.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/extensions/tls.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/extensions/websocket_denial.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/py.typed +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/__init__.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/custom.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/http.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/lifespan.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/websocket.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/send.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/state.py +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi.egg-info/SOURCES.txt +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi.egg-info/dependency_links.txt +0 -0
- {tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrcorn-asgi
|
|
3
|
-
Version: 0.3.16.
|
|
3
|
+
Version: 0.3.16.dev11
|
|
4
4
|
Summary: ASGI3 scope, event, receive/send, and extension primitives for the Tigrcorn Python web server.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License: Apache License
|
|
@@ -175,38 +175,50 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
175
175
|
Classifier: Operating System :: OS Independent
|
|
176
176
|
Classifier: Programming Language :: Python :: 3
|
|
177
177
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
178
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
178
179
|
Classifier: Programming Language :: Python :: 3.11
|
|
179
180
|
Classifier: Programming Language :: Python :: 3.12
|
|
180
181
|
Classifier: Programming Language :: Python :: 3.13
|
|
182
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
181
183
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
182
184
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
183
185
|
Classifier: Typing :: Typed
|
|
184
|
-
Requires-Python:
|
|
186
|
+
Requires-Python: <3.15,>=3.10
|
|
185
187
|
Description-Content-Type: text/markdown
|
|
186
188
|
License-File: LICENSE
|
|
187
|
-
Requires-Dist: tigrcorn-core==0.3.16.
|
|
189
|
+
Requires-Dist: tigrcorn-core==0.3.16.dev11
|
|
188
190
|
Dynamic: license-file
|
|
189
191
|
|
|
190
192
|
<div align="center">
|
|
191
193
|
<h1>tigrcorn-asgi</h1>
|
|
194
|
+
<img
|
|
195
|
+
src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
|
|
196
|
+
alt="Tigrcorn tiger-unicorn logo"
|
|
197
|
+
width="140"
|
|
198
|
+
/>
|
|
192
199
|
|
|
193
200
|
<p><strong>ASGI3 scope, event, receive/send, and extension primitives for the Tigrcorn Python web server.</strong></p>
|
|
194
201
|
|
|
195
202
|
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="PyPI version for tigrcorn-asgi" src="https://img.shields.io/pypi/v/tigrcorn-asgi?label=PyPI"></a>
|
|
196
203
|
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="tigrcorn-asgi package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
204
|
+
<a href="https://pepy.tech/project/tigrcorn-asgi"><img alt="Downloads for tigrcorn-asgi" src="https://static.pepy.tech/badge/tigrcorn-asgi"></a>
|
|
205
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-asgi/README.md"><img alt="Hits for tigrcorn-asgi README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-asgi/README.md.svg?label=hits"></a>
|
|
197
206
|
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
198
|
-
<a href="pyproject.toml"><img alt="Python 3.11 supported" src="https://img.shields.io/badge/python-3.11-3776ab"></a>
|
|
199
|
-
<a href="pyproject.toml"><img alt="Python 3.12 supported" src="https://img.shields.io/badge/python-3.12-3776ab"></a>
|
|
200
|
-
<a href="pyproject.toml"><img alt="Python 3.13 supported" src="https://img.shields.io/badge/python-3.13-3776ab"></a>
|
|
201
|
-
<a href="src/tigrcorn_asgi/py.typed"><img alt="typed package" src="https://img.shields.io/badge/typed-py.typed-2f7ed8"></a>
|
|
207
|
+
<a href="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>
|
|
202
208
|
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="asgi role package" src="https://img.shields.io/badge/role-asgi-0a7f5a"></a>
|
|
203
209
|
</div>
|
|
204
210
|
|
|
211
|
+
<p align="center"><a href="https://github.com/Tigrbl/tigrcorn/blob/master/.ssot/registry.json"><img alt="SSOT governed" src="https://img.shields.io/badge/SSOT-governed-2f6f4e.svg"></a> <a href="https://discord.gg/jzvrbEtTtt"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white"></a></p>
|
|
212
|
+
|
|
205
213
|
## Install
|
|
206
214
|
|
|
207
|
-
|
|
215
|
+
```bash
|
|
216
|
+
uv add tigrcorn-asgi
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
```bash
|
|
208
220
|
pip install tigrcorn-asgi
|
|
209
|
-
|
|
221
|
+
```
|
|
210
222
|
|
|
211
223
|
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-asgi</code> directly when you want only this package boundary and its declared dependencies.
|
|
212
224
|
|
|
@@ -214,22 +226,63 @@ Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution wh
|
|
|
214
226
|
|
|
215
227
|
<code>tigrcorn-asgi</code> owns ASGI scopes, ASGI events, receive/send channels, extensions, and connection state. Its import package is <code>tigrcorn_asgi</code>, and its declared package dependencies are: tigrcorn-core.
|
|
216
228
|
|
|
217
|
-
This package page is written for developers searching for Tigrcorn ASGI3 server components, Python web server packages, HTTP/3 and QUIC support, WebSocket and WebTransport
|
|
229
|
+
This package page is written for developers searching for Tigrcorn ASGI3 server components, Python web server packages, HTTP/3 and QUIC support, WebSocket and WebTransport-adjacent surfaces, and Apache 2.0 licensed infrastructure.
|
|
230
|
+
|
|
231
|
+
## Why Use This?
|
|
232
|
+
|
|
233
|
+
Use <code>tigrcorn-asgi</code> when you want the asgi layer as a direct install target instead of the full server bundle. It lets application, operator, or certification workflows depend on this boundary explicitly while keeping the broader Tigrcorn runtime assembled from smaller repo-owned package surfaces.
|
|
234
|
+
|
|
235
|
+
## FAQ
|
|
236
|
+
|
|
237
|
+
### What does this package export?
|
|
238
|
+
|
|
239
|
+
The package exports through the <code>tigrcorn_asgi</code> namespace and keeps the root <code>tigrcorn</code> package as the compatibility umbrella.
|
|
240
|
+
|
|
241
|
+
### Which boundary does this package own?
|
|
242
|
+
|
|
243
|
+
It is the package boundary for ASGI scopes, ASGI events, receive/send channels, extensions, and connection state in the Tigrcorn package graph.
|
|
244
|
+
|
|
245
|
+
### Why is this package separate from runtime and protocols?
|
|
246
|
+
|
|
247
|
+
It isolates scopes, events, extensions, and receive/send contracts so protocol and runtime packages can share one ASGI3 boundary without duplicating event or scope logic.
|
|
248
|
+
|
|
249
|
+
## Features
|
|
250
|
+
|
|
251
|
+
- Owns ASGI scopes, ASGI events, receive/send channels, extensions, and connection state inside the Tigrcorn split-package architecture.
|
|
252
|
+
- Publishes the <code>tigrcorn_asgi</code> import surface for module-oriented public surfaces.
|
|
253
|
+
- Declared runtime dependencies: tigrcorn-core.
|
|
254
|
+
- Optional dependency surface: none.
|
|
255
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
218
256
|
|
|
219
257
|
## Use It When
|
|
220
258
|
|
|
221
|
-
Use <code>tigrcorn-asgi</code> when you need
|
|
259
|
+
Use <code>tigrcorn-asgi</code> when you need asgi-level behavior without pulling the entire server stack into the import surface. It is part of Tigrcorn's split-package architecture, so it can be installed independently while remaining linked to the rest of the Tigrcorn package family on PyPI.
|
|
222
260
|
|
|
223
261
|
## Import Surface
|
|
224
262
|
|
|
225
|
-
|
|
263
|
+
```python
|
|
226
264
|
import tigrcorn_asgi
|
|
227
265
|
|
|
228
266
|
print(tigrcorn_asgi.__name__)
|
|
229
|
-
|
|
267
|
+
```
|
|
230
268
|
|
|
231
269
|
The package exposes its supported public surface through the <code>tigrcorn_asgi</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
232
270
|
|
|
271
|
+
## Related Packages
|
|
272
|
+
|
|
273
|
+
- [tigrcorn-core](https://pypi.org/project/tigrcorn-core/)
|
|
274
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
275
|
+
|
|
233
276
|
## Package Graph
|
|
234
277
|
|
|
235
|
-
[tigrcorn](https://pypi.org/project/tigrcorn/) | [tigrcorn-
|
|
278
|
+
[tigrcorn-core](https://pypi.org/project/tigrcorn-core/) | [tigrcorn-config](https://pypi.org/project/tigrcorn-config/) | [tigrcorn-http](https://pypi.org/project/tigrcorn-http/) | [tigrcorn-asgi](https://pypi.org/project/tigrcorn-asgi/) | [tigrcorn-contract](https://pypi.org/project/tigrcorn-contract/) | [tigrcorn-transports](https://pypi.org/project/tigrcorn-transports/) | [tigrcorn-security](https://pypi.org/project/tigrcorn-security/) | [tigrcorn-protocols](https://pypi.org/project/tigrcorn-protocols/) | [tigrcorn-static](https://pypi.org/project/tigrcorn-static/) | [tigrcorn-observability](https://pypi.org/project/tigrcorn-observability/) | [tigrcorn-runtime](https://pypi.org/project/tigrcorn-runtime/) | [tigrcorn-compat](https://pypi.org/project/tigrcorn-compat/) | [tigrcorn-certification](https://pypi.org/project/tigrcorn-certification/)
|
|
279
|
+
|
|
280
|
+
## Best Practices
|
|
281
|
+
|
|
282
|
+
- Keep new event and scope behavior aligned to ASGI3 contracts first, then layer protocol-specific behavior on top.
|
|
283
|
+
- Reuse the shared ASGI surface here before inventing protocol-local scope or event shapes.
|
|
284
|
+
- Validate extension and connection-state assumptions at this boundary before they leak into runtime code.
|
|
285
|
+
|
|
286
|
+
## License
|
|
287
|
+
|
|
288
|
+
Apache-2.0
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>tigrcorn-asgi</h1>
|
|
3
|
+
<img
|
|
4
|
+
src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
|
|
5
|
+
alt="Tigrcorn tiger-unicorn logo"
|
|
6
|
+
width="140"
|
|
7
|
+
/>
|
|
8
|
+
|
|
9
|
+
<p><strong>ASGI3 scope, event, receive/send, and extension primitives for the Tigrcorn Python web server.</strong></p>
|
|
10
|
+
|
|
11
|
+
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="PyPI version for tigrcorn-asgi" src="https://img.shields.io/pypi/v/tigrcorn-asgi?label=PyPI"></a>
|
|
12
|
+
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="tigrcorn-asgi package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
13
|
+
<a href="https://pepy.tech/project/tigrcorn-asgi"><img alt="Downloads for tigrcorn-asgi" src="https://static.pepy.tech/badge/tigrcorn-asgi"></a>
|
|
14
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-asgi/README.md"><img alt="Hits for tigrcorn-asgi README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-asgi/README.md.svg?label=hits"></a>
|
|
15
|
+
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
16
|
+
<a href="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>
|
|
17
|
+
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="asgi role package" src="https://img.shields.io/badge/role-asgi-0a7f5a"></a>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<p align="center"><a href="https://github.com/Tigrbl/tigrcorn/blob/master/.ssot/registry.json"><img alt="SSOT governed" src="https://img.shields.io/badge/SSOT-governed-2f6f4e.svg"></a> <a href="https://discord.gg/jzvrbEtTtt"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white"></a></p>
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
uv add tigrcorn-asgi
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install tigrcorn-asgi
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-asgi</code> directly when you want only this package boundary and its declared dependencies.
|
|
33
|
+
|
|
34
|
+
## What It Owns
|
|
35
|
+
|
|
36
|
+
<code>tigrcorn-asgi</code> owns ASGI scopes, ASGI events, receive/send channels, extensions, and connection state. Its import package is <code>tigrcorn_asgi</code>, and its declared package dependencies are: tigrcorn-core.
|
|
37
|
+
|
|
38
|
+
This package page is written for developers searching for Tigrcorn ASGI3 server components, Python web server packages, HTTP/3 and QUIC support, WebSocket and WebTransport-adjacent surfaces, and Apache 2.0 licensed infrastructure.
|
|
39
|
+
|
|
40
|
+
## Why Use This?
|
|
41
|
+
|
|
42
|
+
Use <code>tigrcorn-asgi</code> when you want the asgi layer as a direct install target instead of the full server bundle. It lets application, operator, or certification workflows depend on this boundary explicitly while keeping the broader Tigrcorn runtime assembled from smaller repo-owned package surfaces.
|
|
43
|
+
|
|
44
|
+
## FAQ
|
|
45
|
+
|
|
46
|
+
### What does this package export?
|
|
47
|
+
|
|
48
|
+
The package exports through the <code>tigrcorn_asgi</code> namespace and keeps the root <code>tigrcorn</code> package as the compatibility umbrella.
|
|
49
|
+
|
|
50
|
+
### Which boundary does this package own?
|
|
51
|
+
|
|
52
|
+
It is the package boundary for ASGI scopes, ASGI events, receive/send channels, extensions, and connection state in the Tigrcorn package graph.
|
|
53
|
+
|
|
54
|
+
### Why is this package separate from runtime and protocols?
|
|
55
|
+
|
|
56
|
+
It isolates scopes, events, extensions, and receive/send contracts so protocol and runtime packages can share one ASGI3 boundary without duplicating event or scope logic.
|
|
57
|
+
|
|
58
|
+
## Features
|
|
59
|
+
|
|
60
|
+
- Owns ASGI scopes, ASGI events, receive/send channels, extensions, and connection state inside the Tigrcorn split-package architecture.
|
|
61
|
+
- Publishes the <code>tigrcorn_asgi</code> import surface for module-oriented public surfaces.
|
|
62
|
+
- Declared runtime dependencies: tigrcorn-core.
|
|
63
|
+
- Optional dependency surface: none.
|
|
64
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
65
|
+
|
|
66
|
+
## Use It When
|
|
67
|
+
|
|
68
|
+
Use <code>tigrcorn-asgi</code> when you need asgi-level behavior without pulling the entire server stack into the import surface. It is part of Tigrcorn's split-package architecture, so it can be installed independently while remaining linked to the rest of the Tigrcorn package family on PyPI.
|
|
69
|
+
|
|
70
|
+
## Import Surface
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
import tigrcorn_asgi
|
|
74
|
+
|
|
75
|
+
print(tigrcorn_asgi.__name__)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The package exposes its supported public surface through the <code>tigrcorn_asgi</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
79
|
+
|
|
80
|
+
## Related Packages
|
|
81
|
+
|
|
82
|
+
- [tigrcorn-core](https://pypi.org/project/tigrcorn-core/)
|
|
83
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
84
|
+
|
|
85
|
+
## Package Graph
|
|
86
|
+
|
|
87
|
+
[tigrcorn-core](https://pypi.org/project/tigrcorn-core/) | [tigrcorn-config](https://pypi.org/project/tigrcorn-config/) | [tigrcorn-http](https://pypi.org/project/tigrcorn-http/) | [tigrcorn-asgi](https://pypi.org/project/tigrcorn-asgi/) | [tigrcorn-contract](https://pypi.org/project/tigrcorn-contract/) | [tigrcorn-transports](https://pypi.org/project/tigrcorn-transports/) | [tigrcorn-security](https://pypi.org/project/tigrcorn-security/) | [tigrcorn-protocols](https://pypi.org/project/tigrcorn-protocols/) | [tigrcorn-static](https://pypi.org/project/tigrcorn-static/) | [tigrcorn-observability](https://pypi.org/project/tigrcorn-observability/) | [tigrcorn-runtime](https://pypi.org/project/tigrcorn-runtime/) | [tigrcorn-compat](https://pypi.org/project/tigrcorn-compat/) | [tigrcorn-certification](https://pypi.org/project/tigrcorn-certification/)
|
|
88
|
+
|
|
89
|
+
## Best Practices
|
|
90
|
+
|
|
91
|
+
- Keep new event and scope behavior aligned to ASGI3 contracts first, then layer protocol-specific behavior on top.
|
|
92
|
+
- Reuse the shared ASGI surface here before inventing protocol-local scope or event shapes.
|
|
93
|
+
- Validate extension and connection-state assumptions at this boundary before they leak into runtime code.
|
|
94
|
+
|
|
95
|
+
## License
|
|
96
|
+
|
|
97
|
+
Apache-2.0
|
|
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tigrcorn-asgi"
|
|
7
|
-
version = "0.3.16.
|
|
7
|
+
version = "0.3.16.dev11"
|
|
8
8
|
description = "ASGI3 scope, event, receive/send, and extension primitives for the Tigrcorn Python web server."
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.
|
|
10
|
+
requires-python = ">=3.10,<3.15"
|
|
11
11
|
license = {file = "LICENSE"}
|
|
12
12
|
authors = [{name = "Jacob Stewart", email = "jacob@swarmauri.com"}]
|
|
13
13
|
keywords = ["tigrcorn", "asgi", "asgi3", "scopes", "events", "extensions", "python-web-server"]
|
|
@@ -19,14 +19,16 @@ classifiers = [
|
|
|
19
19
|
"Operating System :: OS Independent",
|
|
20
20
|
"Programming Language :: Python :: 3",
|
|
21
21
|
"Programming Language :: Python :: 3 :: Only",
|
|
22
|
+
"Programming Language :: Python :: 3.10",
|
|
22
23
|
"Programming Language :: Python :: 3.11",
|
|
23
24
|
"Programming Language :: Python :: 3.12",
|
|
24
25
|
"Programming Language :: Python :: 3.13",
|
|
26
|
+
"Programming Language :: Python :: 3.14",
|
|
25
27
|
"Topic :: Internet :: WWW/HTTP",
|
|
26
28
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
27
29
|
"Typing :: Typed",
|
|
28
30
|
]
|
|
29
|
-
dependencies = ["tigrcorn-core==0.3.16.
|
|
31
|
+
dependencies = ["tigrcorn-core==0.3.16.dev11"]
|
|
30
32
|
|
|
31
33
|
[tool.setuptools]
|
|
32
34
|
package-dir = {"" = "src"}
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/websocket.py
RENAMED
|
@@ -6,11 +6,11 @@ def websocket_connect() -> dict:
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def websocket_receive_text(text: str) -> dict:
|
|
9
|
-
return {"type": "websocket.receive", "text": text, "bytes": None}
|
|
9
|
+
return {"type": "websocket.receive", "text": text, "bytes": None, "framing": "text"}
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def websocket_receive_bytes(data: bytes) -> dict:
|
|
13
|
-
return {"type": "websocket.receive", "text": None, "bytes": data}
|
|
13
|
+
return {"type": "websocket.receive", "text": None, "bytes": data, "framing": "bytes"}
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def websocket_disconnect(code: int = 1005, reason: str = "") -> dict:
|
|
@@ -54,6 +54,57 @@ class HTTPRequestReceive:
|
|
|
54
54
|
return http_disconnect()
|
|
55
55
|
|
|
56
56
|
|
|
57
|
+
class HTTP2QueuedRequestReceive:
|
|
58
|
+
"""Queue-backed HTTP/2 request body with consumption-driven flow credit."""
|
|
59
|
+
|
|
60
|
+
def __init__(
|
|
61
|
+
self,
|
|
62
|
+
*,
|
|
63
|
+
trailers: list[tuple[bytes, bytes]] | None = None,
|
|
64
|
+
trailer_policy: str = 'pass',
|
|
65
|
+
on_body_consumed: Callable[[int], Awaitable[None]] | None = None,
|
|
66
|
+
) -> None:
|
|
67
|
+
self._queue: asyncio.Queue[Message] = asyncio.Queue()
|
|
68
|
+
self._trailers = apply_request_trailer_policy(list(trailers or ()), trailer_policy)
|
|
69
|
+
self._on_body_consumed = on_body_consumed
|
|
70
|
+
self._body_complete = False
|
|
71
|
+
self._sent_trailers = False
|
|
72
|
+
self._disconnected = False
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
def body_complete(self) -> bool:
|
|
76
|
+
return self._body_complete
|
|
77
|
+
|
|
78
|
+
async def put_body(self, body: bytes, *, more_body: bool) -> None:
|
|
79
|
+
if self._body_complete:
|
|
80
|
+
return
|
|
81
|
+
if not more_body:
|
|
82
|
+
self._body_complete = True
|
|
83
|
+
await self._queue.put(http_request(body, more_body))
|
|
84
|
+
|
|
85
|
+
async def finish_body(self) -> None:
|
|
86
|
+
if not self._body_complete:
|
|
87
|
+
await self.put_body(b'', more_body=False)
|
|
88
|
+
|
|
89
|
+
async def put_trailers(self, trailers: list[tuple[bytes, bytes]]) -> None:
|
|
90
|
+
self._trailers = apply_request_trailer_policy(trailers, 'pass')
|
|
91
|
+
|
|
92
|
+
async def __call__(self) -> Message:
|
|
93
|
+
if self._disconnected:
|
|
94
|
+
return http_disconnect()
|
|
95
|
+
if not self._body_complete or not self._queue.empty():
|
|
96
|
+
message = await self._queue.get()
|
|
97
|
+
body = message.get('body', b'')
|
|
98
|
+
if body and self._on_body_consumed is not None:
|
|
99
|
+
await self._on_body_consumed(len(body))
|
|
100
|
+
return message
|
|
101
|
+
if self._trailers and not self._sent_trailers:
|
|
102
|
+
self._sent_trailers = True
|
|
103
|
+
return http_request_trailers(self._trailers)
|
|
104
|
+
self._disconnected = True
|
|
105
|
+
return http_disconnect()
|
|
106
|
+
|
|
107
|
+
|
|
57
108
|
class HTTPStreamingRequestReceive:
|
|
58
109
|
"""Reader-backed HTTP/1.1 request body exposed incrementally as ASGI events."""
|
|
59
110
|
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrcorn-asgi
|
|
3
|
-
Version: 0.3.16.
|
|
3
|
+
Version: 0.3.16.dev11
|
|
4
4
|
Summary: ASGI3 scope, event, receive/send, and extension primitives for the Tigrcorn Python web server.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License: Apache License
|
|
@@ -175,38 +175,50 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
175
175
|
Classifier: Operating System :: OS Independent
|
|
176
176
|
Classifier: Programming Language :: Python :: 3
|
|
177
177
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
178
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
178
179
|
Classifier: Programming Language :: Python :: 3.11
|
|
179
180
|
Classifier: Programming Language :: Python :: 3.12
|
|
180
181
|
Classifier: Programming Language :: Python :: 3.13
|
|
182
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
181
183
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
182
184
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
183
185
|
Classifier: Typing :: Typed
|
|
184
|
-
Requires-Python:
|
|
186
|
+
Requires-Python: <3.15,>=3.10
|
|
185
187
|
Description-Content-Type: text/markdown
|
|
186
188
|
License-File: LICENSE
|
|
187
|
-
Requires-Dist: tigrcorn-core==0.3.16.
|
|
189
|
+
Requires-Dist: tigrcorn-core==0.3.16.dev11
|
|
188
190
|
Dynamic: license-file
|
|
189
191
|
|
|
190
192
|
<div align="center">
|
|
191
193
|
<h1>tigrcorn-asgi</h1>
|
|
194
|
+
<img
|
|
195
|
+
src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
|
|
196
|
+
alt="Tigrcorn tiger-unicorn logo"
|
|
197
|
+
width="140"
|
|
198
|
+
/>
|
|
192
199
|
|
|
193
200
|
<p><strong>ASGI3 scope, event, receive/send, and extension primitives for the Tigrcorn Python web server.</strong></p>
|
|
194
201
|
|
|
195
202
|
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="PyPI version for tigrcorn-asgi" src="https://img.shields.io/pypi/v/tigrcorn-asgi?label=PyPI"></a>
|
|
196
203
|
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="tigrcorn-asgi package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
204
|
+
<a href="https://pepy.tech/project/tigrcorn-asgi"><img alt="Downloads for tigrcorn-asgi" src="https://static.pepy.tech/badge/tigrcorn-asgi"></a>
|
|
205
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-asgi/README.md"><img alt="Hits for tigrcorn-asgi README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-asgi/README.md.svg?label=hits"></a>
|
|
197
206
|
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
198
|
-
<a href="pyproject.toml"><img alt="Python 3.11 supported" src="https://img.shields.io/badge/python-3.11-3776ab"></a>
|
|
199
|
-
<a href="pyproject.toml"><img alt="Python 3.12 supported" src="https://img.shields.io/badge/python-3.12-3776ab"></a>
|
|
200
|
-
<a href="pyproject.toml"><img alt="Python 3.13 supported" src="https://img.shields.io/badge/python-3.13-3776ab"></a>
|
|
201
|
-
<a href="src/tigrcorn_asgi/py.typed"><img alt="typed package" src="https://img.shields.io/badge/typed-py.typed-2f7ed8"></a>
|
|
207
|
+
<a href="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>
|
|
202
208
|
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="asgi role package" src="https://img.shields.io/badge/role-asgi-0a7f5a"></a>
|
|
203
209
|
</div>
|
|
204
210
|
|
|
211
|
+
<p align="center"><a href="https://github.com/Tigrbl/tigrcorn/blob/master/.ssot/registry.json"><img alt="SSOT governed" src="https://img.shields.io/badge/SSOT-governed-2f6f4e.svg"></a> <a href="https://discord.gg/jzvrbEtTtt"><img alt="Discord" src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white"></a></p>
|
|
212
|
+
|
|
205
213
|
## Install
|
|
206
214
|
|
|
207
|
-
|
|
215
|
+
```bash
|
|
216
|
+
uv add tigrcorn-asgi
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
```bash
|
|
208
220
|
pip install tigrcorn-asgi
|
|
209
|
-
|
|
221
|
+
```
|
|
210
222
|
|
|
211
223
|
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-asgi</code> directly when you want only this package boundary and its declared dependencies.
|
|
212
224
|
|
|
@@ -214,22 +226,63 @@ Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution wh
|
|
|
214
226
|
|
|
215
227
|
<code>tigrcorn-asgi</code> owns ASGI scopes, ASGI events, receive/send channels, extensions, and connection state. Its import package is <code>tigrcorn_asgi</code>, and its declared package dependencies are: tigrcorn-core.
|
|
216
228
|
|
|
217
|
-
This package page is written for developers searching for Tigrcorn ASGI3 server components, Python web server packages, HTTP/3 and QUIC support, WebSocket and WebTransport
|
|
229
|
+
This package page is written for developers searching for Tigrcorn ASGI3 server components, Python web server packages, HTTP/3 and QUIC support, WebSocket and WebTransport-adjacent surfaces, and Apache 2.0 licensed infrastructure.
|
|
230
|
+
|
|
231
|
+
## Why Use This?
|
|
232
|
+
|
|
233
|
+
Use <code>tigrcorn-asgi</code> when you want the asgi layer as a direct install target instead of the full server bundle. It lets application, operator, or certification workflows depend on this boundary explicitly while keeping the broader Tigrcorn runtime assembled from smaller repo-owned package surfaces.
|
|
234
|
+
|
|
235
|
+
## FAQ
|
|
236
|
+
|
|
237
|
+
### What does this package export?
|
|
238
|
+
|
|
239
|
+
The package exports through the <code>tigrcorn_asgi</code> namespace and keeps the root <code>tigrcorn</code> package as the compatibility umbrella.
|
|
240
|
+
|
|
241
|
+
### Which boundary does this package own?
|
|
242
|
+
|
|
243
|
+
It is the package boundary for ASGI scopes, ASGI events, receive/send channels, extensions, and connection state in the Tigrcorn package graph.
|
|
244
|
+
|
|
245
|
+
### Why is this package separate from runtime and protocols?
|
|
246
|
+
|
|
247
|
+
It isolates scopes, events, extensions, and receive/send contracts so protocol and runtime packages can share one ASGI3 boundary without duplicating event or scope logic.
|
|
248
|
+
|
|
249
|
+
## Features
|
|
250
|
+
|
|
251
|
+
- Owns ASGI scopes, ASGI events, receive/send channels, extensions, and connection state inside the Tigrcorn split-package architecture.
|
|
252
|
+
- Publishes the <code>tigrcorn_asgi</code> import surface for module-oriented public surfaces.
|
|
253
|
+
- Declared runtime dependencies: tigrcorn-core.
|
|
254
|
+
- Optional dependency surface: none.
|
|
255
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
218
256
|
|
|
219
257
|
## Use It When
|
|
220
258
|
|
|
221
|
-
Use <code>tigrcorn-asgi</code> when you need
|
|
259
|
+
Use <code>tigrcorn-asgi</code> when you need asgi-level behavior without pulling the entire server stack into the import surface. It is part of Tigrcorn's split-package architecture, so it can be installed independently while remaining linked to the rest of the Tigrcorn package family on PyPI.
|
|
222
260
|
|
|
223
261
|
## Import Surface
|
|
224
262
|
|
|
225
|
-
|
|
263
|
+
```python
|
|
226
264
|
import tigrcorn_asgi
|
|
227
265
|
|
|
228
266
|
print(tigrcorn_asgi.__name__)
|
|
229
|
-
|
|
267
|
+
```
|
|
230
268
|
|
|
231
269
|
The package exposes its supported public surface through the <code>tigrcorn_asgi</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
232
270
|
|
|
271
|
+
## Related Packages
|
|
272
|
+
|
|
273
|
+
- [tigrcorn-core](https://pypi.org/project/tigrcorn-core/)
|
|
274
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
275
|
+
|
|
233
276
|
## Package Graph
|
|
234
277
|
|
|
235
|
-
[tigrcorn](https://pypi.org/project/tigrcorn/) | [tigrcorn-
|
|
278
|
+
[tigrcorn-core](https://pypi.org/project/tigrcorn-core/) | [tigrcorn-config](https://pypi.org/project/tigrcorn-config/) | [tigrcorn-http](https://pypi.org/project/tigrcorn-http/) | [tigrcorn-asgi](https://pypi.org/project/tigrcorn-asgi/) | [tigrcorn-contract](https://pypi.org/project/tigrcorn-contract/) | [tigrcorn-transports](https://pypi.org/project/tigrcorn-transports/) | [tigrcorn-security](https://pypi.org/project/tigrcorn-security/) | [tigrcorn-protocols](https://pypi.org/project/tigrcorn-protocols/) | [tigrcorn-static](https://pypi.org/project/tigrcorn-static/) | [tigrcorn-observability](https://pypi.org/project/tigrcorn-observability/) | [tigrcorn-runtime](https://pypi.org/project/tigrcorn-runtime/) | [tigrcorn-compat](https://pypi.org/project/tigrcorn-compat/) | [tigrcorn-certification](https://pypi.org/project/tigrcorn-certification/)
|
|
279
|
+
|
|
280
|
+
## Best Practices
|
|
281
|
+
|
|
282
|
+
- Keep new event and scope behavior aligned to ASGI3 contracts first, then layer protocol-specific behavior on top.
|
|
283
|
+
- Reuse the shared ASGI surface here before inventing protocol-local scope or event shapes.
|
|
284
|
+
- Validate extension and connection-state assumptions at this boundary before they leak into runtime code.
|
|
285
|
+
|
|
286
|
+
## License
|
|
287
|
+
|
|
288
|
+
Apache-2.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tigrcorn-core==0.3.16.dev11
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<h1>tigrcorn-asgi</h1>
|
|
3
|
-
|
|
4
|
-
<p><strong>ASGI3 scope, event, receive/send, and extension primitives for the Tigrcorn Python web server.</strong></p>
|
|
5
|
-
|
|
6
|
-
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="PyPI version for tigrcorn-asgi" src="https://img.shields.io/pypi/v/tigrcorn-asgi?label=PyPI"></a>
|
|
7
|
-
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="tigrcorn-asgi package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
8
|
-
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
9
|
-
<a href="pyproject.toml"><img alt="Python 3.11 supported" src="https://img.shields.io/badge/python-3.11-3776ab"></a>
|
|
10
|
-
<a href="pyproject.toml"><img alt="Python 3.12 supported" src="https://img.shields.io/badge/python-3.12-3776ab"></a>
|
|
11
|
-
<a href="pyproject.toml"><img alt="Python 3.13 supported" src="https://img.shields.io/badge/python-3.13-3776ab"></a>
|
|
12
|
-
<a href="src/tigrcorn_asgi/py.typed"><img alt="typed package" src="https://img.shields.io/badge/typed-py.typed-2f7ed8"></a>
|
|
13
|
-
<a href="https://pypi.org/project/tigrcorn-asgi/"><img alt="asgi role package" src="https://img.shields.io/badge/role-asgi-0a7f5a"></a>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
## Install
|
|
17
|
-
|
|
18
|
-
~~~bash
|
|
19
|
-
pip install tigrcorn-asgi
|
|
20
|
-
~~~
|
|
21
|
-
|
|
22
|
-
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-asgi</code> directly when you want only this package boundary and its declared dependencies.
|
|
23
|
-
|
|
24
|
-
## What It Owns
|
|
25
|
-
|
|
26
|
-
<code>tigrcorn-asgi</code> owns ASGI scopes, ASGI events, receive/send channels, extensions, and connection state. Its import package is <code>tigrcorn_asgi</code>, and its declared package dependencies are: tigrcorn-core.
|
|
27
|
-
|
|
28
|
-
This package page is written for developers searching for Tigrcorn ASGI3 server components, Python web server packages, HTTP/3 and QUIC support, WebSocket and WebTransport runtime surfaces, typed package boundaries, and Apache 2.0 licensed infrastructure.
|
|
29
|
-
|
|
30
|
-
## Use It When
|
|
31
|
-
|
|
32
|
-
Use <code>tigrcorn-asgi</code> when you need ASGI3 event, scope, extension, or channel primitives without importing the full server runtime. It is part of Tigrcorn's split-package architecture, so it can be installed independently while remaining linked to the rest of the Tigrcorn package family on PyPI.
|
|
33
|
-
|
|
34
|
-
## Import Surface
|
|
35
|
-
|
|
36
|
-
~~~python
|
|
37
|
-
import tigrcorn_asgi
|
|
38
|
-
|
|
39
|
-
print(tigrcorn_asgi.__name__)
|
|
40
|
-
~~~
|
|
41
|
-
|
|
42
|
-
The package exposes its supported public surface through the <code>tigrcorn_asgi</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
43
|
-
|
|
44
|
-
## Package Graph
|
|
45
|
-
|
|
46
|
-
[tigrcorn](https://pypi.org/project/tigrcorn/) | [tigrcorn-core](https://pypi.org/project/tigrcorn-core/) | [tigrcorn-config](https://pypi.org/project/tigrcorn-config/) | [tigrcorn-asgi](https://pypi.org/project/tigrcorn-asgi/) | [tigrcorn-contract](https://pypi.org/project/tigrcorn-contract/) | [tigrcorn-transports](https://pypi.org/project/tigrcorn-transports/) | [tigrcorn-protocols](https://pypi.org/project/tigrcorn-protocols/) | [tigrcorn-http](https://pypi.org/project/tigrcorn-http/) | [tigrcorn-security](https://pypi.org/project/tigrcorn-security/) | [tigrcorn-runtime](https://pypi.org/project/tigrcorn-runtime/) | [tigrcorn-static](https://pypi.org/project/tigrcorn-static/) | [tigrcorn-observability](https://pypi.org/project/tigrcorn-observability/) | [tigrcorn-compat](https://pypi.org/project/tigrcorn-compat/) | [tigrcorn-certification](https://pypi.org/project/tigrcorn-certification/)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tigrcorn-core==0.3.16.dev5
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/events/lifespan.py
RENAMED
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/extensions/__init__.py
RENAMED
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/extensions/tls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/lifespan.py
RENAMED
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi/scopes/websocket.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{tigrcorn_asgi-0.3.16.dev5 → tigrcorn_asgi-0.3.16.dev11}/src/tigrcorn_asgi.egg-info/top_level.txt
RENAMED
|
File without changes
|