tigrbl-core 0.4.1.dev6__tar.gz → 0.4.2.dev3__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.
Files changed (58) hide show
  1. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/PKG-INFO +44 -100
  2. tigrbl_core-0.4.2.dev3/README.md +70 -0
  3. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/pyproject.toml +1 -1
  4. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/__init__.py +9 -0
  5. tigrbl_core-0.4.2.dev3/tigrbl_core/_spec/binding_spec.py +708 -0
  6. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/docs_spec.py +3 -1
  7. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/spec_json.py +3 -0
  8. tigrbl_core-0.4.1.dev6/README.md +0 -126
  9. tigrbl_core-0.4.1.dev6/tigrbl_core/_spec/binding_spec.py +0 -294
  10. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/LICENSE +0 -0
  11. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/alias_spec.py +0 -0
  12. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/app_spec.py +0 -0
  13. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/column_spec.py +0 -0
  14. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/datatypes.py +0 -0
  15. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/engine_spec.py +0 -0
  16. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/field_spec.py +0 -0
  17. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/hook_spec.py +0 -0
  18. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/hook_types.py +0 -0
  19. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/io_spec.py +0 -0
  20. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/middleware_spec.py +0 -0
  21. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/monotone.py +0 -0
  22. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/op_spec.py +0 -0
  23. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/op_utils.py +0 -0
  24. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/path_spec.py +0 -0
  25. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/plugins.py +0 -0
  26. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/registry.py +0 -0
  27. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/request_spec.py +0 -0
  28. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/response_resolver.py +0 -0
  29. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/response_spec.py +0 -0
  30. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/response_types.py +0 -0
  31. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/router_spec.py +0 -0
  32. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/schema_spec.py +0 -0
  33. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/serde.py +0 -0
  34. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/session_spec.py +0 -0
  35. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/storage_spec.py +0 -0
  36. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/table_registry_spec.py +0 -0
  37. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/_spec/table_spec.py +0 -0
  38. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/canonical_json.py +0 -0
  39. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/config/__init__.py +0 -0
  40. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/config/constants.py +0 -0
  41. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/config/defaults.py +0 -0
  42. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/config/engine_traversal.py +0 -0
  43. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/config/resolver.py +0 -0
  44. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/core/__init__.py +0 -0
  45. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/op/__init__.py +0 -0
  46. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/op/canonical.py +0 -0
  47. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/op/collect.py +0 -0
  48. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/op/types.py +0 -0
  49. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/__init__.py +0 -0
  50. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/builder/__init__.py +0 -0
  51. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/builder/build_schema.py +0 -0
  52. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/builder/cache.py +0 -0
  53. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/builder/extras.py +0 -0
  54. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/builder/helpers.py +0 -0
  55. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/builder/list_params.py +0 -0
  56. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/builder/strip_parent_fields.py +0 -0
  57. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/tigrbl_core/schema/get_schema.py +0 -0
  58. {tigrbl_core-0.4.1.dev6 → tigrbl_core-0.4.2.dev3}/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.1.dev6
3
+ Version: 0.4.2.dev3
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
@@ -236,113 +236,60 @@ Project-URL: Organization, https://github.com/tigrbl
236
236
  Project-URL: Repository, https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core
237
237
  Description-Content-Type: text/markdown
238
238
 
239
- ![Tigrbl Logo](https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png)
239
+ <div align="center">
240
+ <h1>tigrbl-core</h1>
241
+ <img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
242
+ <p><strong>Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.</strong></p>
243
+ <a href="https://pypi.org/project/tigrbl-core/"><img src="https://img.shields.io/pypi/v/tigrbl-core?label=PyPI" alt="PyPI version for tigrbl-core"/></a>
244
+ <a href="https://pypi.org/project/tigrbl-core/"><img src="https://static.pepy.tech/badge/tigrbl-core" alt="Downloads for tigrbl-core"/></a>
245
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md.svg?label=hits" alt="Repository hits for tigrbl-core README"/></a>
246
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
247
+ <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20to%203.15-3776ab" alt="Python requirement for tigrbl-core"/></a>
248
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl-core"/></a>
249
+ </div>
240
250
 
