tigrbl-concrete 0.4.5.dev1__tar.gz → 0.4.5.dev4__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_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/PKG-INFO +1 -1
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/pyproject.toml +1 -1
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/tigrbl_app.py +2 -4
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/op.py +121 -6
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/LICENSE +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/NOTICE +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/README.md +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_alias.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_allow_anon.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_app.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_background.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_binding.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_body.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_column.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_cors_middleware.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_engine.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_event_stream_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_execution_backend.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_file_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_headers.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_hook.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_html_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_httpx.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_json_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_middleware.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_op.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_op_registry.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_plain_text_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_redirect_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_request.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_request_adapters.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_route.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_router.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_schema.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_security/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_security/api_key.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_security/http_basic.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_security/http_bearer.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_security/mutual_tls.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_security/oauth2.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_security/openid_connect.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_session.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_storage.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_streaming_response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_table.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_table_registry.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_webhook.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_websocket.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/dependencies.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/engine_resolver.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/tigrbl_router.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/allow_anon.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/engine.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/eventful.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/hook.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/middlewares.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/response.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/rest.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/schema.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/session.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/webhook.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/appspec/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/appspec/docs_lowering.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/appspec/engine_lowering.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/appspec/path_lowering.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/column_mro_collect.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/core_resolver.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/invoke.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/model.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/model_helpers.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/op_resolver.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/common.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/include.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/resource_proxy.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/rpc.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/rpc.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/ddl/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/decorators.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/bind.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/builders.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/capabilities.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/collect.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/plugins.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/registry.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/resolver.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/factories/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/factories/app.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/factories/webhook.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/resolve/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/resolve/handlers.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/schema/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/schema/jsonrpc.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/security/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/security/dependencies.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/shortcuts/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/shortcuts/app.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/shortcuts/rest.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/shortcuts/webhook.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/diagnostics/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/diagnostics/healthz.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/diagnostics/hookz.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/diagnostics/kernelz.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/diagnostics/methodz.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/diagnostics/router.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/diagnostics/utils.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/json_schema.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/lens.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/openapi/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/openapi/helpers.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/openapi/metadata.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/openapi/mount.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/openapi/schema.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/openrpc.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/runtime_ops.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/surface.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/swagger.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/favicon/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/favicon/assets/favicon.svg +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/static.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/uvicorn.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/well_known.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/_deprecation.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/jsonrpc/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/jsonrpc/helpers.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/jsonrpc/models.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/rest/__init__.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/rest/aggregator.py +0 -0
- {tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/webhooks.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl-concrete
|
|
3
|
-
Version: 0.4.5.
|
|
3
|
+
Version: 0.4.5.dev4
|
|
4
4
|
Summary: Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters.
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tigrbl-concrete"
|
|
3
|
-
version = "0.4.5.
|
|
3
|
+
version = "0.4.5.dev4"
|
|
4
4
|
description = "Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/tigrbl_app.py
RENAMED
|
@@ -20,7 +20,7 @@ from typing import (
|
|
|
20
20
|
|
|
21
21
|
from ._app import App as _App
|
|
22
22
|
from .tigrbl_router import TigrblRouter
|
|
23
|
-
from tigrbl_core._spec.op_spec import OpSpec
|
|
23
|
+
from tigrbl_core._spec.op_spec import OpSpec, _get_decorated_op_spec
|
|
24
24
|
from tigrbl_core._spec.engine_spec import EngineCfg
|
|
25
25
|
from tigrbl_concrete._concrete import engine_resolver as _resolver
|
|
26
26
|
from tigrbl_concrete.ddl import initialize as _ddl_initialize
|
|
@@ -320,9 +320,7 @@ class TigrblApp(_App):
|
|
|
320
320
|
|
|
321
321
|
for attr in app_cls.__dict__.values():
|
|
322
322
|
fn = getattr(attr, "__func__", attr)
|
|
323
|
-
if
|
|
324
|
-
return True
|
|
325
|
-
if getattr(fn, "__tigrbl_op_decl__", None) is not None:
|
|
323
|
+
if _get_decorated_op_spec(fn) is not None:
|
|
326
324
|
return True
|
|
327
325
|
return False
|
|
328
326
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from dataclasses import dataclass
|
|
5
|
+
from dataclasses import dataclass, replace
|
|
6
6
|
from typing import Any, Callable, Iterable, Optional, Sequence, Union
|
|
7
7
|
|
|
8
8
|
from tigrbl_core._spec.binding_spec import (
|
|
@@ -223,14 +223,18 @@ def op_ctx(
|
|
|
223
223
|
f.__tigrbl_op_decl__ = spec
|
|
224
224
|
|
|
225
225
|
if bind is not None:
|
|
226
|
-
targets = (
|
|
227
|
-
bind
|
|
228
|
-
if isinstance(bind, Iterable) and not isinstance(bind, (str, bytes))
|
|
229
|
-
else [bind]
|
|
230
|
-
)
|
|
226
|
+
targets = _bind_targets(bind)
|
|
231
227
|
for obj in targets:
|
|
232
228
|
setattr(obj, f.__name__, cm)
|
|
233
229
|
if isinstance(obj, type):
|
|
230
|
+
_register_bound_op(
|
|
231
|
+
obj,
|
|
232
|
+
spec,
|
|
233
|
+
f,
|
|
234
|
+
arity_was_explicit=arity is not None,
|
|
235
|
+
persist_was_explicit=persist is not None,
|
|
236
|
+
rest_was_explicit=rest is not None,
|
|
237
|
+
)
|
|
234
238
|
_refresh_bound_ops(obj)
|
|
235
239
|
|
|
236
240
|
return cm
|
|
@@ -275,6 +279,117 @@ def _normalize_bindings(
|
|
|
275
279
|
return (value,)
|
|
276
280
|
|
|
277
281
|
|
|
282
|
+
def _bind_targets(bind: Any | Iterable[Any]) -> tuple[Any, ...]:
|
|
283
|
+
if isinstance(bind, Iterable) and not isinstance(bind, (str, bytes)):
|
|
284
|
+
return tuple(bind)
|
|
285
|
+
return (bind,)
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
def _register_bound_op(
|
|
289
|
+
model: type,
|
|
290
|
+
spec: OpSpec,
|
|
291
|
+
func: Callable[..., Any],
|
|
292
|
+
*,
|
|
293
|
+
arity_was_explicit: bool,
|
|
294
|
+
persist_was_explicit: bool,
|
|
295
|
+
rest_was_explicit: bool,
|
|
296
|
+
) -> None:
|
|
297
|
+
registered = _registered_bound_spec(
|
|
298
|
+
model,
|
|
299
|
+
spec,
|
|
300
|
+
func,
|
|
301
|
+
)
|
|
302
|
+
ops = list(getattr(model, "__tigrbl_ops__", ()) or ())
|
|
303
|
+
key = (registered.alias, registered.target)
|
|
304
|
+
for index, existing in enumerate(ops):
|
|
305
|
+
existing_key = (
|
|
306
|
+
getattr(existing, "alias", None),
|
|
307
|
+
getattr(existing, "target", None),
|
|
308
|
+
)
|
|
309
|
+
if existing_key == key:
|
|
310
|
+
ops[index] = _merge_registered_bound_spec(
|
|
311
|
+
existing,
|
|
312
|
+
registered,
|
|
313
|
+
arity_was_explicit=arity_was_explicit,
|
|
314
|
+
persist_was_explicit=persist_was_explicit,
|
|
315
|
+
rest_was_explicit=rest_was_explicit,
|
|
316
|
+
)
|
|
317
|
+
break
|
|
318
|
+
else:
|
|
319
|
+
ops.append(registered)
|
|
320
|
+
model.__tigrbl_ops__ = tuple(ops)
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
def _registered_bound_spec(
|
|
324
|
+
model: type,
|
|
325
|
+
spec: OpSpec,
|
|
326
|
+
func: Callable[..., Any],
|
|
327
|
+
) -> OpSpec:
|
|
328
|
+
try:
|
|
329
|
+
from tigrbl_core._spec.op_spec import _wrap_ctx_core
|
|
330
|
+
|
|
331
|
+
handler = _wrap_ctx_core(model, func)
|
|
332
|
+
except Exception:
|
|
333
|
+
handler = None
|
|
334
|
+
return replace(
|
|
335
|
+
spec,
|
|
336
|
+
table=model,
|
|
337
|
+
handler=handler,
|
|
338
|
+
core=handler,
|
|
339
|
+
core_raw=handler,
|
|
340
|
+
)
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
def _merge_registered_bound_spec(
|
|
344
|
+
existing: OpSpec,
|
|
345
|
+
registered: OpSpec,
|
|
346
|
+
*,
|
|
347
|
+
arity_was_explicit: bool,
|
|
348
|
+
persist_was_explicit: bool,
|
|
349
|
+
rest_was_explicit: bool,
|
|
350
|
+
) -> OpSpec:
|
|
351
|
+
existing_bindings = tuple(getattr(existing, "bindings", ()) or ())
|
|
352
|
+
registered_bindings = tuple(getattr(registered, "bindings", ()) or ())
|
|
353
|
+
bindings = registered_bindings or existing_bindings
|
|
354
|
+
if existing_bindings and registered_bindings:
|
|
355
|
+
bindings = tuple(dict.fromkeys((*existing_bindings, *registered_bindings)))
|
|
356
|
+
|
|
357
|
+
return replace(
|
|
358
|
+
registered,
|
|
359
|
+
http_methods=registered.http_methods or existing.http_methods,
|
|
360
|
+
bindings=bindings,
|
|
361
|
+
path_suffix=registered.path_suffix
|
|
362
|
+
if registered.path_suffix is not None
|
|
363
|
+
else existing.path_suffix,
|
|
364
|
+
tags=registered.tags or existing.tags,
|
|
365
|
+
status_code=registered.status_code
|
|
366
|
+
if registered.status_code is not None
|
|
367
|
+
else existing.status_code,
|
|
368
|
+
request_model=registered.request_model or existing.request_model,
|
|
369
|
+
response_model=registered.response_model or existing.response_model,
|
|
370
|
+
response=registered.response or existing.response,
|
|
371
|
+
engine=registered.engine if registered.engine is not None else existing.engine,
|
|
372
|
+
engine_name=registered.engine_name
|
|
373
|
+
if registered.engine_name is not None
|
|
374
|
+
else existing.engine_name,
|
|
375
|
+
arity=registered.arity if arity_was_explicit else existing.arity,
|
|
376
|
+
persist=registered.persist if persist_was_explicit else existing.persist,
|
|
377
|
+
expose_routes=registered.expose_routes
|
|
378
|
+
if rest_was_explicit
|
|
379
|
+
else existing.expose_routes,
|
|
380
|
+
expose_rpc=registered.expose_rpc
|
|
381
|
+
if registered.expose_rpc is not None
|
|
382
|
+
else existing.expose_rpc,
|
|
383
|
+
expose_method=registered.expose_method
|
|
384
|
+
if registered.expose_method is not None
|
|
385
|
+
else existing.expose_method,
|
|
386
|
+
deps=registered.deps or existing.deps,
|
|
387
|
+
security_deps=registered.security_deps or existing.security_deps,
|
|
388
|
+
secdeps=registered.secdeps or existing.secdeps,
|
|
389
|
+
extra={**dict(getattr(existing, "extra", {}) or {}), **dict(registered.extra)},
|
|
390
|
+
)
|
|
391
|
+
|
|
392
|
+
|
|
278
393
|
def _normalize_framing_arg(framing: Framing | FramingSpec | None) -> FramingSpec | None:
|
|
279
394
|
return framing_spec_from_kind(framing)
|
|
280
395
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/__init__.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_alias.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_allow_anon.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_background.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_binding.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_body.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_column.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_headers.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_hook.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_httpx.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_op_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_request.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_response.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_route.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_router.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_session.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_table.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_webhook.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/_websocket.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/dependencies.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_concrete/tigrbl_router.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/__init__.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/allow_anon.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/engine.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/eventful.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/hook.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/middlewares.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/response.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/rest.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/schema.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/session.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_decorators/webhook.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/core_resolver.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/invoke.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/model_helpers.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/op_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/common.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/include.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/_mapping/router/rpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/builders.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/capabilities.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/registry.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/engine/resolver.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/factories/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/factories/webhook.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/resolve/__init__.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/resolve/handlers.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/schema/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/security/__init__.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/security/dependencies.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/shortcuts/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/shortcuts/webhook.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/__init__.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/json_schema.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/lens.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/openrpc.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/runtime_ops.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/surface.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/docs/swagger.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/favicon/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/system/well_known.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/__init__.py
RENAMED
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/_deprecation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_concrete-0.4.5.dev1 → tigrbl_concrete-0.4.5.dev4}/tigrbl_concrete/transport/rest/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|