Skip to main content

Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters.

Project description

tigrbl-concrete

Tigrbl logo

Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters.

PyPI version for tigrbl-concrete Downloads for tigrbl-concrete Discord community for tigrbl-concrete Repository hits for tigrbl-concrete README Apache 2.0 license Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl-concrete Workspace group for tigrbl-concrete

What is tigrbl-concrete?

Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters.

Why use tigrbl-concrete?

Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.

When should I install tigrbl-concrete?

Install it for extension packages, package-local tests, or internals that need this boundary without the whole facade.

Who is tigrbl-concrete for?

Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.

Where does tigrbl-concrete fit?

tigrbl-concrete lives at pkgs/core/tigrbl_concrete and serves a focused layer in the split Tigrbl framework.

How does tigrbl-concrete work?

It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.

Install

uv add tigrbl-concrete
pip install tigrbl-concrete

Surface Coverage

Surface Value
PyPI package tigrbl-concrete
Repository path pkgs/core/tigrbl_concrete
Python import root tigrbl_concrete
Console scripts none declared
Entry points tigrbl.engine_plugins
Optional extras none declared
Legal files LICENSE, NOTICE
Supported Python 3.10, 3.11, 3.12, 3.13, 3.14

What It Owns

tigrbl-concrete owns the foundational framework package boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.

Implementation orientation:

  • tigrbl_concrete: _concrete/, _decorators/, _mapping/, ddl/, decorators, engine/, factories/, resolve/, security/, shortcuts/, system/, transport/

Package catalog:

  • tigrbl_concrete/_concrete/: concrete app, router, route, table, column, operation, schema, request, response, headers, body, middleware, background, storage, session, binding, engine, and security classes/adapters.
  • tigrbl_concrete/_concrete/_security/: API key, HTTP Basic, HTTP Bearer, mutual TLS, OAuth2, and OpenID Connect security primitives.
  • tigrbl_concrete/_decorators/ and tigrbl_concrete/decorators.py: concrete decorator implementations that attach engine, hook, op, response, schema, session, middleware, allow-anon, and related metadata.
  • tigrbl_concrete/_mapping/: app, router, model, column, operation, core, and app-spec lowering helpers that turn specs and model metadata into concrete registrations.
  • tigrbl_concrete/engine/: engine builders, binding, capability declarations, plugin discovery, registry, resolver, and collection helpers.
  • tigrbl_concrete/factories/ and tigrbl_concrete/shortcuts/: concrete app and REST shortcut helpers consumed by the facade.
  • tigrbl_concrete/resolve/: handler resolution helpers.
  • tigrbl_concrete/security/: concrete security dependency helpers.
  • tigrbl_concrete/system/diagnostics: /system/healthz, /system/hookz, /system/kernelz, /system/methodz, and diagnostic router helpers.
  • tigrbl_concrete/system/docs: OpenAPI, OpenRPC, JSON Schema, Swagger, lens, runtime-ops, and surface documentation helpers.
  • tigrbl_concrete/transport/rest and tigrbl_concrete/transport/jsonrpc: REST route aggregation and JSON-RPC helper/model utilities.
  • tigrbl_concrete/ddl/ and tigrbl_concrete/system/static/favicon: DDL and static/docs support surfaces.

Public API and Import Surface

Concrete Implementation Semantics

tigrbl-concrete is where abstract specs and base contracts become usable Python framework objects. It is intentionally below the tigrbl facade and above the atom/kernel/runtime internals. Application developers normally import through tigrbl; extension authors import this package when they need concrete classes, decorators, engine resolution, docs mounting, or diagnostics without taking the facade dependency.

The package performs four broad jobs:

  • Lower core specs and base contracts into concrete app/router/table/operation objects.
  • Register REST and JSON-RPC projections for model operations.
  • Resolve engines, handlers, schemas, responses, security dependencies, middleware, and docs surfaces.
  • Expose operational introspection through system routes.

REST and JSON-RPC Surfaces

Concrete routing keeps REST and JSON-RPC projections tied to the same operation inventory:

Surface Concrete responsibility
REST Aggregate route metadata, attach handlers, apply path/method mapping, shape request/response objects, and expose OpenAPI-compatible docs.
JSON-RPC Resolve method names, validate JSON-RPC request/response models, dispatch through the same operation handlers, and expose OpenRPC-compatible docs.
Docs Publish OpenAPI, OpenRPC, JSON Schema, Swagger, runtime operation views, and surface/lens outputs from the same concrete registration data.
Diagnostics Expose healthz, hookz, kernelz, and methodz so users can inspect runtime health, hook order, kernel plans, and method inventory.

Avoid adding one-off framework routes for model behavior when an operation spec can represent the behavior. Ops keep REST, JSON-RPC, docs, hooks, and diagnostics unified.

Engine and Provider Behavior

The engine subpackage owns concrete engine resolution and plugin discovery. It can build and bind engines from specs, providers, mappings, or decorator metadata, then expose capability information for runtime and tests.

Resolution follows the framework's specificity rule:

operation > table/model > router > app > defaults

Best practices:

  • Declare engine intent through specs or decorators instead of constructing SQLAlchemy engines inside handlers.
  • Keep engine plugins explicit and capability-aware.
  • Test resolver behavior when adding a new engine package or new engine context shape.
  • Preserve separation between engine resolution and transaction lifecycle; atoms/runtime own transaction phase progression.

