tigrcorn-http 0.3.16.dev5__tar.gz → 0.3.16.dev12__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_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/PKG-INFO +73 -17
- tigrcorn_http-0.3.16.dev12/README.md +100 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/pyproject.toml +5 -3
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/conditional.py +3 -3
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/PKG-INFO +73 -17
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/requires.txt +1 -1
- tigrcorn_http-0.3.16.dev5/README.md +0 -46
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/LICENSE +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/setup.cfg +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/__init__.py +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/alt_svc.py +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/early_hints.py +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/entity.py +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/etag.py +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/py.typed +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/range.py +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/structured_fields.py +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/SOURCES.txt +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/dependency_links.txt +0 -0
- {tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrcorn-http
|
|
3
|
-
Version: 0.3.16.
|
|
3
|
+
Version: 0.3.16.dev12
|
|
4
4
|
Summary: HTTP utilities for Tigrcorn headers, entity tags, content coding, range requests, and Python web server responses.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License: Apache License
|
|
@@ -175,63 +175,119 @@ 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.dev12
|
|
188
190
|
Provides-Extra: compression
|
|
189
191
|
Requires-Dist: brotli>=1.1.0; extra == "compression"
|
|
190
192
|
Dynamic: license-file
|
|
191
193
|
|
|
192
194
|
<div align="center">
|
|
193
195
|
<h1>tigrcorn-http</h1>
|
|
196
|
+
<img
|
|
197
|
+
src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
|
|
198
|
+
alt="Tigrcorn tiger-unicorn logo"
|
|
199
|
+
width="140"
|
|
200
|
+
/>
|
|
194
201
|
|
|
195
202
|
<p><strong>HTTP utilities for Tigrcorn headers, entity tags, content coding, range requests, and Python web server responses.</strong></p>
|
|
196
203
|
|
|
197
204
|
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="PyPI version for tigrcorn-http" src="https://img.shields.io/pypi/v/tigrcorn-http?label=PyPI"></a>
|
|
198
205
|
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="tigrcorn-http package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
206
|
+
<a href="https://pepy.tech/project/tigrcorn-http"><img alt="Downloads for tigrcorn-http" src="https://static.pepy.tech/badge/tigrcorn-http"></a>
|
|
207
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-http/README.md"><img alt="Hits for tigrcorn-http README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-http/README.md.svg?label=hits"></a>
|
|
199
208
|
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
200
|
-
<a href="pyproject.toml"><img alt="Python 3.11 supported" src="https://img.shields.io/badge/python-3.11-3776ab"></a>
|
|
201
|
-
<a href="pyproject.toml"><img alt="Python 3.12 supported" src="https://img.shields.io/badge/python-3.12-3776ab"></a>
|
|
202
|
-
<a href="pyproject.toml"><img alt="Python 3.13 supported" src="https://img.shields.io/badge/python-3.13-3776ab"></a>
|
|
203
|
-
<a href="src/tigrcorn_http/py.typed"><img alt="typed package" src="https://img.shields.io/badge/typed-py.typed-2f7ed8"></a>
|
|
209
|
+
<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>
|
|
204
210
|
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="http role package" src="https://img.shields.io/badge/role-http-0a7f5a"></a>
|
|
205
211
|
</div>
|
|
206
212
|
|
|
213
|
+
<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>
|
|
214
|
+
|
|
207
215
|
## Install
|
|
208
216
|
|
|
209
|
-
|
|
217
|
+
```bash
|
|
218
|
+
uv add tigrcorn-http
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
```bash
|
|
210
222
|
pip install tigrcorn-http
|
|
211
|
-
|
|
223
|
+
```
|
|
212
224
|
|
|
213
225
|
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-http</code> directly when you want only this package boundary and its declared dependencies.
|
|
214
226
|
|
|
215
227
|
## What It Owns
|
|
216
228
|
|
|
217
|
-
<code>tigrcorn-http</code> owns structured fields, range requests, entity validators,
|
|
229
|
+
<code>tigrcorn-http</code> owns structured fields, range requests, entity validators, alt-svc, and early hints. Its import package is <code>tigrcorn_http</code>, and its declared package dependencies are: tigrcorn-core.
|
|
230
|
+
|
|
231
|
+
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.
|
|
232
|
+
|
|
233
|
+
## Why Use This?
|
|
234
|
+
|
|
235
|
+
Use <code>tigrcorn-http</code> when you want the http 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.
|
|
236
|
+
|
|
237
|
+
## FAQ
|
|
238
|
+
|
|
239
|
+
### What does this package export?
|
|
240
|
+
|
|
241
|
+
The package exports through the <code>tigrcorn_http</code> namespace and keeps the root <code>tigrcorn</code> package as the compatibility umbrella.
|
|
242
|
+
|
|
243
|
+
### Which boundary does this package own?
|
|
244
|
+
|
|
245
|
+
It is the package boundary for structured fields, range requests, entity validators, alt-svc, and early hints in the Tigrcorn package graph.
|
|
218
246
|
|
|
219
|
-
|
|
247
|
+
### Which HTTP concerns live here?
|
|
248
|
+
|
|
249
|
+
This package owns structured fields, entity tags, range handling, conditional request logic, Alt-Svc helpers, Early Hints helpers, and related response-semantic utilities.
|
|
250
|
+
|
|
251
|
+
## Features
|
|
252
|
+
|
|
253
|
+
- Owns structured fields, range requests, entity validators, alt-svc, and early hints inside the Tigrcorn split-package architecture.
|
|
254
|
+
- Publishes the <code>tigrcorn_http</code> import surface for named public helpers and entrypoints.
|
|
255
|
+
- Declared runtime dependencies: tigrcorn-core.
|
|
256
|
+
- Optional dependency surface: brotli.
|
|
257
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
220
258
|
|
|
221
259
|
## Use It When
|
|
222
260
|
|
|
223
|
-
Use <code>tigrcorn-http</code> when you need
|
|
261
|
+
Use <code>tigrcorn-http</code> when you need http-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.
|
|
224
262
|
|
|
225
263
|
## Import Surface
|
|
226
264
|
|
|
227
|
-
|
|
228
|
-
import
|
|
265
|
+
```python
|
|
266
|
+
from tigrcorn_http import format_etag, generate_entity_tag
|
|
229
267
|
|
|
230
|
-
|
|
231
|
-
|
|
268
|
+
etag = generate_entity_tag(b"hello")
|
|
269
|
+
print(format_etag(etag))
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Namespace discovery starts with `import tigrcorn_http`.
|
|
232
273
|
|
|
233
274
|
The package exposes its supported public surface through the <code>tigrcorn_http</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
234
275
|
|
|
276
|
+
## Related Packages
|
|
277
|
+
|
|
278
|
+
- [tigrcorn-core](https://pypi.org/project/tigrcorn-core/)
|
|
279
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
280
|
+
|
|
235
281
|
## Package Graph
|
|
236
282
|
|
|
237
|
-
[tigrcorn](https://pypi.org/project/tigrcorn/) | [tigrcorn-
|
|
283
|
+
[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/)
|
|
284
|
+
|
|
285
|
+
## Best Practices
|
|
286
|
+
|
|
287
|
+
- Use these helpers for ETag, range, and conditional semantics instead of reimplementing HTTP edge logic in handlers.
|
|
288
|
+
- Keep entity and response-semantics changes aligned with the documented HTTP boundary.
|
|
289
|
+
- Pull optional content-coding dependencies only when your deployment actually needs them.
|
|
290
|
+
|
|
291
|
+
## License
|
|
292
|
+
|
|
293
|
+
Apache-2.0
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>tigrcorn-http</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>HTTP utilities for Tigrcorn headers, entity tags, content coding, range requests, and Python web server responses.</strong></p>
|
|
10
|
+
|
|
11
|
+
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="PyPI version for tigrcorn-http" src="https://img.shields.io/pypi/v/tigrcorn-http?label=PyPI"></a>
|
|
12
|
+
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="tigrcorn-http package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
13
|
+
<a href="https://pepy.tech/project/tigrcorn-http"><img alt="Downloads for tigrcorn-http" src="https://static.pepy.tech/badge/tigrcorn-http"></a>
|
|
14
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-http/README.md"><img alt="Hits for tigrcorn-http README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-http/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-http/"><img alt="http role package" src="https://img.shields.io/badge/role-http-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-http
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install tigrcorn-http
|
|
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-http</code> directly when you want only this package boundary and its declared dependencies.
|
|
33
|
+
|
|
34
|
+
## What It Owns
|
|
35
|
+
|
|
36
|
+
<code>tigrcorn-http</code> owns structured fields, range requests, entity validators, alt-svc, and early hints. Its import package is <code>tigrcorn_http</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-http</code> when you want the http 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_http</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 structured fields, range requests, entity validators, alt-svc, and early hints in the Tigrcorn package graph.
|
|
53
|
+
|
|
54
|
+
### Which HTTP concerns live here?
|
|
55
|
+
|
|
56
|
+
This package owns structured fields, entity tags, range handling, conditional request logic, Alt-Svc helpers, Early Hints helpers, and related response-semantic utilities.
|
|
57
|
+
|
|
58
|
+
## Features
|
|
59
|
+
|
|
60
|
+
- Owns structured fields, range requests, entity validators, alt-svc, and early hints inside the Tigrcorn split-package architecture.
|
|
61
|
+
- Publishes the <code>tigrcorn_http</code> import surface for named public helpers and entrypoints.
|
|
62
|
+
- Declared runtime dependencies: tigrcorn-core.
|
|
63
|
+
- Optional dependency surface: brotli.
|
|
64
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
65
|
+
|
|
66
|
+
## Use It When
|
|
67
|
+
|
|
68
|
+
Use <code>tigrcorn-http</code> when you need http-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
|
+
from tigrcorn_http import format_etag, generate_entity_tag
|
|
74
|
+
|
|
75
|
+
etag = generate_entity_tag(b"hello")
|
|
76
|
+
print(format_etag(etag))
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Namespace discovery starts with `import tigrcorn_http`.
|
|
80
|
+
|
|
81
|
+
The package exposes its supported public surface through the <code>tigrcorn_http</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
82
|
+
|
|
83
|
+
## Related Packages
|
|
84
|
+
|
|
85
|
+
- [tigrcorn-core](https://pypi.org/project/tigrcorn-core/)
|
|
86
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
87
|
+
|
|
88
|
+
## Package Graph
|
|
89
|
+
|
|
90
|
+
[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/)
|
|
91
|
+
|
|
92
|
+
## Best Practices
|
|
93
|
+
|
|
94
|
+
- Use these helpers for ETag, range, and conditional semantics instead of reimplementing HTTP edge logic in handlers.
|
|
95
|
+
- Keep entity and response-semantics changes aligned with the documented HTTP boundary.
|
|
96
|
+
- Pull optional content-coding dependencies only when your deployment actually needs them.
|
|
97
|
+
|
|
98
|
+
## License
|
|
99
|
+
|
|
100
|
+
Apache-2.0
|
|
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tigrcorn-http"
|
|
7
|
-
version = "0.3.16.
|
|
7
|
+
version = "0.3.16.dev12"
|
|
8
8
|
description = "HTTP utilities for Tigrcorn headers, entity tags, content coding, range requests, and Python web server responses."
|
|
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", "http", "headers", "etag", "content-coding", "range-requests", "http-utilities"]
|
|
@@ -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.dev12"]
|
|
30
32
|
|
|
31
33
|
[project.optional-dependencies]
|
|
32
34
|
compression = ["brotli>=1.1.0"]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from datetime import
|
|
4
|
+
from datetime import datetime, timezone
|
|
5
5
|
from email.utils import parsedate_to_datetime
|
|
6
6
|
|
|
7
7
|
from tigrcorn_http.etag import EntityTag, EntityTagList, parse_entity_tag, parse_entity_tag_list, strong_compare, weak_compare
|
|
@@ -31,8 +31,8 @@ def parse_http_date(value: bytes | str | None) -> datetime | None:
|
|
|
31
31
|
if dt is None:
|
|
32
32
|
return None
|
|
33
33
|
if dt.tzinfo is None:
|
|
34
|
-
dt = dt.replace(tzinfo=
|
|
35
|
-
return dt.astimezone(
|
|
34
|
+
dt = dt.replace(tzinfo=timezone.utc)
|
|
35
|
+
return dt.astimezone(timezone.utc).replace(microsecond=0)
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def _current_validators(headers: HeaderList) -> tuple[EntityTag | None, bytes | None, datetime | None, bytes | None]:
|
{tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrcorn-http
|
|
3
|
-
Version: 0.3.16.
|
|
3
|
+
Version: 0.3.16.dev12
|
|
4
4
|
Summary: HTTP utilities for Tigrcorn headers, entity tags, content coding, range requests, and Python web server responses.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License: Apache License
|
|
@@ -175,63 +175,119 @@ 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.dev12
|
|
188
190
|
Provides-Extra: compression
|
|
189
191
|
Requires-Dist: brotli>=1.1.0; extra == "compression"
|
|
190
192
|
Dynamic: license-file
|
|
191
193
|
|
|
192
194
|
<div align="center">
|
|
193
195
|
<h1>tigrcorn-http</h1>
|
|
196
|
+
<img
|
|
197
|
+
src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
|
|
198
|
+
alt="Tigrcorn tiger-unicorn logo"
|
|
199
|
+
width="140"
|
|
200
|
+
/>
|
|
194
201
|
|
|
195
202
|
<p><strong>HTTP utilities for Tigrcorn headers, entity tags, content coding, range requests, and Python web server responses.</strong></p>
|
|
196
203
|
|
|
197
204
|
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="PyPI version for tigrcorn-http" src="https://img.shields.io/pypi/v/tigrcorn-http?label=PyPI"></a>
|
|
198
205
|
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="tigrcorn-http package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
206
|
+
<a href="https://pepy.tech/project/tigrcorn-http"><img alt="Downloads for tigrcorn-http" src="https://static.pepy.tech/badge/tigrcorn-http"></a>
|
|
207
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-http/README.md"><img alt="Hits for tigrcorn-http README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-http/README.md.svg?label=hits"></a>
|
|
199
208
|
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
200
|
-
<a href="pyproject.toml"><img alt="Python 3.11 supported" src="https://img.shields.io/badge/python-3.11-3776ab"></a>
|
|
201
|
-
<a href="pyproject.toml"><img alt="Python 3.12 supported" src="https://img.shields.io/badge/python-3.12-3776ab"></a>
|
|
202
|
-
<a href="pyproject.toml"><img alt="Python 3.13 supported" src="https://img.shields.io/badge/python-3.13-3776ab"></a>
|
|
203
|
-
<a href="src/tigrcorn_http/py.typed"><img alt="typed package" src="https://img.shields.io/badge/typed-py.typed-2f7ed8"></a>
|
|
209
|
+
<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>
|
|
204
210
|
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="http role package" src="https://img.shields.io/badge/role-http-0a7f5a"></a>
|
|
205
211
|
</div>
|
|
206
212
|
|
|
213
|
+
<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>
|
|
214
|
+
|
|
207
215
|
## Install
|
|
208
216
|
|
|
209
|
-
|
|
217
|
+
```bash
|
|
218
|
+
uv add tigrcorn-http
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
```bash
|
|
210
222
|
pip install tigrcorn-http
|
|
211
|
-
|
|
223
|
+
```
|
|
212
224
|
|
|
213
225
|
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-http</code> directly when you want only this package boundary and its declared dependencies.
|
|
214
226
|
|
|
215
227
|
## What It Owns
|
|
216
228
|
|
|
217
|
-
<code>tigrcorn-http</code> owns structured fields, range requests, entity validators,
|
|
229
|
+
<code>tigrcorn-http</code> owns structured fields, range requests, entity validators, alt-svc, and early hints. Its import package is <code>tigrcorn_http</code>, and its declared package dependencies are: tigrcorn-core.
|
|
230
|
+
|
|
231
|
+
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.
|
|
232
|
+
|
|
233
|
+
## Why Use This?
|
|
234
|
+
|
|
235
|
+
Use <code>tigrcorn-http</code> when you want the http 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.
|
|
236
|
+
|
|
237
|
+
## FAQ
|
|
238
|
+
|
|
239
|
+
### What does this package export?
|
|
240
|
+
|
|
241
|
+
The package exports through the <code>tigrcorn_http</code> namespace and keeps the root <code>tigrcorn</code> package as the compatibility umbrella.
|
|
242
|
+
|
|
243
|
+
### Which boundary does this package own?
|
|
244
|
+
|
|
245
|
+
It is the package boundary for structured fields, range requests, entity validators, alt-svc, and early hints in the Tigrcorn package graph.
|
|
218
246
|
|
|
219
|
-
|
|
247
|
+
### Which HTTP concerns live here?
|
|
248
|
+
|
|
249
|
+
This package owns structured fields, entity tags, range handling, conditional request logic, Alt-Svc helpers, Early Hints helpers, and related response-semantic utilities.
|
|
250
|
+
|
|
251
|
+
## Features
|
|
252
|
+
|
|
253
|
+
- Owns structured fields, range requests, entity validators, alt-svc, and early hints inside the Tigrcorn split-package architecture.
|
|
254
|
+
- Publishes the <code>tigrcorn_http</code> import surface for named public helpers and entrypoints.
|
|
255
|
+
- Declared runtime dependencies: tigrcorn-core.
|
|
256
|
+
- Optional dependency surface: brotli.
|
|
257
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
220
258
|
|
|
221
259
|
## Use It When
|
|
222
260
|
|
|
223
|
-
Use <code>tigrcorn-http</code> when you need
|
|
261
|
+
Use <code>tigrcorn-http</code> when you need http-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.
|
|
224
262
|
|
|
225
263
|
## Import Surface
|
|
226
264
|
|
|
227
|
-
|
|
228
|
-
import
|
|
265
|
+
```python
|
|
266
|
+
from tigrcorn_http import format_etag, generate_entity_tag
|
|
229
267
|
|
|
230
|
-
|
|
231
|
-
|
|
268
|
+
etag = generate_entity_tag(b"hello")
|
|
269
|
+
print(format_etag(etag))
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Namespace discovery starts with `import tigrcorn_http`.
|
|
232
273
|
|
|
233
274
|
The package exposes its supported public surface through the <code>tigrcorn_http</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
234
275
|
|
|
276
|
+
## Related Packages
|
|
277
|
+
|
|
278
|
+
- [tigrcorn-core](https://pypi.org/project/tigrcorn-core/)
|
|
279
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
280
|
+
|
|
235
281
|
## Package Graph
|
|
236
282
|
|
|
237
|
-
[tigrcorn](https://pypi.org/project/tigrcorn/) | [tigrcorn-
|
|
283
|
+
[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/)
|
|
284
|
+
|
|
285
|
+
## Best Practices
|
|
286
|
+
|
|
287
|
+
- Use these helpers for ETag, range, and conditional semantics instead of reimplementing HTTP edge logic in handlers.
|
|
288
|
+
- Keep entity and response-semantics changes aligned with the documented HTTP boundary.
|
|
289
|
+
- Pull optional content-coding dependencies only when your deployment actually needs them.
|
|
290
|
+
|
|
291
|
+
## License
|
|
292
|
+
|
|
293
|
+
Apache-2.0
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<h1>tigrcorn-http</h1>
|
|
3
|
-
|
|
4
|
-
<p><strong>HTTP utilities for Tigrcorn headers, entity tags, content coding, range requests, and Python web server responses.</strong></p>
|
|
5
|
-
|
|
6
|
-
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="PyPI version for tigrcorn-http" src="https://img.shields.io/pypi/v/tigrcorn-http?label=PyPI"></a>
|
|
7
|
-
<a href="https://pypi.org/project/tigrcorn-http/"><img alt="tigrcorn-http 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_http/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-http/"><img alt="http role package" src="https://img.shields.io/badge/role-http-0a7f5a"></a>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
## Install
|
|
17
|
-
|
|
18
|
-
~~~bash
|
|
19
|
-
pip install tigrcorn-http
|
|
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-http</code> directly when you want only this package boundary and its declared dependencies.
|
|
23
|
-
|
|
24
|
-
## What It Owns
|
|
25
|
-
|
|
26
|
-
<code>tigrcorn-http</code> owns structured fields, range requests, entity validators, Alt-Svc, Early Hints, headers, and HTTP response utilities. Its import package is <code>tigrcorn_http</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-http</code> when you need reusable HTTP utility logic for Tigrcorn packages without importing protocol handlers or the 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_http
|
|
38
|
-
|
|
39
|
-
print(tigrcorn_http.__name__)
|
|
40
|
-
~~~
|
|
41
|
-
|
|
42
|
-
The package exposes its supported public surface through the <code>tigrcorn_http</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/)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http/structured_fields.py
RENAMED
|
File without changes
|
{tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{tigrcorn_http-0.3.16.dev5 → tigrcorn_http-0.3.16.dev12}/src/tigrcorn_http.egg-info/top_level.txt
RENAMED
|
File without changes
|