tigrbl-core 0.4.4.dev1__tar.gz → 0.4.4.dev8__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.
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/PKG-INFO +2 -2
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/README.md +1 -1
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/pyproject.toml +1 -1
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/__init__.py +27 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/app_spec.py +0 -9
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/binding_spec.py +581 -51
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/docs_spec.py +10 -2
- tigrbl_core-0.4.4.dev8/tigrbl_core/_spec/headers_spec.py +75 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/op_spec.py +15 -1
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/path_spec.py +4 -2
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/table_profile_bindings.py +148 -16
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/table_profile_spec.py +26 -2
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/LICENSE +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/NOTICE +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/alias_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/column_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/datatypes.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/engine_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/exceptions.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/exposure_policy.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/field_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/hook_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/hook_types.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/io_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/middleware_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/monotone.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/op_utils.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/plugins.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/registry.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/request_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/response_resolver.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/response_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/response_types.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/router_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/schema_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/serde.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/session_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/storage_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/table_registry_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/table_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/transport_stack.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/_spec/well_known_spec.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/canonical_json.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/config/__init__.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/config/constants.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/config/defaults.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/config/engine_traversal.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/config/resolver.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/core/__init__.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/op/__init__.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/op/canonical.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/op/collect.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/op/types.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/__init__.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/builder/__init__.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/builder/build_schema.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/builder/cache.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/builder/extras.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/builder/helpers.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/builder/list_params.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/builder/strip_parent_fields.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/get_schema.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/provenance.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/provenance_inventory.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/spec_json.py +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/surface_chains.json +0 -0
- {tigrbl_core-0.4.4.dev1 → tigrbl_core-0.4.4.dev8}/tigrbl_core/schema/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl-core
|
|
3
|
-
Version: 0.4.4.
|
|
3
|
+
Version: 0.4.4.dev8
|
|
4
4
|
Summary: Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
@@ -360,7 +360,7 @@ Use this package when you need to inspect or build operation specs before runtim
|
|
|
360
360
|
|
|
361
361
|
- protocol or binding kind, such as HTTP REST, HTTP JSON-RPC, HTTP stream, SSE, WebSocket, WSS, or WebTransport;
|
|
362
362
|
- exchange shape, such as request/response, server stream, bidirectional stream, client stream, server stream, session, or datagram;
|
|
363
|
-
- framing, such as JSON, JSON-RPC, SSE, WebSocket text, stream framing, or WebTransport
|
|
363
|
+
- framing, such as JSON, JSON-RPC, SSE, WebSocket text, stream framing, or WebTransport lane-local framing;
|
|
364
364
|
- runtime lane metadata, especially for WebTransport session, stream, and datagram behavior.
|
|
365
365
|
|
|
366
366
|
This separation is deliberate. Extension authors should not collapse protocol support into a single string or infer framing from the transport name. Invalid combinations should remain explicit validation failures so runtime behavior is fail-closed.
|
|
@@ -120,7 +120,7 @@ Use this package when you need to inspect or build operation specs before runtim
|
|
|
120
120
|
|
|
121
121
|
- protocol or binding kind, such as HTTP REST, HTTP JSON-RPC, HTTP stream, SSE, WebSocket, WSS, or WebTransport;
|
|
122
122
|
- exchange shape, such as request/response, server stream, bidirectional stream, client stream, server stream, session, or datagram;
|
|
123
|
-
- framing, such as JSON, JSON-RPC, SSE, WebSocket text, stream framing, or WebTransport
|
|
123
|
+
- framing, such as JSON, JSON-RPC, SSE, WebSocket text, stream framing, or WebTransport lane-local framing;
|
|
124
124
|
- runtime lane metadata, especially for WebTransport session, stream, and datagram behavior.
|
|
125
125
|
|
|
126
126
|
This separation is deliberate. Extension authors should not collapse protocol support into a single string or infer framing from the transport name. Invalid combinations should remain explicit validation failures so runtime behavior is fail-closed.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tigrbl-core"
|
|
3
|
-
version = "0.4.4.
|
|
3
|
+
version = "0.4.4.dev8"
|
|
4
4
|
description = "Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -18,16 +18,34 @@ _EXPORTS = {
|
|
|
18
18
|
"BindingRegistrySpec": "binding_spec",
|
|
19
19
|
"APP_LEVEL_FRAMING_SUPPORT": "binding_spec",
|
|
20
20
|
"BINDING_PROFILE_EXCHANGE_SUPPORT": "binding_spec",
|
|
21
|
+
"BinaryFramingSpec": "binding_spec",
|
|
21
22
|
"BindingProfile": "binding_spec",
|
|
23
|
+
"BytesFramingSpec": "binding_spec",
|
|
22
24
|
"Exchange": "binding_spec",
|
|
25
|
+
"FRAMING_SPEC_BY_KIND": "binding_spec",
|
|
23
26
|
"Framing": "binding_spec",
|
|
27
|
+
"FramingSpec": "binding_spec",
|
|
24
28
|
"TransportBindingSpec": "binding_spec",
|
|
29
|
+
"ProtocolBindingSpec": "binding_spec",
|
|
25
30
|
"HTTPBindingSpec": "binding_spec",
|
|
31
|
+
"HttpRestProtocolBindingSpec": "binding_spec",
|
|
32
|
+
"HttpJsonRpcProtocolBindingSpec": "binding_spec",
|
|
33
|
+
"WebSocketProtocolBindingSpec": "binding_spec",
|
|
34
|
+
"WebTransportProtocolBindingSpec": "binding_spec",
|
|
35
|
+
"WebTransportStreamSpec": "binding_spec",
|
|
36
|
+
"WebTransportDatagramSpec": "binding_spec",
|
|
26
37
|
"WebSocketBindingSpec": "binding_spec",
|
|
38
|
+
"JsonFramingSpec": "binding_spec",
|
|
39
|
+
"JsonRpcFramingSpec": "binding_spec",
|
|
40
|
+
"MultipartFormDataFramingSpec": "binding_spec",
|
|
41
|
+
"NdjsonFramingSpec": "binding_spec",
|
|
27
42
|
"HttpRestBindingSpec": "binding_spec",
|
|
28
43
|
"HttpJsonRpcBindingSpec": "binding_spec",
|
|
29
44
|
"HttpStreamBindingSpec": "binding_spec",
|
|
30
45
|
"SseBindingSpec": "binding_spec",
|
|
46
|
+
"SseFramingSpec": "binding_spec",
|
|
47
|
+
"StreamFramingSpec": "binding_spec",
|
|
48
|
+
"TextFramingSpec": "binding_spec",
|
|
31
49
|
"WebTransportBindingSpec": "binding_spec",
|
|
32
50
|
"WELL_KNOWN_PREFIX": "well_known_spec",
|
|
33
51
|
"WellKnownResourceSpec": "well_known_spec",
|
|
@@ -52,6 +70,7 @@ _EXPORTS = {
|
|
|
52
70
|
"validate_docs_uix_path": "docs_spec",
|
|
53
71
|
"FieldSpec": "field_spec",
|
|
54
72
|
"F": "field_spec",
|
|
73
|
+
"HeadersSpec": "headers_spec",
|
|
55
74
|
"BaseTypeAdapter": "datatypes",
|
|
56
75
|
"HookSpec": "hook_spec",
|
|
57
76
|
"IOSpec": "io_spec",
|
|
@@ -78,7 +97,15 @@ _EXPORTS = {
|
|
|
78
97
|
"PathSpec": "path_spec",
|
|
79
98
|
"path_for_binding": "path_spec",
|
|
80
99
|
"canonical_binding_kind": "binding_spec",
|
|
100
|
+
"derive_session_metadata_for_framing": "binding_spec",
|
|
101
|
+
"derive_websocket_subprotocol_for_framing": "binding_spec",
|
|
102
|
+
"derive_websocket_subprotocols": "binding_spec",
|
|
103
|
+
"framing_kind": "binding_spec",
|
|
104
|
+
"framing_spec_from_kind": "binding_spec",
|
|
105
|
+
"framing_spec_name": "binding_spec",
|
|
81
106
|
"normalize_binding_spec": "binding_spec",
|
|
107
|
+
"normalize_framing_spec": "binding_spec",
|
|
108
|
+
"project_binding_runtime_metadata": "binding_spec",
|
|
82
109
|
"validate_app_framing_for_binding": "binding_spec",
|
|
83
110
|
"validate_binding_profile_exchange": "binding_spec",
|
|
84
111
|
"validate_path_binding": "path_spec",
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
from dataclasses import dataclass, field
|
|
4
4
|
from typing import Any, Callable, Optional, Sequence
|
|
5
|
-
import warnings
|
|
6
5
|
|
|
7
6
|
from .._spec.engine_spec import EngineCfg, EngineSpec
|
|
8
7
|
from .._spec.monotone import as_tuple, merge_mro_sequence_attr
|
|
@@ -73,14 +72,6 @@ def normalize_execution_backend(value: Any) -> str:
|
|
|
73
72
|
lowered = str(value or "auto").strip().lower()
|
|
74
73
|
if not lowered:
|
|
75
74
|
return "auto"
|
|
76
|
-
if lowered == "rust":
|
|
77
|
-
warnings.warn(
|
|
78
|
-
"AppSpec.execution_backend='rust' is deprecated; "
|
|
79
|
-
"Tigrbl runtime execution is Python-only.",
|
|
80
|
-
DeprecationWarning,
|
|
81
|
-
stacklevel=2,
|
|
82
|
-
)
|
|
83
|
-
return "python"
|
|
84
75
|
if lowered in {"auto", "python"}:
|
|
85
76
|
return lowered
|
|
86
77
|
raise ValueError(f"unsupported execution backend: {value!r}")
|