System and Operational Endpoints

Concrete apps can mount system endpoints:

  • /system/healthz for basic process health.
  • /system/hookz for model/operation/phase hook order.
  • /system/kernelz for compiled kernel phase plans.
  • /system/methodz for exposed method inventory.
  • docs endpoints for OpenAPI, OpenRPC, JSON Schema, Swagger, and runtime operation surfaces.

These endpoints are operational tools. They should reflect registered framework state and compiled plans; do not hard-code documentation that can drift away from actual registrations.

Security and Middleware

Security primitives include API key, HTTP Basic, HTTP Bearer, mutual TLS, OAuth2, and OpenID Connect helpers. Use them as dependencies or framework-level security specs so security behavior participates in lifecycle ordering and diagnostics. Middleware should be declared through concrete middleware helpers or specs rather than wrapping generated routes in ways the kernel cannot see.

Extension Guidance

  • Use concrete decorators and factories when building public conveniences for the facade.
  • Keep compatibility imports in tigrbl thin; implement reusable behavior here or in lower packages.
  • Do not bypass kernel/runtime plans when wiring REST or JSON-RPC handlers.
  • Keep docs, diagnostics, and transport helpers generated from actual registration state.
  • Treat _concrete classes as framework implementation surfaces; public application documentation should continue to prefer facade imports.

Authoring BCP for this boundary:

  • Do use tigrbl-concrete to lower specs and base contracts into concrete app, router, table, operation, schema, request, response, engine, security, docs, diagnostics, and transport implementations.
  • Do keep REST and JSON-RPC projections tied to the same operation inventory and handler resolution path.
  • Do keep framework-internal ASGI, Starlette-compatible, SQLAlchemy, and engine mechanics behind concrete Tigrbl adapters.
  • Do not teach application users to bypass the tigrbl facade and import _concrete classes for normal service code.
  • Do not wire one-off handlers around kernel/runtime plans, diagnostics, generated docs, or operation specs.
  • Avoid hard-coded documentation and diagnostics that can drift away from actual registrations.

Usage Examples

Verify the installed package

python -m pip show tigrbl-concrete
python - <<'PY'
from importlib.metadata import version
print(version("tigrbl-concrete"))
PY

Import the package boundary

import importlib

module = importlib.import_module("tigrbl_concrete")
print(module.__name__)

Inspect available modules

import importlib
import pkgutil

module = importlib.import_module("tigrbl_concrete")
for info in pkgutil.iter_modules(getattr(module, "__path__", [])):
    print(info.name)

Use with the facade when building applications

uv add tigrbl tigrbl-concrete
python - <<'PY'
import tigrbl
print(tigrbl.__name__)
PY

How To Choose This Package

Choose tigrbl-concrete when the quick-answer table matches your use case. Choose tigrbl instead when you want the full public facade. Choose a lower-level package such as tigrbl-core, tigrbl-base, or tigrbl-runtime when you are building framework extensions or testing a specific internal boundary.

Related Packages

Documentation Links

Support

Package-local Boundary

This file is a package-local distribution entry point. This README is the package-local distribution entry point for tigrbl-concrete. It answers install, usage, API, ownership, and certification-orientation questions for this package. Broader architectural decisions, release status, and cross-package proof chains remain in the repository-level docs and SSOT registry.

Certification Status

  • Package status: governed package in the tigrbl/tigrbl workspace.
  • Governance source: SSOT registry.
  • Release evidence: publish workflow validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
  • Local certification guard: pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.py verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, LICENSE, and NOTICE.
  • Scope note: this README documents the package boundary. Runtime feature support remains governed by .ssot/ entities and the conformance docs linked below.

License

Licensed under the Apache License, Version 2.0. See LICENSE, NOTICE, and the official Apache 2.0 license text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tigrbl_concrete-0.4.5.dev1.tar.gz (135.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tigrbl_concrete-0.4.5.dev1-py3-none-any.whl (187.4 kB view details)

Uploaded Python 3

File details

Details for the file tigrbl_concrete-0.4.5.dev1.tar.gz.

File metadata

  • Download URL: tigrbl_concrete-0.4.5.dev1.tar.gz
  • Upload date:
  • Size: 135.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tigrbl_concrete-0.4.5.dev1.tar.gz
Algorithm Hash digest
SHA256 96364afa9336d699efc334c00d477f8ca1bf7eecfff235d7b2304c3c2047f768
MD5 eb2b7d444125ae025bcc58f7e254ffcb
BLAKE2b-256 9c8fe65dcaa08f68a1a8c0d183ba681d3a0e4b4d5efeaa3a4b2bdcaf5d74b85e

See more details on using hashes here.

File details

Details for the file tigrbl_concrete-0.4.5.dev1-py3-none-any.whl.

File metadata

  • Download URL: tigrbl_concrete-0.4.5.dev1-py3-none-any.whl
  • Upload date:
  • Size: 187.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tigrbl_concrete-0.4.5.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 785f17091a006a4fa2d2f4527b710f0a78c8fbfcb304a99706b69cf8525ce2d2
MD5 11ea264817612f3a9e17e9a674435f6f
BLAKE2b-256 b0319e5302784a4f336c1e7bc63ce089abfd0b70e3222b28c51ddee5c4ce0d37

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page