241
- <p align="center">
242
- <a href="https://pepy.tech/project/tigrbl-core">
243
- <img src="https://static.pepy.tech/badge/tigrbl-core" alt="Pepy downloads for tigrbl-core"/></a>
244
- <a href="https://hits.sh/github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core/">
245
- <img src="https://hits.sh/github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core.svg" alt="Repository views for tigrbl-core"/></a>
246
- <a href="https://pypi.org/project/tigrbl-core/">
247
- <img src="https://img.shields.io/badge/python-3.10--3.14-blue" alt="Python 3.10 through 3.14"/></a>
248
- <a href="https://pypi.org/project/tigrbl-core/">
249
- <img src="https://img.shields.io/pypi/l/tigrbl-core" alt="PyPI license metadata for tigrbl-core"/></a>
250
- <a href="https://pypi.org/project/tigrbl-core/">
251
- <img src="https://img.shields.io/pypi/v/tigrbl-core?label=tigrbl-core&color=green" alt="PyPI version for tigrbl-core"/></a>
252
- </p>
253
-
254
- ---
255
-
256
- <h1 align="center">Tigrbl core</h1>
257
-
258
- **Author durable specs: [inspect `tigrbl_core` spec classes](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core/tigrbl_core/_spec).**
259
-
260
- tigrbl-core is a core framework package for core specifications, decorators, schemas, hooks, and primitives for the Tigrbl framework.
261
-
262
- `tigrbl-core` is part of the Tigrbl package graph. It documents package-resident classes, concepts, extension points, and execution responsibilities while cross-linking to the facade, core specs, canonical mapping, runtime phases, concrete objects, operation packages, engine plugins, OpenAPI/OpenRPC documentation surfaces, and PyPI distributions that complete the system.
263
-
264
- ## Resident concepts
265
-
266
- - `tigrbl_core` owns typed specification primitives: `AppSpec`, `TableSpec`, `OpSpec`, `HookSpec`, `EngineSpec`, `BindingSpec`, `RequestSpec`, `ResponseSpec`, schema specs, storage specs, middleware specs, and semantic datatype contracts.
267
- - This is where operation metadata, `secdeps`, dependency-bearing op specifications, REST/JSON-RPC binding specs, schema generation contracts, and OpenAPI/OpenRPC-compatible type surfaces should be documented.
268
- - Use this package when you need the portable model of what an operation, hook, engine, table, binding, request, or response means before it is mapped into concrete runtime objects.
251
+ ## Install
269
252
 
270
- ## Package ecosystem cross-links
253
+ ```bash
254
+ uv add tigrbl-core
255
+ ```
271
256
 
272
- Every Tigrbl Python package links to its sibling distributions on PyPI so package indexes, search engines, answer engines, dependency scanners, and human readers can move through the installable package graph without falling back to source-tree paths.
257
+ ```bash
258
+ pip install tigrbl-core
259
+ ```
273
260
 
