tigrbl 0.3.1__tar.gz → 0.3.2.dev1__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-0.3.1 → tigrbl-0.3.2.dev1}/PKG-INFO +1 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/pyproject.toml +1 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/api/__init__.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/api/common.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/api/include.py +14 -2
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/api/resource_proxy.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/api/rpc.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/handlers/__init__.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/handlers/builder.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/handlers/ctx.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/handlers/identifiers.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/handlers/namespaces.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/handlers/steps.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/schemas/__init__.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/schemas/builder.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/schemas/defaults.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/schemas/utils.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/bulk.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/helpers/db.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/helpers/enum.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/helpers/filters.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/helpers/model.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/helpers/normalize.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/ops.py +0 -1
- tigrbl-0.3.2.dev1/tigrbl/docs/verbosity.md +35 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/builders.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/resolver.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/__init__.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/collect.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/decorators.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/get_schema.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/utils.py +0 -1
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/table/_base.py +11 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/LICENSE +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/README.md +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/README.md +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/api/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/api/_api.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/api/api_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/api/mro_collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/api/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/api/tigrbl_api.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/app/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/app/_app.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/app/_model_registry.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/app/app_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/app/mro_collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/app/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/app/tigrbl_app.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/columns.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/hooks.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/model.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/model_helpers.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/model_registry.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/attach.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/collection.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/common.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/fastapi.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/helpers.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/io.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/io_headers.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/member.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/router.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rest/routing.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/bindings/rpc.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/README.md +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/_column.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/column_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/field_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/infer/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/infer/core.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/infer/jsonhints.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/infer/planning.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/infer/types.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/infer/utils.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/io_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/mro_collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/column/storage_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/config/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/config/constants.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/config/defaults.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/config/resolver.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/core/crud/helpers/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/ddl/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/decorators.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/deps/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/deps/fastapi.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/deps/favicon.svg +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/deps/jinja.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/deps/pydantic.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/deps/sqlalchemy.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/deps/starlette.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/_engine.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/bind.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/capabilities.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/decorators.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/docs/PLUGINS.md +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/engine_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/plugins.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/registry.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/engine/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/hook/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/hook/_hook.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/hook/decorators.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/hook/hook_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/hook/mro_collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/hook/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/hook/types.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/_op.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/canonical.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/decorators.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/model_registry.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/mro_collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/resolver.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/op/types.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/_RowBound.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/bootstrappable.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/bound.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/edges.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/fields.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/hierarchy.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/key_digest.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/lifecycle.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/locks.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/markers.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/operations.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/ownable.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/principals.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/tenant_bound.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/upsertable.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/mixins/utils.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/_base.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/audit.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/client.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/group.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/org.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/rbac.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/status.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/tenant.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/orm/tables/user.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/response/README.md +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/response/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/response/bind.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/response/decorators.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/response/resolver.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/response/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/response/types.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/rest/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/README.md +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/emit/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/emit/paired_post.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/emit/paired_pre.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/emit/readtime_alias.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/out/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/out/masking.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/refresh/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/refresh/demand.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/resolve/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/resolve/assemble.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/resolve/paired_gen.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/headers_from_payload.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/negotiate.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/negotiation.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/render.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/renderer.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/template.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/response/templates.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/schema/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/schema/collect_in.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/schema/collect_out.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/storage/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/storage/to_stored.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/wire/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/wire/build_in.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/wire/build_out.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/wire/dump.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/atoms/wire/validate_in.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/context.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/errors/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/errors/converters.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/errors/exceptions.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/errors/mappings.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/errors/utils.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/events.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/executor/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/executor/guards.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/executor/helpers.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/executor/invoke.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/executor/types.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/kernel.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/labels.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/opview.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/ordering.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/system.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/runtime/trace.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/_schema.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/build_schema.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/cache.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/compat.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/extras.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/helpers.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/list_params.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/builder/strip_parent_fields.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/schema_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/schema/types.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/README.md +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/abc.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/base.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/decorators.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/default.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/session/spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/specs.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/compat.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/healthz.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/hookz.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/kernelz.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/methodz.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/router.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/diagnostics/utils.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/system/uvicorn.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/table/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/table/_table.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/table/mro_collect.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/table/shortcuts.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/table/table_spec.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/transport/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/transport/jsonrpc/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/transport/jsonrpc/dispatcher.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/transport/jsonrpc/helpers.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/transport/jsonrpc/models.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/transport/rest/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/transport/rest/aggregator.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/__init__.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/allow_anon_provider.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/authn_abc.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/nested_path_provider.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/op.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/op_config_provider.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/op_verb_alias_provider.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/request_extras_provider.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/response_extras_provider.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/table_config_provider.py +0 -0
- {tigrbl-0.3.1 → tigrbl-0.3.2.dev1}/tigrbl/types/uuid.py +0 -0
|
@@ -5,7 +5,6 @@ from .common import AttrDict, _default_prefix, _mount_router # noqa: F401
|
|
|
5
5
|
from .include import include_model, include_models, _seed_security_and_deps # noqa: F401
|
|
6
6
|
from .rpc import rpc_call
|
|
7
7
|
|
|
8
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
9
8
|
logger = logging.getLogger("uvicorn")
|
|
10
9
|
logger.debug("Loaded module v3/bindings/api/__init__")
|
|
11
10
|
|
|
@@ -24,11 +24,23 @@ from ...config.constants import (
|
|
|
24
24
|
)
|
|
25
25
|
from ...engine import resolver as _resolver
|
|
26
26
|
|
|
27
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
28
27
|
logger = logging.getLogger("uvicorn")
|
|
29
28
|
logger.debug("Loaded module v3/bindings/api/include")
|
|
30
29
|
|
|
31
30
|
|
|
31
|
+
def _coerce_model_columns(columns: Any) -> Tuple[str, ...]:
|
|
32
|
+
if isinstance(columns, SimpleNamespace):
|
|
33
|
+
return tuple(columns.__dict__.keys())
|
|
34
|
+
if isinstance(columns, dict):
|
|
35
|
+
return tuple(columns.keys())
|
|
36
|
+
if isinstance(columns, str):
|
|
37
|
+
return (columns,)
|
|
38
|
+
try:
|
|
39
|
+
return tuple(columns)
|
|
40
|
+
except TypeError:
|
|
41
|
+
return ()
|
|
42
|
+
|
|
43
|
+
|
|
32
44
|
# --- keep as helper, no behavior change to transports/kernel ---
|
|
33
45
|
def _seed_security_and_deps(api: Any, model: type) -> None:
|
|
34
46
|
"""
|
|
@@ -132,7 +144,7 @@ def _attach_to_api(api: ApiLike, model: type) -> None:
|
|
|
132
144
|
)
|
|
133
145
|
|
|
134
146
|
# Table metadata (introspection only)
|
|
135
|
-
api.columns[mname] =
|
|
147
|
+
api.columns[mname] = _coerce_model_columns(getattr(model, "columns", ()))
|
|
136
148
|
api.table_config[mname] = dict(getattr(model, "table_config", {}) or {})
|
|
137
149
|
|
|
138
150
|
# Core helper proxies (now aware of API for DB resolution precedence)
|
|
@@ -8,7 +8,6 @@ from ..rpc import _coerce_payload, _get_phase_chains, _validate_input, _serializ
|
|
|
8
8
|
from ...runtime import executor as _executor
|
|
9
9
|
from ...engine import resolver as _resolver
|
|
10
10
|
|
|
11
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
12
11
|
logger = logging.getLogger("uvicorn")
|
|
13
12
|
logger.debug("Loaded module v3/bindings/api/resource_proxy")
|
|
14
13
|
|
|
@@ -8,7 +8,6 @@ from .common import ApiLike, _ensure_api_ns
|
|
|
8
8
|
from ...engine import resolver as _resolver
|
|
9
9
|
from ...core.crud.helpers.model import _single_pk_name
|
|
10
10
|
|
|
11
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
12
11
|
logger = logging.getLogger("uvicorn")
|
|
13
12
|
logger.debug("Loaded module v3/bindings/api/rpc")
|
|
14
13
|
|
|
@@ -9,7 +9,6 @@ from ...op.types import StepFn
|
|
|
9
9
|
from .namespaces import _ensure_alias_handlers_ns, _ensure_alias_hooks_ns
|
|
10
10
|
from .steps import _wrap_core, _wrap_custom
|
|
11
11
|
|
|
12
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
13
12
|
logger = logging.getLogger("uvicorn")
|
|
14
13
|
logger.debug("Loaded module v3/bindings/handlers/builder")
|
|
15
14
|
|
|
@@ -13,7 +13,6 @@ from ...runtime.executor import _Ctx
|
|
|
13
13
|
from .ctx import _ctx_db, _ctx_payload, _ctx_request
|
|
14
14
|
from .identifiers import _resolve_ident
|
|
15
15
|
|
|
16
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
17
16
|
logger = logging.getLogger("uvicorn")
|
|
18
17
|
logger.debug("Loaded module v3/bindings/handlers/steps")
|
|
19
18
|
|
|
@@ -13,7 +13,6 @@ from ...schema import collect_decorated_schemas
|
|
|
13
13
|
from .defaults import _default_schemas_for_spec
|
|
14
14
|
from .utils import _alias_schema, _ensure_alias_namespace, _resolve_schema_arg, _Key
|
|
15
15
|
|
|
16
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
17
16
|
logger = logging.getLogger("uvicorn")
|
|
18
17
|
logger.debug("Loaded module v3/bindings/schemas/builder")
|
|
19
18
|
|
|
@@ -11,7 +11,6 @@ from pydantic import BaseModel, create_model
|
|
|
11
11
|
from ...schema.types import SchemaArg, SchemaRef
|
|
12
12
|
from ...schema import namely_model
|
|
13
13
|
|
|
14
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
15
14
|
logger = logging.getLogger("uvicorn")
|
|
16
15
|
logger.debug("Loaded module v3/bindings/schemas/utils")
|
|
17
16
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Tigrbl verbosity and uvicorn logging
|
|
2
|
+
|
|
3
|
+
Tigrbl logs through the `uvicorn` logger. This keeps its output aligned with the
|
|
4
|
+
server's log configuration, so debug statements only appear when uvicorn is
|
|
5
|
+
started in verbose mode.
|
|
6
|
+
|
|
7
|
+
## Default behavior
|
|
8
|
+
|
|
9
|
+
By default, uvicorn runs at `INFO` level and suppresses debug output. Tigrbl does
|
|
10
|
+
not override that setting, so debug messages stay hidden unless you opt in.
|
|
11
|
+
|
|
12
|
+
## Enabling verbose output
|
|
13
|
+
|
|
14
|
+
Use uvicorn's log-level to opt into debug output:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
uvicorn your_module:app --log-level debug
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Or configure it programmatically:
|
|
21
|
+
|
|
22
|
+
```python
|
|
23
|
+
import uvicorn
|
|
24
|
+
|
|
25
|
+
config = uvicorn.Config("your_module:app", log_level="debug")
|
|
26
|
+
server = uvicorn.Server(config)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Disabling verbose output
|
|
30
|
+
|
|
31
|
+
Set the log level back to `info` (or higher) to suppress debug messages:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
uvicorn your_module:app --log-level info
|
|
35
|
+
```
|
|
@@ -10,7 +10,6 @@ from typing import Any, Callable, Optional
|
|
|
10
10
|
from ._engine import AsyncSession, Engine, Provider, Session
|
|
11
11
|
from .engine_spec import EngineSpec, EngineCfg
|
|
12
12
|
|
|
13
|
-
logging.getLogger("uvicorn").setLevel(logging.DEBUG)
|
|
14
13
|
logger = logging.getLogger("uvicorn")
|
|
15
14
|
|
|
16
15
|
# Registry with strict precedence: op > model > api > app
|
|
@@ -99,6 +99,10 @@ def _materialize_colspecs_to_sqla(cls) -> None:
|
|
|
99
99
|
from tigrbl.column.column_spec import ColumnSpec
|
|
100
100
|
except Exception:
|
|
101
101
|
return
|
|
102
|
+
try:
|
|
103
|
+
from sqlalchemy.orm import InstrumentedAttribute
|
|
104
|
+
except Exception: # pragma: no cover - defensive for minimal SQLA envs
|
|
105
|
+
InstrumentedAttribute = None
|
|
102
106
|
|
|
103
107
|
# Prefer explicit registry if present; otherwise collect specs from the
|
|
104
108
|
# entire MRO so mixins contribute their ColumnSpec definitions.
|
|
@@ -123,6 +127,13 @@ def _materialize_colspecs_to_sqla(cls) -> None:
|
|
|
123
127
|
if not storage:
|
|
124
128
|
# Virtual (wire-only) column – no DB column
|
|
125
129
|
continue
|
|
130
|
+
existing_attr = getattr(cls, name, None)
|
|
131
|
+
if InstrumentedAttribute is not None and isinstance(
|
|
132
|
+
existing_attr, InstrumentedAttribute
|
|
133
|
+
):
|
|
134
|
+
# Column already mapped on a base class; avoid duplicating columns
|
|
135
|
+
# that trigger SQLAlchemy implicit combination warnings.
|
|
136
|
+
continue
|
|
126
137
|
|
|
127
138
|
dtype = getattr(storage, "type_", None)
|
|
128
139
|
if not dtype:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|