tigrcorn-certification 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_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/PKG-INFO +75 -18
- tigrcorn_certification-0.3.16.dev11/README.md +100 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/pyproject.toml +7 -4
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/certification_env.py +5 -1
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/release_gates.py +33 -36
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification.egg-info/PKG-INFO +75 -18
- tigrcorn_certification-0.3.16.dev11/src/tigrcorn_certification.egg-info/requires.txt +10 -0
- tigrcorn_certification-0.3.16.dev5/README.md +0 -46
- tigrcorn_certification-0.3.16.dev5/src/tigrcorn_certification.egg-info/requires.txt +0 -7
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/LICENSE +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/setup.cfg +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/__init__.py +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/aioquic_preflight.py +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/conformance.py +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/explicit_surfaces.py +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/interop_runner.py +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/perf_runner.py +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification/py.typed +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification.egg-info/SOURCES.txt +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification.egg-info/dependency_links.txt +0 -0
- {tigrcorn_certification-0.3.16.dev5 → tigrcorn_certification-0.3.16.dev11}/src/tigrcorn_certification.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrcorn-certification
|
|
3
|
-
Version: 0.3.16.
|
|
3
|
+
Version: 0.3.16.dev11
|
|
4
4
|
Summary: Certification and release-gate tooling for Tigrcorn HTTP/3, QUIC, WebSocket, WebTransport, and ASGI conformance evidence.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License: Apache License
|
|
@@ -175,18 +175,21 @@ 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: Topic :: System :: Networking
|
|
184
186
|
Classifier: Typing :: Typed
|
|
185
|
-
Requires-Python:
|
|
187
|
+
Requires-Python: <3.15,>=3.10
|
|
186
188
|
Description-Content-Type: text/markdown
|
|
187
189
|
License-File: LICENSE
|
|
188
|
-
Requires-Dist: tigrcorn-compat==0.3.16.
|
|
189
|
-
Requires-Dist: tigrcorn-runtime==0.3.16.
|
|
190
|
+
Requires-Dist: tigrcorn-compat==0.3.16.dev11
|
|
191
|
+
Requires-Dist: tigrcorn-runtime==0.3.16.dev11
|
|
192
|
+
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
|
|
190
193
|
Requires-Dist: cryptography>=46.0.0
|
|
191
194
|
Requires-Dist: aioquic>=1.3.0
|
|
192
195
|
Requires-Dist: h2>=4.1.0
|
|
@@ -196,47 +199,101 @@ Dynamic: license-file
|
|
|
196
199
|
|
|
197
200
|
<div align="center">
|
|
198
201
|
<h1>tigrcorn-certification</h1>
|
|
202
|
+
<img
|
|
203
|
+
src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
|
|
204
|
+
alt="Tigrcorn tiger-unicorn logo"
|
|
205
|
+
width="140"
|
|
206
|
+
/>
|
|
199
207
|
|
|
200
208
|
<p><strong>Certification and release-gate tooling for Tigrcorn HTTP/3, QUIC, WebSocket, WebTransport, and ASGI conformance evidence.</strong></p>
|
|
201
209
|
|
|
202
210
|
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="PyPI version for tigrcorn-certification" src="https://img.shields.io/pypi/v/tigrcorn-certification?label=PyPI"></a>
|
|
203
211
|
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="tigrcorn-certification package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
212
|
+
<a href="https://pepy.tech/project/tigrcorn-certification"><img alt="Downloads for tigrcorn-certification" src="https://static.pepy.tech/badge/tigrcorn-certification"></a>
|
|
213
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-certification/README.md"><img alt="Hits for tigrcorn-certification README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-certification/README.md.svg?label=hits"></a>
|
|
204
214
|
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
205
|
-
<a href="pyproject.toml"><img alt="Python 3.11 supported" src="https://img.shields.io/badge/python-3.11-3776ab"></a>
|
|
206
|
-
<a href="pyproject.toml"><img alt="Python 3.12 supported" src="https://img.shields.io/badge/python-3.12-3776ab"></a>
|
|
207
|
-
<a href="pyproject.toml"><img alt="Python 3.13 supported" src="https://img.shields.io/badge/python-3.13-3776ab"></a>
|
|
208
|
-
<a href="src/tigrcorn_certification/py.typed"><img alt="typed package" src="https://img.shields.io/badge/typed-py.typed-2f7ed8"></a>
|
|
215
|
+
<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>
|
|
209
216
|
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="certification role package" src="https://img.shields.io/badge/role-certification-0a7f5a"></a>
|
|
210
217
|
</div>
|
|
211
218
|
|
|
219
|
+
<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>
|
|
220
|
+
|
|
212
221
|
## Install
|
|
213
222
|
|
|
214
|
-
|
|
223
|
+
```bash
|
|
224
|
+
uv add tigrcorn-certification
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
```bash
|
|
215
228
|
pip install tigrcorn-certification
|
|
216
|
-
|
|
229
|
+
```
|
|
217
230
|
|
|
218
231
|
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-certification</code> directly when you want only this package boundary and its declared dependencies.
|
|
219
232
|
|
|
220
233
|
## What It Owns
|
|
221
234
|
|
|
222
|
-
<code>tigrcorn-certification</code> owns release gates, certification environment, external peer matrices, strict promotion checks
|
|
235
|
+
<code>tigrcorn-certification</code> owns release gates, certification environment, external peer matrices, and strict promotion checks. Its import package is <code>tigrcorn_certification</code>, and its declared package dependencies are: tigrcorn-compat, tigrcorn-runtime, cryptography, aioquic, h2, websockets, wsproto.
|
|
236
|
+
|
|
237
|
+
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.
|
|
238
|
+
|
|
239
|
+
## Why Use This?
|
|
240
|
+
|
|
241
|
+
Use <code>tigrcorn-certification</code> when you want the certification 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.
|
|
242
|
+
|
|
243
|
+
## FAQ
|
|
244
|
+
|
|
245
|
+
### What does this package export?
|
|
246
|
+
|
|
247
|
+
The package exports through the <code>tigrcorn_certification</code> namespace and keeps the root <code>tigrcorn</code> package as the compatibility umbrella.
|
|
248
|
+
|
|
249
|
+
### Which boundary does this package own?
|
|
250
|
+
|
|
251
|
+
It is the package boundary for release gates, certification environment, external peer matrices, and strict promotion checks in the Tigrcorn package graph.
|
|
223
252
|
|
|
224
|
-
|
|
253
|
+
### What certification surfaces live here?
|
|
254
|
+
|
|
255
|
+
Release-gate evaluation, strict promotion checks, explicit-surface validation, certification environment helpers, and external peer evidence rails are all concentrated here.
|
|
256
|
+
|
|
257
|
+
## Features
|
|
258
|
+
|
|
259
|
+
- Owns release gates, certification environment, external peer matrices, and strict promotion checks inside the Tigrcorn split-package architecture.
|
|
260
|
+
- Publishes the <code>tigrcorn_certification</code> import surface for named public helpers and entrypoints.
|
|
261
|
+
- Declared runtime dependencies: tigrcorn-compat, tigrcorn-runtime, cryptography, aioquic, h2, websockets, wsproto.
|
|
262
|
+
- Optional dependency surface: aioquic, h2, websockets, wsproto, cryptography.
|
|
263
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
225
264
|
|
|
226
265
|
## Use It When
|
|
227
266
|
|
|
228
|
-
Use <code>tigrcorn-certification</code> when you need
|
|
267
|
+
Use <code>tigrcorn-certification</code> when you need certification-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.
|
|
229
268
|
|
|
230
269
|
## Import Surface
|
|
231
270
|
|
|
232
|
-
|
|
233
|
-
import
|
|
271
|
+
```python
|
|
272
|
+
from tigrcorn_certification import evaluate_release_gates
|
|
234
273
|
|
|
235
|
-
print(
|
|
236
|
-
|
|
274
|
+
print(evaluate_release_gates.__name__)
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Namespace discovery starts with `import tigrcorn_certification`.
|
|
237
278
|
|
|
238
279
|
The package exposes its supported public surface through the <code>tigrcorn_certification</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
239
280
|
|
|
281
|
+
## Related Packages
|
|
282
|
+
|
|
283
|
+
- [tigrcorn-compat](https://pypi.org/project/tigrcorn-compat/)
|
|
284
|
+
- [tigrcorn-runtime](https://pypi.org/project/tigrcorn-runtime/)
|
|
285
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
286
|
+
|
|
240
287
|
## Package Graph
|
|
241
288
|
|
|
242
|
-
[tigrcorn](https://pypi.org/project/tigrcorn/) | [tigrcorn-
|
|
289
|
+
[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/)
|
|
290
|
+
|
|
291
|
+
## Best Practices
|
|
292
|
+
|
|
293
|
+
- Use this package when you need release-gate or promotion-target decisions rooted in repo evidence.
|
|
294
|
+
- Keep certification explicit-surface and peer-matrix checks aligned with SSOT and release artifacts.
|
|
295
|
+
- Pull certification-only dependencies in environments that actually execute the strict release rails.
|
|
296
|
+
|
|
297
|
+
## License
|
|
298
|
+
|
|
299
|
+
Apache-2.0
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>tigrcorn-certification</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>Certification and release-gate tooling for Tigrcorn HTTP/3, QUIC, WebSocket, WebTransport, and ASGI conformance evidence.</strong></p>
|
|
10
|
+
|
|
11
|
+
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="PyPI version for tigrcorn-certification" src="https://img.shields.io/pypi/v/tigrcorn-certification?label=PyPI"></a>
|
|
12
|
+
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="tigrcorn-certification package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
13
|
+
<a href="https://pepy.tech/project/tigrcorn-certification"><img alt="Downloads for tigrcorn-certification" src="https://static.pepy.tech/badge/tigrcorn-certification"></a>
|
|
14
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-certification/README.md"><img alt="Hits for tigrcorn-certification README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-certification/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-certification/"><img alt="certification role package" src="https://img.shields.io/badge/role-certification-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-certification
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install tigrcorn-certification
|
|
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-certification</code> directly when you want only this package boundary and its declared dependencies.
|
|
33
|
+
|
|
34
|
+
## What It Owns
|
|
35
|
+
|
|
36
|
+
<code>tigrcorn-certification</code> owns release gates, certification environment, external peer matrices, and strict promotion checks. Its import package is <code>tigrcorn_certification</code>, and its declared package dependencies are: tigrcorn-compat, tigrcorn-runtime, cryptography, aioquic, h2, websockets, wsproto.
|
|
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-certification</code> when you want the certification 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_certification</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 release gates, certification environment, external peer matrices, and strict promotion checks in the Tigrcorn package graph.
|
|
53
|
+
|
|
54
|
+
### What certification surfaces live here?
|
|
55
|
+
|
|
56
|
+
Release-gate evaluation, strict promotion checks, explicit-surface validation, certification environment helpers, and external peer evidence rails are all concentrated here.
|
|
57
|
+
|
|
58
|
+
## Features
|
|
59
|
+
|
|
60
|
+
- Owns release gates, certification environment, external peer matrices, and strict promotion checks inside the Tigrcorn split-package architecture.
|
|
61
|
+
- Publishes the <code>tigrcorn_certification</code> import surface for named public helpers and entrypoints.
|
|
62
|
+
- Declared runtime dependencies: tigrcorn-compat, tigrcorn-runtime, cryptography, aioquic, h2, websockets, wsproto.
|
|
63
|
+
- Optional dependency surface: aioquic, h2, websockets, wsproto, cryptography.
|
|
64
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
65
|
+
|
|
66
|
+
## Use It When
|
|
67
|
+
|
|
68
|
+
Use <code>tigrcorn-certification</code> when you need certification-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_certification import evaluate_release_gates
|
|
74
|
+
|
|
75
|
+
print(evaluate_release_gates.__name__)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Namespace discovery starts with `import tigrcorn_certification`.
|
|
79
|
+
|
|
80
|
+
The package exposes its supported public surface through the <code>tigrcorn_certification</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
81
|
+
|
|
82
|
+
## Related Packages
|
|
83
|
+
|
|
84
|
+
- [tigrcorn-compat](https://pypi.org/project/tigrcorn-compat/)
|
|
85
|
+
- [tigrcorn-runtime](https://pypi.org/project/tigrcorn-runtime/)
|
|
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 this package when you need release-gate or promotion-target decisions rooted in repo evidence.
|
|
95
|
+
- Keep certification explicit-surface and peer-matrix checks aligned with SSOT and release artifacts.
|
|
96
|
+
- Pull certification-only dependencies in environments that actually execute the strict release rails.
|
|
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-certification"
|
|
7
|
-
version = "0.3.16.
|
|
7
|
+
version = "0.3.16.dev11"
|
|
8
8
|
description = "Certification and release-gate tooling for Tigrcorn HTTP/3, QUIC, WebSocket, WebTransport, and ASGI conformance evidence."
|
|
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", "certification", "conformance", "interop", "release-gates", "http3", "quic", "evidence"]
|
|
@@ -19,17 +19,20 @@ 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
|
"Topic :: System :: Networking",
|
|
28
30
|
"Typing :: Typed",
|
|
29
31
|
]
|
|
30
32
|
dependencies = [
|
|
31
|
-
"tigrcorn-compat==0.3.16.
|
|
32
|
-
"tigrcorn-runtime==0.3.16.
|
|
33
|
+
"tigrcorn-compat==0.3.16.dev11",
|
|
34
|
+
"tigrcorn-runtime==0.3.16.dev11",
|
|
35
|
+
"tomli>=2.0.0; python_version < '3.11'",
|
|
33
36
|
"cryptography>=46.0.0",
|
|
34
37
|
"aioquic>=1.3.0",
|
|
35
38
|
"h2>=4.1.0",
|
|
@@ -7,11 +7,15 @@ import os
|
|
|
7
7
|
import platform
|
|
8
8
|
import subprocess
|
|
9
9
|
import sys
|
|
10
|
-
import tomllib
|
|
11
10
|
from datetime import datetime, timezone
|
|
12
11
|
from pathlib import Path
|
|
13
12
|
from typing import Any, Iterable, Mapping, Sequence
|
|
14
13
|
|
|
14
|
+
try:
|
|
15
|
+
import tomllib
|
|
16
|
+
except ModuleNotFoundError: # pragma: no cover - Python 3.10 fallback
|
|
17
|
+
import tomli as tomllib
|
|
18
|
+
|
|
15
19
|
SUPPORTED_PYTHON_VERSIONS: tuple[str, ...] = ('3.11', '3.12')
|
|
16
20
|
REQUIRED_IMPORTS: tuple[str, ...] = ('aioquic', 'h2', 'websockets', 'wsproto')
|
|
17
21
|
REQUIRED_EXTRAS: tuple[str, ...] = ('certification', 'dev')
|
|
@@ -15,8 +15,6 @@ DEFAULT_STRICT_TARGET_BOUNDARY_PATH = Path('docs/review/conformance/certificatio
|
|
|
15
15
|
DEFAULT_PROMOTION_TARGET_PATH = Path('docs/review/conformance/promotion_gate.target.json')
|
|
16
16
|
DEFAULT_TLS_WRAPPER_PATH = Path('src/tigrcorn/security/tls.py')
|
|
17
17
|
DEFAULT_CLAIMS_REGISTRY_PATH = Path('docs/review/conformance/claims_registry.json')
|
|
18
|
-
DEFAULT_RISK_REGISTER_PATH = Path('docs/conformance/risk/RISK_REGISTER.json')
|
|
19
|
-
DEFAULT_RISK_TRACEABILITY_PATH = Path('docs/conformance/risk/RISK_TRACEABILITY.json')
|
|
20
18
|
DEFAULT_LEGACY_UNITTEST_INVENTORY_PATH = Path('LEGACY_UNITTEST_INVENTORY.json')
|
|
21
19
|
DEFAULT_SSOT_REGISTRY_PATH = Path('.ssot/registry.json')
|
|
22
20
|
VALID_EVIDENCE_TIERS = ('local_conformance', 'same_stack_replay', 'independent_certification')
|
|
@@ -1170,12 +1168,10 @@ def _evaluate_governance_graph(*, source_root: Path, checked_files: list[str]) -
|
|
|
1170
1168
|
failures: list[str] = []
|
|
1171
1169
|
ssot_registry_path = source_root / DEFAULT_SSOT_REGISTRY_PATH
|
|
1172
1170
|
claims_path = source_root / DEFAULT_CLAIMS_REGISTRY_PATH
|
|
1173
|
-
risk_register_path = source_root / DEFAULT_RISK_REGISTER_PATH
|
|
1174
|
-
risk_traceability_path = source_root / DEFAULT_RISK_TRACEABILITY_PATH
|
|
1175
1171
|
legacy_inventory_path = source_root / DEFAULT_LEGACY_UNITTEST_INVENTORY_PATH
|
|
1176
|
-
checked_files.extend(str(path) for path in (ssot_registry_path, claims_path,
|
|
1172
|
+
checked_files.extend(str(path) for path in (ssot_registry_path, claims_path, legacy_inventory_path))
|
|
1177
1173
|
|
|
1178
|
-
for path in (ssot_registry_path, claims_path,
|
|
1174
|
+
for path in (ssot_registry_path, claims_path, legacy_inventory_path):
|
|
1179
1175
|
if not path.exists():
|
|
1180
1176
|
failures.append(f'missing governance graph input: {path}')
|
|
1181
1177
|
if failures:
|
|
@@ -1210,47 +1206,50 @@ def _evaluate_governance_graph(*, source_root: Path, checked_files: list[str]) -
|
|
|
1210
1206
|
|
|
1211
1207
|
claims_payload = _load_json_payload(claims_path)
|
|
1212
1208
|
claim_ids = {str(row.get('id', '')) for row in claims_payload.get('current_and_candidate_claims', []) if isinstance(row, Mapping)}
|
|
1213
|
-
|
|
1214
|
-
register_payload = _load_json_payload(risk_register_path)
|
|
1215
|
-
traceability_payload = _load_json_payload(risk_traceability_path)
|
|
1209
|
+
ssot_claim_ids = {str(row.get('id', '')) for row in ssot_payload.get('claims', []) if isinstance(row, Mapping)}
|
|
1216
1210
|
inventory_payload = _load_json_payload(legacy_inventory_path)
|
|
1217
1211
|
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
failures.append('risk register or risk traceability payload is malformed')
|
|
1212
|
+
risk_rows = ssot_payload.get('risks', [])
|
|
1213
|
+
if not isinstance(risk_rows, list):
|
|
1214
|
+
failures.append('ssot registry risk payload is malformed')
|
|
1222
1215
|
return failures
|
|
1223
1216
|
|
|
1224
|
-
register_ids = {str(row.get('risk_id', '')) for row in register_rows if isinstance(row, Mapping)}
|
|
1225
|
-
traceability_ids = {str(row.get('risk_id', '')) for row in traceability_rows if isinstance(row, Mapping)}
|
|
1226
|
-
if register_ids != traceability_ids:
|
|
1227
|
-
failures.append('risk register and risk traceability files disagree on declared risk ids')
|
|
1228
|
-
|
|
1229
1217
|
open_blocking_statuses = {'open', 'active', 'unmitigated', 'planned'}
|
|
1230
|
-
for row in
|
|
1218
|
+
for row in risk_rows:
|
|
1231
1219
|
if not isinstance(row, Mapping):
|
|
1232
1220
|
continue
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1221
|
+
risk_id = str(row.get('source_risk_id', row.get('id', '')))
|
|
1222
|
+
if bool(row.get('release_blocking', False)) and str(row.get('status', '')).strip().lower() in open_blocking_statuses:
|
|
1223
|
+
failures.append(f'blocking risk {risk_id} remains open with status={row.get("status")!r}')
|
|
1224
|
+
for claim_ref in row.get('claim_ids', []):
|
|
1225
|
+
claim_ref = str(claim_ref)
|
|
1226
|
+
if claim_ref not in ssot_claim_ids:
|
|
1227
|
+
failures.append(f'ssot risk row {risk_id} references unknown normalized claim {claim_ref!r}')
|
|
1228
|
+
traceability = row.get('traceability_refs', {})
|
|
1229
|
+
if not isinstance(traceability, Mapping):
|
|
1230
|
+
failures.append(f'ssot risk row {risk_id} has malformed traceability_refs')
|
|
1238
1231
|
continue
|
|
1239
|
-
|
|
1240
|
-
for claim_ref in row.get('claim_refs', []):
|
|
1232
|
+
for claim_ref in traceability.get('claim_refs', []):
|
|
1241
1233
|
if str(claim_ref) not in claim_ids:
|
|
1242
|
-
failures.append(f'risk
|
|
1243
|
-
for test_ref in
|
|
1234
|
+
failures.append(f'ssot risk row {risk_id} references unknown claim {claim_ref!r}')
|
|
1235
|
+
for test_ref in traceability.get('test_refs', []):
|
|
1244
1236
|
test_path = source_root / Path(str(test_ref).split('::', 1)[0])
|
|
1245
1237
|
if not test_path.exists():
|
|
1246
|
-
failures.append(f'risk
|
|
1247
|
-
for evidence_ref in
|
|
1238
|
+
failures.append(f'ssot risk row {risk_id} references missing test {test_ref!r}')
|
|
1239
|
+
for evidence_ref in traceability.get('evidence_refs', []):
|
|
1248
1240
|
evidence_path = source_root / Path(str(evidence_ref))
|
|
1249
1241
|
if not evidence_path.exists():
|
|
1250
|
-
failures.append(f'risk
|
|
1251
|
-
|
|
1252
|
-
for group_name in (
|
|
1253
|
-
|
|
1242
|
+
failures.append(f'ssot risk row {risk_id} references missing evidence {evidence_ref!r}')
|
|
1243
|
+
|
|
1244
|
+
for group_name, path in (
|
|
1245
|
+
('interop_retention_bundles', source_root / 'docs/conformance/interop_retention.json'),
|
|
1246
|
+
('performance_retention_bundles', source_root / 'docs/conformance/perf_retention.json'),
|
|
1247
|
+
):
|
|
1248
|
+
retention_rows = _load_json_payload(path)
|
|
1249
|
+
if not isinstance(retention_rows, list):
|
|
1250
|
+
failures.append(f'{group_name} payload is malformed')
|
|
1251
|
+
continue
|
|
1252
|
+
for row in retention_rows:
|
|
1254
1253
|
if not isinstance(row, Mapping):
|
|
1255
1254
|
failures.append(f'{group_name} contains a malformed row')
|
|
1256
1255
|
continue
|
|
@@ -1336,8 +1335,6 @@ __all__ = [
|
|
|
1336
1335
|
'DEFAULT_SAME_STACK_MATRIX_PATH',
|
|
1337
1336
|
'DEFAULT_STRICT_TARGET_BOUNDARY_PATH',
|
|
1338
1337
|
'DEFAULT_PROMOTION_TARGET_PATH',
|
|
1339
|
-
'DEFAULT_RISK_REGISTER_PATH',
|
|
1340
|
-
'DEFAULT_RISK_TRACEABILITY_PATH',
|
|
1341
1338
|
'DEFAULT_SSOT_REGISTRY_PATH',
|
|
1342
1339
|
'PromotionSectionReport',
|
|
1343
1340
|
'PromotionTargetError',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrcorn-certification
|
|
3
|
-
Version: 0.3.16.
|
|
3
|
+
Version: 0.3.16.dev11
|
|
4
4
|
Summary: Certification and release-gate tooling for Tigrcorn HTTP/3, QUIC, WebSocket, WebTransport, and ASGI conformance evidence.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License: Apache License
|
|
@@ -175,18 +175,21 @@ 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: Topic :: System :: Networking
|
|
184
186
|
Classifier: Typing :: Typed
|
|
185
|
-
Requires-Python:
|
|
187
|
+
Requires-Python: <3.15,>=3.10
|
|
186
188
|
Description-Content-Type: text/markdown
|
|
187
189
|
License-File: LICENSE
|
|
188
|
-
Requires-Dist: tigrcorn-compat==0.3.16.
|
|
189
|
-
Requires-Dist: tigrcorn-runtime==0.3.16.
|
|
190
|
+
Requires-Dist: tigrcorn-compat==0.3.16.dev11
|
|
191
|
+
Requires-Dist: tigrcorn-runtime==0.3.16.dev11
|
|
192
|
+
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
|
|
190
193
|
Requires-Dist: cryptography>=46.0.0
|
|
191
194
|
Requires-Dist: aioquic>=1.3.0
|
|
192
195
|
Requires-Dist: h2>=4.1.0
|
|
@@ -196,47 +199,101 @@ Dynamic: license-file
|
|
|
196
199
|
|
|
197
200
|
<div align="center">
|
|
198
201
|
<h1>tigrcorn-certification</h1>
|
|
202
|
+
<img
|
|
203
|
+
src="https://raw.githubusercontent.com/Tigrbl/tigrcorn/master/assets/tigrcorn_logo.png"
|
|
204
|
+
alt="Tigrcorn tiger-unicorn logo"
|
|
205
|
+
width="140"
|
|
206
|
+
/>
|
|
199
207
|
|
|
200
208
|
<p><strong>Certification and release-gate tooling for Tigrcorn HTTP/3, QUIC, WebSocket, WebTransport, and ASGI conformance evidence.</strong></p>
|
|
201
209
|
|
|
202
210
|
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="PyPI version for tigrcorn-certification" src="https://img.shields.io/pypi/v/tigrcorn-certification?label=PyPI"></a>
|
|
203
211
|
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="tigrcorn-certification package on PyPI" src="https://img.shields.io/badge/package-PyPI-blue"></a>
|
|
212
|
+
<a href="https://pepy.tech/project/tigrcorn-certification"><img alt="Downloads for tigrcorn-certification" src="https://static.pepy.tech/badge/tigrcorn-certification"></a>
|
|
213
|
+
<a href="https://github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-certification/README.md"><img alt="Hits for tigrcorn-certification README" src="https://hits.sh/github.com/tigrbl/tigrcorn/blob/master/pkgs/tigrcorn-certification/README.md.svg?label=hits"></a>
|
|
204
214
|
<a href="LICENSE"><img alt="Apache 2.0 license" src="https://img.shields.io/badge/license-Apache%202.0-525252"></a>
|
|
205
|
-
<a href="pyproject.toml"><img alt="Python 3.11 supported" src="https://img.shields.io/badge/python-3.11-3776ab"></a>
|
|
206
|
-
<a href="pyproject.toml"><img alt="Python 3.12 supported" src="https://img.shields.io/badge/python-3.12-3776ab"></a>
|
|
207
|
-
<a href="pyproject.toml"><img alt="Python 3.13 supported" src="https://img.shields.io/badge/python-3.13-3776ab"></a>
|
|
208
|
-
<a href="src/tigrcorn_certification/py.typed"><img alt="typed package" src="https://img.shields.io/badge/typed-py.typed-2f7ed8"></a>
|
|
215
|
+
<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>
|
|
209
216
|
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="certification role package" src="https://img.shields.io/badge/role-certification-0a7f5a"></a>
|
|
210
217
|
</div>
|
|
211
218
|
|
|
219
|
+
<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>
|
|
220
|
+
|
|
212
221
|
## Install
|
|
213
222
|
|
|
214
|
-
|
|
223
|
+
```bash
|
|
224
|
+
uv add tigrcorn-certification
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
```bash
|
|
215
228
|
pip install tigrcorn-certification
|
|
216
|
-
|
|
229
|
+
```
|
|
217
230
|
|
|
218
231
|
Use the aggregate [tigrcorn](https://pypi.org/project/tigrcorn/) distribution when you want the full ASGI3 Python web server stack. Install <code>tigrcorn-certification</code> directly when you want only this package boundary and its declared dependencies.
|
|
219
232
|
|
|
220
233
|
## What It Owns
|
|
221
234
|
|
|
222
|
-
<code>tigrcorn-certification</code> owns release gates, certification environment, external peer matrices, strict promotion checks
|
|
235
|
+
<code>tigrcorn-certification</code> owns release gates, certification environment, external peer matrices, and strict promotion checks. Its import package is <code>tigrcorn_certification</code>, and its declared package dependencies are: tigrcorn-compat, tigrcorn-runtime, cryptography, aioquic, h2, websockets, wsproto.
|
|
236
|
+
|
|
237
|
+
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.
|
|
238
|
+
|
|
239
|
+
## Why Use This?
|
|
240
|
+
|
|
241
|
+
Use <code>tigrcorn-certification</code> when you want the certification 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.
|
|
242
|
+
|
|
243
|
+
## FAQ
|
|
244
|
+
|
|
245
|
+
### What does this package export?
|
|
246
|
+
|
|
247
|
+
The package exports through the <code>tigrcorn_certification</code> namespace and keeps the root <code>tigrcorn</code> package as the compatibility umbrella.
|
|
248
|
+
|
|
249
|
+
### Which boundary does this package own?
|
|
250
|
+
|
|
251
|
+
It is the package boundary for release gates, certification environment, external peer matrices, and strict promotion checks in the Tigrcorn package graph.
|
|
223
252
|
|
|
224
|
-
|
|
253
|
+
### What certification surfaces live here?
|
|
254
|
+
|
|
255
|
+
Release-gate evaluation, strict promotion checks, explicit-surface validation, certification environment helpers, and external peer evidence rails are all concentrated here.
|
|
256
|
+
|
|
257
|
+
## Features
|
|
258
|
+
|
|
259
|
+
- Owns release gates, certification environment, external peer matrices, and strict promotion checks inside the Tigrcorn split-package architecture.
|
|
260
|
+
- Publishes the <code>tigrcorn_certification</code> import surface for named public helpers and entrypoints.
|
|
261
|
+
- Declared runtime dependencies: tigrcorn-compat, tigrcorn-runtime, cryptography, aioquic, h2, websockets, wsproto.
|
|
262
|
+
- Optional dependency surface: aioquic, h2, websockets, wsproto, cryptography.
|
|
263
|
+
- Supports Python 3.10, 3.11, 3.12, 3.13, and 3.14.
|
|
225
264
|
|
|
226
265
|
## Use It When
|
|
227
266
|
|
|
228
|
-
Use <code>tigrcorn-certification</code> when you need
|
|
267
|
+
Use <code>tigrcorn-certification</code> when you need certification-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.
|
|
229
268
|
|
|
230
269
|
## Import Surface
|
|
231
270
|
|
|
232
|
-
|
|
233
|
-
import
|
|
271
|
+
```python
|
|
272
|
+
from tigrcorn_certification import evaluate_release_gates
|
|
234
273
|
|
|
235
|
-
print(
|
|
236
|
-
|
|
274
|
+
print(evaluate_release_gates.__name__)
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Namespace discovery starts with `import tigrcorn_certification`.
|
|
237
278
|
|
|
238
279
|
The package exposes its supported public surface through the <code>tigrcorn_certification</code> namespace. The root [tigrcorn](https://pypi.org/project/tigrcorn/) package keeps compatibility shims for users who install the full server distribution.
|
|
239
280
|
|
|
281
|
+
## Related Packages
|
|
282
|
+
|
|
283
|
+
- [tigrcorn-compat](https://pypi.org/project/tigrcorn-compat/)
|
|
284
|
+
- [tigrcorn-runtime](https://pypi.org/project/tigrcorn-runtime/)
|
|
285
|
+
- [tigrcorn](https://pypi.org/project/tigrcorn/)
|
|
286
|
+
|
|
240
287
|
## Package Graph
|
|
241
288
|
|
|
242
|
-
[tigrcorn](https://pypi.org/project/tigrcorn/) | [tigrcorn-
|
|
289
|
+
[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/)
|
|
290
|
+
|
|
291
|
+
## Best Practices
|
|
292
|
+
|
|
293
|
+
- Use this package when you need release-gate or promotion-target decisions rooted in repo evidence.
|
|
294
|
+
- Keep certification explicit-surface and peer-matrix checks aligned with SSOT and release artifacts.
|
|
295
|
+
- Pull certification-only dependencies in environments that actually execute the strict release rails.
|
|
296
|
+
|
|
297
|
+
## License
|
|
298
|
+
|
|
299
|
+
Apache-2.0
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<h1>tigrcorn-certification</h1>
|
|
3
|
-
|
|
4
|
-
<p><strong>Certification and release-gate tooling for Tigrcorn HTTP/3, QUIC, WebSocket, WebTransport, and ASGI conformance evidence.</strong></p>
|
|
5
|
-
|
|
6
|
-
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="PyPI version for tigrcorn-certification" src="https://img.shields.io/pypi/v/tigrcorn-certification?label=PyPI"></a>
|
|
7
|
-
<a href="https://pypi.org/project/tigrcorn-certification/"><img alt="tigrcorn-certification 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_certification/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-certification/"><img alt="certification role package" src="https://img.shields.io/badge/role-certification-0a7f5a"></a>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
## Install
|
|
17
|
-
|
|
18
|
-
~~~bash
|
|
19
|
-
pip install tigrcorn-certification
|
|
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-certification</code> directly when you want only this package boundary and its declared dependencies.
|
|
23
|
-
|
|
24
|
-
## What It Owns
|
|
25
|
-
|
|
26
|
-
<code>tigrcorn-certification</code> owns release gates, certification environment, external peer matrices, strict promotion checks, and conformance evidence. Its import package is <code>tigrcorn_certification</code>, and its declared package dependencies are: tigrcorn-compat, tigrcorn-runtime.
|
|
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-certification</code> when you need governed release readiness, certification checks, external peer evidence, or strict promotion gates for Tigrcorn. 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_certification
|
|
38
|
-
|
|
39
|
-
print(tigrcorn_certification.__name__)
|
|
40
|
-
~~~
|
|
41
|
-
|
|
42
|
-
The package exposes its supported public surface through the <code>tigrcorn_certification</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
|
|
File without changes
|
|
File without changes
|