274
- Core packages:
275
- - [`tigrbl`](https://pypi.org/project/tigrbl/) - Schema-first ASGI API framework for REST, JSON-RPC, OpenAPI, OpenRPC, SQLAlchemy models, typed validation, lifecycle hooks, and engine plugins.
276
- - [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/) - Runtime atom utilities for Tigrbl planning, dispatch, transport ingress, egress, and high-throughput ASGI execution pipelines.
277
- - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/) - Abstract base interfaces for Tigrbl APIs, engines, providers, sessions, transports, and reusable runtime components.
278
- - [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/) - Canonical mapping, routing, symbol resolution, and naming utilities for Tigrbl framework packages and generated API surfaces.
279
- - [`tigrbl_client`](https://pypi.org/project/tigrbl_client/) - Typed Python client helpers for calling Tigrbl REST, JSON-RPC, OpenAPI, and generated schema-first API surfaces.
280
- - [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/) - Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters.
281
- - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/) (this package) - Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
282
- - [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/) - Kernel orchestration for composing Tigrbl runtime plans, bindings, operation dispatch, and optimized ASGI execution.
283
- - [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/) - Analytical OLAP operation boundaries for Tigrbl workloads, query-oriented APIs, and engine integrations.
284
- - [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/) - Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.
285
- - [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/) - Realtime, streaming, datagram, websocket, and event operation handlers for Tigrbl ASGI runtimes.
286
- - [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/) - SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.
287
- - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) - Runtime pipeline helpers and execution bridge surfaces for Tigrbl ASGI applications, transports, and operation dispatch.
288
- - [`tigrbl_spec`](https://pypi.org/project/tigrbl_spec/) - Shared Tigrbl interfaces, protocol definitions, compatibility targets, and specification artifacts for framework integration.
289
- - [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/) - Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.
290
- - [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/) - Typing protocols, aliases, generics, and shared type helpers for Tigrbl framework packages and extensions.
261
+ ## What It Owns
291
262
 
292
- Engine packages:
293
- - [`tigrbl_engine_bigquery`](https://pypi.org/project/tigrbl_engine_bigquery/) - BigQuery engine plugin for Google BigQuery warehouse sessions, analytics workloads, and Tigrbl engine registration.
294
- - [`tigrbl_engine_clickhouse`](https://pypi.org/project/tigrbl_engine_clickhouse/) - ClickHouse engine plugin for analytical database sessions, warehouse workloads, and Tigrbl engine registration.
295
- - [`tigrbl_engine_csv`](https://pypi.org/project/tigrbl_engine_csv/) - CSV engine plugin for file-backed tables, pandas DataFrames, and lightweight Tigrbl data workflows.
296
- - [`tigrbl_engine_dataframe`](https://pypi.org/project/tigrbl_engine_dataframe/) - DataFrame engine plugin for transactional pandas sessions and in-process Tigrbl analytics workloads.
297
- - [`tigrbl_engine_duckdb`](https://pypi.org/project/tigrbl_engine_duckdb/) - DuckDB engine plugin for embedded analytical database sessions, OLAP workloads, and Tigrbl engine registration.
298
- - [`tigrbl_engine_inmemcache`](https://pypi.org/project/tigrbl_engine_inmemcache/) - In-memory cache engine plugin for process-local TTL, LRU, and fast Tigrbl cache workflows.
299
- - [`tigrbl_engine_inmemory`](https://pypi.org/project/tigrbl_engine_inmemory/) - In-memory database engine plugin for process-local transactional storage, copy-on-write snapshots, and Tigrbl testing.
300
- - [`tigrbl_engine_membloom`](https://pypi.org/project/tigrbl_engine_membloom/) - In-memory Bloom filter engine plugin for membership checks, rotating TTL windows, and Tigrbl API workflows.
301
- - [`tigrbl_engine_memdedupe`](https://pypi.org/project/tigrbl_engine_memdedupe/) - In-memory dedupe engine plugin for idempotency tracking, duplicate suppression, and Tigrbl workflow coordination.
302
- - [`tigrbl_engine_memkv`](https://pypi.org/project/tigrbl_engine_memkv/) - In-memory key-value engine plugin for process-local KV storage, cache workflows, and lightweight Tigrbl services.
303
- - [`tigrbl_engine_memlru`](https://pypi.org/project/tigrbl_engine_memlru/) - In-memory LRU engine plugin for least-recently-used cache behavior and process-local Tigrbl data workflows.
304
- - [`tigrbl_engine_mempubsub`](https://pypi.org/project/tigrbl_engine_mempubsub/) - In-memory pub/sub engine plugin for process-local publish-subscribe channels, events, and Tigrbl realtime workflows.
305
- - [`tigrbl_engine_memqueue`](https://pypi.org/project/tigrbl_engine_memqueue/) - In-memory queue engine plugin for process-local tasks, message workflows, and Tigrbl runtime coordination.
306
- - [`tigrbl_engine_memrate`](https://pypi.org/project/tigrbl_engine_memrate/) - In-memory rate-limit engine plugin for API quotas, counters, windows, and Tigrbl governance workflows.
307
- - [`tigrbl_engine_numpy`](https://pypi.org/project/tigrbl_engine_numpy/) - NumPy engine plugin for array-to-table helpers, analytical workflows, and Tigrbl data integration.
308
- - [`tigrbl_engine_pandas`](https://pypi.org/project/tigrbl_engine_pandas/) - Pandas engine plugin for transactional DataFrame sessions, tabular workflows, and Tigrbl data integration.
309
- - [`tigrbl_engine_pgsqli_wal`](https://pypi.org/project/tigrbl_engine_pgsqli_wal/) - PostgreSQL and SQLite WAL engine plugin for transactional Tigrbl workflows and database-backed engine registration.
310
- - [`tigrbl_engine_postgres`](https://pypi.org/project/tigrbl_engine_postgres/) - PostgreSQL engine plugin for SQLAlchemy sessions, async database workflows, and Tigrbl application persistence.
311
- - [`tigrbl_engine_pyspark`](https://pypi.org/project/tigrbl_engine_pyspark/) - PySpark engine plugin for distributed DataFrame integration, analytics workloads, and Tigrbl data workflows.
312
- - [`tigrbl_engine_redis`](https://pypi.org/project/tigrbl_engine_redis/) - Redis engine plugin for cache, data structures, and Tigrbl engine workflows backed by Redis.
313
- - [`tigrbl_engine_rediscachethrough`](https://pypi.org/project/tigrbl_engine_rediscachethrough/) - Redis cache-through engine plugin for Redis, PostgreSQL, and Tigrbl data-access acceleration workflows.
314
- - [`tigrbl_engine_snowflake`](https://pypi.org/project/tigrbl_engine_snowflake/) - Snowflake engine plugin for warehouse sessions, analytical workloads, and Tigrbl engine registration.
315
- - [`tigrbl_engine_sqlite`](https://pypi.org/project/tigrbl_engine_sqlite/) - SQLite engine plugin for SQLAlchemy sessions, local transactional storage, and Tigrbl application persistence.
316
- - [`tigrbl_engine_xlsx`](https://pypi.org/project/tigrbl_engine_xlsx/) - XLSX engine plugin for Excel workbook-backed tables, worksheet data access, and Tigrbl tabular workflows.
263
+ `tigrbl-core` owns the core boundary inside the split Python workspace. Key implementation roots include `tigrbl_core` with `_spec/, canonical_json, config/, core/, op/, schema/`.
317
264
 
318
- Application packages:
319
- - [`tigrbl_acme_ca`](https://pypi.org/project/tigrbl_acme_ca/) - ACME v2 certificate authority app for Tigrbl tables, certificate automation, TLS workflows, and API surfaces.
320
- - [`tigrbl_spiffe`](https://pypi.org/project/tigrbl_spiffe/) - SPIFFE and SPIRE identity app for Tigrbl with workload identity tables, UDS transport, and HTTP API surfaces.
265
+ ## Use It When
321
266
 
322
- Source-tree links remain available from each package identity section; this ecosystem section is intentionally PyPI-first for package discovery and installation routing.
267
+ Use `tigrbl-core` when you want this subsystem directly as a package boundary instead of consuming it only through the top-level `tigrbl` facade.
323
268
 
324
- ## Install
269
+ ## Public Surface
325
270
 
326
- ```bash
327
- pip install tigrbl-core
328
- ```
271
+ - Primary module root: `tigrbl_core` with module families `_spec/, canonical_json, config/, core/, op/, schema/`.
329
272
 
330
- ## Package discovery
273
+ ## Internal Layout
331
274
 
332
- `tigrbl-core` is described for package indexes, search engines, answer engines, and AI coding tools as: Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
275
+ - Workspace path: `pkgs/core/tigrbl_core`.
276
+ - Package class: `core framework package`.
277
+ - Python requirement: `>=3.10,<3.15`.
278
+ - `tigrbl_core` modules: `_spec/, canonical_json, config/, core/, op/, schema/`.
333
279
 
334
- Use `tigrbl-core` when you need Tigrbl's schema-first ASGI package graph for REST APIs, JSON-RPC APIs, OpenAPI documentation, OpenRPC documentation, SQLAlchemy-backed models, Pydantic validation, typed operation specs, runtime dispatch, and installable engine or application extensions.
280
+ ## Dependency Surface
335
281
 
336
- Discovery terms: tigrbl, ASGI, schema-first API framework, REST API, JSON-RPC API, OpenAPI documentation, OpenRPC documentation, SQLAlchemy models, Pydantic validation, typed validation, operation dispatch, engine plugins, api, json-rpc, rest, sqlalchemy, pydantic, core, decorators, schema, hooks, openapi, openrpc, schema-first.
282
+ - Workspace package dependencies: [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/).
283
+ - External runtime dependencies: `pydantic>=2.10,<3`, `pyyaml`, `tomli-w`, `tomli>=2.0.1; python_version < '3.11'`.
284
+ - Optional extras: none declared.
337
285
 
338
- ## Package-local entry point
286
+ ## Related Packages
339
287
 
340
- This file is a package-local distribution entry point.
341
- It is not the authoritative location for repository governance, current target status, current state reporting, certification claims, or release evidence.
288
+ - [`tigrbl`](https://pypi.org/project/tigrbl/)
289
+ - [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
342
290
 
343
- ## Canonical repository docs
291
+ ## Canonical Repository Docs
344
292
 
345
- - `README.md`
346
293
  - `docs/README.md`
347
294
  - `docs/conformance/CURRENT_TARGET.md`
348
295
  - `docs/conformance/CURRENT_STATE.md`
@@ -351,15 +298,12 @@ It is not the authoritative location for repository governance, current target s
351
298
  - `docs/developer/PACKAGE_CATALOG.md`
352
299
  - `docs/developer/PACKAGE_LAYOUT.md`
353
300
 
354
- ## Package identity
301
+ ## Package-local Boundary
302
+
303
+ This file is a package-local distribution entry point.
304
+ Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
355
305
 
356
- - canonical repository: `https://github.com/tigrbl/tigrbl`
357
- - organization: `https://github.com/tigrbl`
358
- - social: `https://discord.gg/K4YTAPapjR`
359
- - package path: `https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core`
360
- - workspace path: `pkgs/core/tigrbl_core`
361
- - workspace class: core Python package
362
- - implementation layout: `tigrbl_core/`
306
+ ## License
363
307
 
364
- Long-form repository documentation is governed from `docs/`.
308
+ Licensed under the Apache License, Version 2.0. See `LICENSE` and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
365
309
 
@@ -0,0 +1,70 @@
1
+ <div align="center">
2
+ <h1>tigrbl-core</h1>
3
+ <img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
4
+ <p><strong>Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.</strong></p>
5
+ <a href="https://pypi.org/project/tigrbl-core/"><img src="https://img.shields.io/pypi/v/tigrbl-core?label=PyPI" alt="PyPI version for tigrbl-core"/></a>
6
+ <a href="https://pypi.org/project/tigrbl-core/"><img src="https://static.pepy.tech/badge/tigrbl-core" alt="Downloads for tigrbl-core"/></a>
7
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md.svg?label=hits" alt="Repository hits for tigrbl-core README"/></a>
8
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
9
+ <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20to%203.15-3776ab" alt="Python requirement for tigrbl-core"/></a>
10
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl-core"/></a>
11
+ </div>
12
+
13
+ ## Install
14
+
15
+ ```bash
16
+ uv add tigrbl-core
17
+ ```
18
+
19
+ ```bash
20
+ pip install tigrbl-core
21
+ ```
22
+
23
+ ## What It Owns
24
+
25
+ `tigrbl-core` owns the core boundary inside the split Python workspace. Key implementation roots include `tigrbl_core` with `_spec/, canonical_json, config/, core/, op/, schema/`.
26
+
27
+ ## Use It When
28
+
29
+ Use `tigrbl-core` when you want this subsystem directly as a package boundary instead of consuming it only through the top-level `tigrbl` facade.
30
+
31
+ ## Public Surface
32
+
33
+ - Primary module root: `tigrbl_core` with module families `_spec/, canonical_json, config/, core/, op/, schema/`.
34
+
35
+ ## Internal Layout
36
+
37
+ - Workspace path: `pkgs/core/tigrbl_core`.
38
+ - Package class: `core framework package`.
39
+ - Python requirement: `>=3.10,<3.15`.
40
+ - `tigrbl_core` modules: `_spec/, canonical_json, config/, core/, op/, schema/`.
41
+
42
+ ## Dependency Surface
43
+
44
+ - Workspace package dependencies: [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/).
45
+ - External runtime dependencies: `pydantic>=2.10,<3`, `pyyaml`, `tomli-w`, `tomli>=2.0.1; python_version < '3.11'`.
46
+ - Optional extras: none declared.
47
+
48
+ ## Related Packages
49
+
50
+ - [`tigrbl`](https://pypi.org/project/tigrbl/)
51
+ - [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
52
+
53
+ ## Canonical Repository Docs
54
+
55
+ - `docs/README.md`
56
+ - `docs/conformance/CURRENT_TARGET.md`
57
+ - `docs/conformance/CURRENT_STATE.md`
58
+ - `docs/conformance/NEXT_STEPS.md`
59
+ - `docs/governance/DOC_POINTERS.md`
60
+ - `docs/developer/PACKAGE_CATALOG.md`
61
+ - `docs/developer/PACKAGE_LAYOUT.md`
62
+
63
+ ## Package-local Boundary
64
+
65
+ This file is a package-local distribution entry point.
66
+ Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
67
+
68
+ ## License
69
+
70
+ Licensed under the Apache License, Version 2.0. See `LICENSE` and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl-core"
3
- version = "0.4.1.dev6"
3
+ version = "0.4.2.dev3"
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" }
@@ -16,9 +16,14 @@ _EXPORTS = {
16
16
  "validate_engine_name_binding": "app_spec",
17
17
  "BindingSpec": "binding_spec",
18
18
  "BindingRegistrySpec": "binding_spec",
19
+ "APP_LEVEL_FRAMING_SUPPORT": "binding_spec",
20
+ "BINDING_PROFILE_EXCHANGE_SUPPORT": "binding_spec",
21
+ "BindingProfile": "binding_spec",
19
22
  "Exchange": "binding_spec",
20
23
  "Framing": "binding_spec",
21
24
  "TransportBindingSpec": "binding_spec",
25
+ "HTTPBindingSpec": "binding_spec",
26
+ "WebSocketBindingSpec": "binding_spec",
22
27
  "HttpRestBindingSpec": "binding_spec",
23
28
  "HttpJsonRpcBindingSpec": "binding_spec",
24
29
  "HttpStreamBindingSpec": "binding_spec",
@@ -70,6 +75,10 @@ _EXPORTS = {
70
75
  "PathKind": "path_spec",
71
76
  "PathSpec": "path_spec",
72
77
  "path_for_binding": "path_spec",
78
+ "canonical_binding_kind": "binding_spec",
79
+ "normalize_binding_spec": "binding_spec",
80
+ "validate_app_framing_for_binding": "binding_spec",
81
+ "validate_binding_profile_exchange": "binding_spec",
73
82
  "validate_path_binding": "path_spec",
74
83
  "PHASE": "op_spec",
75
84
  "PHASES": "op_spec",