tigrbl-canon 0.4.2.dev3__tar.gz → 0.4.3.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_canon-0.4.3.dev4/NOTICE +7 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/PKG-INFO +105 -32
- tigrbl_canon-0.4.3.dev4/README.md +149 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/pyproject.toml +6 -4
- tigrbl_canon-0.4.3.dev4/tigrbl_canon/__init__.py +24 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/column/infer/__init__.py +4 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/column/infer/core.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/column/infer/jsonhints.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/column/infer/planning.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/column/infer/types.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/column/infer/utils.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/__init__.py +4 -4
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/app_mro_collect.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/apply.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/collect.py +6 -1
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/collect_decorated_schemas.py +6 -1
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/column_mro_collect.py +4 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/columns.py +4 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/config_resolver.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/context.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/core_resolver.py +7 -2
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/defaults.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/diagnostics.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/engine_resolver.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/handlers/__init__.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/handlers/builder.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/handlers/ctx.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/handlers/identifiers.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/handlers/namespaces.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/handlers/steps.py +6 -1
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/hook_mro_collect.py +8 -3
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/hooks.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/mapping_resolver.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/model.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/model_helpers.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/model_registry.py +6 -1
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/op_mro_collect.py +7 -2
- tigrbl_canon-0.4.3.dev4/tigrbl_canon/mapping/op_resolver.py +7 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/passes.py +6 -1
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/plan.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/precedence.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/responses_resolver.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/__init__.py +4 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/attach.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/collection.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/common.py +7 -2
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/helpers.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/io.py +7 -2
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/io_headers.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/member.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/router.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rest/routing.py +6 -1
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/router/common.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/router/include.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/router/resource_proxy.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/router/rpc.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/router_mro_collect.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/rpc.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/schemas/__init__.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/schemas/builder.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/schemas/defaults.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/schemas/utils.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/table.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/table_mro_collect.py +5 -0
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/tigrbl_canon/mapping/traversal.py +5 -0
- tigrbl_canon-0.4.2.dev3/README.md +0 -78
- tigrbl_canon-0.4.2.dev3/tigrbl_canon/__init__.py +0 -14
- tigrbl_canon-0.4.2.dev3/tigrbl_canon/mapping/op_resolver.py +0 -3
- {tigrbl_canon-0.4.2.dev3 → tigrbl_canon-0.4.3.dev4}/LICENSE +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl-canon
|
|
3
|
-
Version: 0.4.
|
|
4
|
-
Summary: Deprecated compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities.
|
|
3
|
+
Version: 0.4.3.dev4
|
|
4
|
+
Summary: Deprecated legacy compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities.
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
7
7
|
http://www.apache.org/licenses/
|
|
@@ -204,6 +204,7 @@ License: Apache License
|
|
|
204
204
|
See the License for the specific language governing permissions and
|
|
205
205
|
limitations under the License.
|
|
206
206
|
License-File: LICENSE
|
|
207
|
+
License-File: NOTICE
|
|
207
208
|
Keywords: tigrbl,asgi,api,canonical mapping,compatibility,deprecated,router binding,schema attachment,column inference,json-rpc,rpc,rest,canon,canonicalization,routing,mapping,openapi,openrpc,schema-first,migration
|
|
208
209
|
Author: Jacob Stewart
|
|
209
210
|
Author-email: jacob@swarmauri.com
|
|
@@ -232,6 +233,7 @@ Classifier: Typing :: Typed
|
|
|
232
233
|
Requires-Dist: tigrbl
|
|
233
234
|
Requires-Dist: tigrbl-atoms
|
|
234
235
|
Requires-Dist: tigrbl-base
|
|
236
|
+
Requires-Dist: tigrbl-concrete
|
|
235
237
|
Requires-Dist: tigrbl-core
|
|
236
238
|
Requires-Dist: tigrbl-ops-oltp
|
|
237
239
|
Requires-Dist: tigrbl-runtime
|
|
@@ -245,18 +247,47 @@ Description-Content-Type: text/markdown
|
|
|
245
247
|
<div align="center">
|
|
246
248
|
<h1>tigrbl-canon</h1>
|
|
247
249
|
<img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
|
|
248
|
-
<p><strong>Deprecated compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities.</strong></p>
|
|
250
|
+
<p><strong>Deprecated legacy compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities.</strong></p>
|
|
249
251
|
<a href="https://pypi.org/project/tigrbl-canon/"><img src="https://img.shields.io/pypi/v/tigrbl-canon?label=PyPI" alt="PyPI version for tigrbl-canon"/></a>
|
|
250
252
|
<a href="https://pypi.org/project/tigrbl-canon/"><img src="https://static.pepy.tech/badge/tigrbl-canon" alt="Downloads for tigrbl-canon"/></a>
|
|
253
|
+
<a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl-canon"/></a>
|
|
251
254
|
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/deprecated/tigrbl_canon/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/deprecated/tigrbl_canon/README.md.svg?label=hits" alt="Repository hits for tigrbl-canon README"/></a>
|
|
252
255
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
253
|
-
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%
|
|
256
|
+
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl-canon"/></a>
|
|
254
257
|
<a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-deprecated-6b7280" alt="Workspace group for tigrbl-canon"/></a>
|
|
255
258
|
</div>
|
|
256
259
|
|
|
257
|
-
##
|
|
260
|
+
## What is tigrbl-canon?
|
|
258
261
|
|
|
259
|
-
|
|
262
|
+
Deprecated legacy compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities. New code should not add this package; it exists only to carry older `tigrbl_canon` import paths during migrations.
|
|
263
|
+
|
|
264
|
+
## Why use tigrbl-canon?
|
|
265
|
+
|
|
266
|
+
Use it only when maintaining older integrations that still import the historical canonical package boundary. Do not use it for new Tigrbl applications or extensions.
|
|
267
|
+
|
|
268
|
+
## When should I install tigrbl-canon?
|
|
269
|
+
|
|
270
|
+
Install it only for compatibility migrations that still require `tigrbl_canon` imports. Prefer the current split packages for new work.
|
|
271
|
+
|
|
272
|
+
## Who is tigrbl-canon for?
|
|
273
|
+
|
|
274
|
+
Maintainers carrying legacy Tigrbl integrations forward.
|
|
275
|
+
|
|
276
|
+
## Where does tigrbl-canon fit?
|
|
277
|
+
|
|
278
|
+
`tigrbl-canon` lives at `pkgs/deprecated/tigrbl_canon` and serves legacy compatibility while migrating to current split packages. It is not part of the active facade dependency path.
|
|
279
|
+
|
|
280
|
+
## How does tigrbl-canon work?
|
|
281
|
+
|
|
282
|
+
It depends on current split packages and keeps historical import paths available while newer package boundaries own active behavior. It must not depend on the `tigrbl` facade package.
|
|
283
|
+
|
|
284
|
+
## Certification Status
|
|
285
|
+
|
|
286
|
+
- Package status: deprecated, inactive compatibility package in the `tigrbl/tigrbl` workspace.
|
|
287
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
288
|
+
- Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
|
|
289
|
+
- 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`.
|
|
290
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
260
291
|
|
|
261
292
|
## Install
|
|
262
293
|
|
|
@@ -268,56 +299,98 @@ uv add tigrbl-canon
|
|
|
268
299
|
pip install tigrbl-canon
|
|
269
300
|
```
|
|
270
301
|
|
|
302
|
+
## Surface Coverage
|
|
303
|
+
|
|
304
|
+
| Surface | Value |
|
|
305
|
+
|---|---|
|
|
306
|
+
| PyPI package | [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/) |
|
|
307
|
+
| Repository path | [`pkgs/deprecated/tigrbl_canon`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/deprecated/tigrbl_canon) |
|
|
308
|
+
| Python import root | `tigrbl_canon` |
|
|
309
|
+
| Console scripts | none declared |
|
|
310
|
+
| Entry points | none declared |
|
|
311
|
+
| Optional extras | none declared |
|
|
312
|
+
| Legal files | `LICENSE`, `NOTICE` |
|
|
313
|
+
| Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
|
|
314
|
+
|
|
271
315
|
## What It Owns
|
|
272
316
|
|
|
273
|
-
`tigrbl-canon`
|
|
317
|
+
`tigrbl-canon` owns the `deprecated legacy compatibility package` boundary. It should be installed only when an older integration still needs the historical `tigrbl_canon` import root during migration.
|
|
318
|
+
|
|
319
|
+
Implementation orientation:
|
|
320
|
+
- `tigrbl_canon`: column/, mapping/
|
|
321
|
+
|
|
322
|
+
## Public API and Import Surface
|
|
274
323
|
|
|
275
|
-
|
|
324
|
+
- Import roots: `tigrbl_canon`.
|
|
325
|
+
- Public symbols: `_DEPRECATION_MESSAGE`.
|
|
326
|
+
- Workspace dependencies: [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/), [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/).
|
|
327
|
+
- External runtime dependencies: none declared.
|
|
328
|
+
|
|
329
|
+
## Usage Examples
|
|
276
330
|
|
|
277
|
-
|
|
331
|
+
### Verify the installed package
|
|
278
332
|
|
|
279
|
-
|
|
333
|
+
```bash
|
|
334
|
+
python -m pip show tigrbl-canon
|
|
335
|
+
python - <<'PY'
|
|
336
|
+
from importlib.metadata import version
|
|
337
|
+
print(version("tigrbl-canon"))
|
|
338
|
+
PY
|
|
339
|
+
```
|
|
280
340
|
|
|
281
|
-
|
|
341
|
+
### Import the compatibility boundary
|
|
282
342
|
|
|
283
|
-
|
|
343
|
+
```python
|
|
344
|
+
import tigrbl_canon
|
|
284
345
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
- Python requirement: `>=3.10,<3.15`.
|
|
288
|
-
- `tigrbl_canon` modules: `tigrbl_canon/mapping/`.
|
|
346
|
+
print(tigrbl_canon.__name__)
|
|
347
|
+
```
|
|
289
348
|
|
|
290
|
-
|
|
349
|
+
### Prefer current split packages for new code
|
|
291
350
|
|
|
292
|
-
|
|
293
|
-
-
|
|
294
|
-
|
|
351
|
+
```bash
|
|
352
|
+
uv add tigrbl-core tigrbl-base tigrbl-runtime
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Audit remaining legacy imports
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
rg "tigrbl_canon|tigrbl-canon" .
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
## How To Choose This Package
|
|
362
|
+
|
|
363
|
+
Choose `tigrbl-canon` only when an existing integration still imports `tigrbl_canon` and cannot migrate immediately. Choose lower-level packages such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when building framework extensions or testing a specific internal boundary.
|
|
295
364
|
|
|
296
365
|
## Related Packages
|
|
297
366
|
|
|
298
|
-
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
299
367
|
- [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/)
|
|
300
368
|
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
|
|
301
369
|
- [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
|
|
302
370
|
- [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
|
|
303
371
|
- [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/)
|
|
304
372
|
|
|
305
|
-
##
|
|
373
|
+
## Documentation Links
|
|
374
|
+
|
|
375
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
376
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
377
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
378
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
379
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
380
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
381
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
382
|
+
|
|
383
|
+
## Support
|
|
306
384
|
|
|
307
|
-
-
|
|
308
|
-
-
|
|
309
|
-
-
|
|
310
|
-
- `docs/conformance/NEXT_STEPS.md`
|
|
311
|
-
- `docs/governance/DOC_POINTERS.md`
|
|
312
|
-
- `docs/developer/PACKAGE_CATALOG.md`
|
|
313
|
-
- `docs/developer/PACKAGE_LAYOUT.md`
|
|
385
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
386
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
387
|
+
- Repository: [pkgs/deprecated/tigrbl_canon](https://github.com/tigrbl/tigrbl/tree/master/pkgs/deprecated/tigrbl_canon).
|
|
314
388
|
|
|
315
389
|
## Package-local Boundary
|
|
316
390
|
|
|
317
|
-
This
|
|
318
|
-
Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
|
|
391
|
+
This README is the package-local distribution entry point for `tigrbl-canon`. 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.
|
|
319
392
|
|
|
320
393
|
## License
|
|
321
394
|
|
|
322
|
-
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).
|
|
395
|
+
Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
|
|
323
396
|
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>tigrbl-canon</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>Deprecated legacy compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities.</strong></p>
|
|
5
|
+
<a href="https://pypi.org/project/tigrbl-canon/"><img src="https://img.shields.io/pypi/v/tigrbl-canon?label=PyPI" alt="PyPI version for tigrbl-canon"/></a>
|
|
6
|
+
<a href="https://pypi.org/project/tigrbl-canon/"><img src="https://static.pepy.tech/badge/tigrbl-canon" alt="Downloads for tigrbl-canon"/></a>
|
|
7
|
+
<a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl-canon"/></a>
|
|
8
|
+
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/deprecated/tigrbl_canon/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/deprecated/tigrbl_canon/README.md.svg?label=hits" alt="Repository hits for tigrbl-canon README"/></a>
|
|
9
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
10
|
+
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl-canon"/></a>
|
|
11
|
+
<a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-deprecated-6b7280" alt="Workspace group for tigrbl-canon"/></a>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
## What is tigrbl-canon?
|
|
15
|
+
|
|
16
|
+
Deprecated legacy compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities. New code should not add this package; it exists only to carry older `tigrbl_canon` import paths during migrations.
|
|
17
|
+
|
|
18
|
+
## Why use tigrbl-canon?
|
|
19
|
+
|
|
20
|
+
Use it only when maintaining older integrations that still import the historical canonical package boundary. Do not use it for new Tigrbl applications or extensions.
|
|
21
|
+
|
|
22
|
+
## When should I install tigrbl-canon?
|
|
23
|
+
|
|
24
|
+
Install it only for compatibility migrations that still require `tigrbl_canon` imports. Prefer the current split packages for new work.
|
|
25
|
+
|
|
26
|
+
## Who is tigrbl-canon for?
|
|
27
|
+
|
|
28
|
+
Maintainers carrying legacy Tigrbl integrations forward.
|
|
29
|
+
|
|
30
|
+
## Where does tigrbl-canon fit?
|
|
31
|
+
|
|
32
|
+
`tigrbl-canon` lives at `pkgs/deprecated/tigrbl_canon` and serves legacy compatibility while migrating to current split packages. It is not part of the active facade dependency path.
|
|
33
|
+
|
|
34
|
+
## How does tigrbl-canon work?
|
|
35
|
+
|
|
36
|
+
It depends on current split packages and keeps historical import paths available while newer package boundaries own active behavior. It must not depend on the `tigrbl` facade package.
|
|
37
|
+
|
|
38
|
+
## Certification Status
|
|
39
|
+
|
|
40
|
+
- Package status: deprecated, inactive compatibility package in the `tigrbl/tigrbl` workspace.
|
|
41
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
42
|
+
- Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
|
|
43
|
+
- 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`.
|
|
44
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
45
|
+
|
|
46
|
+
## Install
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
uv add tigrbl-canon
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pip install tigrbl-canon
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Surface Coverage
|
|
57
|
+
|
|
58
|
+
| Surface | Value |
|
|
59
|
+
|---|---|
|
|
60
|
+
| PyPI package | [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/) |
|
|
61
|
+
| Repository path | [`pkgs/deprecated/tigrbl_canon`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/deprecated/tigrbl_canon) |
|
|
62
|
+
| Python import root | `tigrbl_canon` |
|
|
63
|
+
| Console scripts | none declared |
|
|
64
|
+
| Entry points | none declared |
|
|
65
|
+
| Optional extras | none declared |
|
|
66
|
+
| Legal files | `LICENSE`, `NOTICE` |
|
|
67
|
+
| Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
|
|
68
|
+
|
|
69
|
+
## What It Owns
|
|
70
|
+
|
|
71
|
+
`tigrbl-canon` owns the `deprecated legacy compatibility package` boundary. It should be installed only when an older integration still needs the historical `tigrbl_canon` import root during migration.
|
|
72
|
+
|
|
73
|
+
Implementation orientation:
|
|
74
|
+
- `tigrbl_canon`: column/, mapping/
|
|
75
|
+
|
|
76
|
+
## Public API and Import Surface
|
|
77
|
+
|
|
78
|
+
- Import roots: `tigrbl_canon`.
|
|
79
|
+
- Public symbols: `_DEPRECATION_MESSAGE`.
|
|
80
|
+
- Workspace dependencies: [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/), [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/).
|
|
81
|
+
- External runtime dependencies: none declared.
|
|
82
|
+
|
|
83
|
+
## Usage Examples
|
|
84
|
+
|
|
85
|
+
### Verify the installed package
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
python -m pip show tigrbl-canon
|
|
89
|
+
python - <<'PY'
|
|
90
|
+
from importlib.metadata import version
|
|
91
|
+
print(version("tigrbl-canon"))
|
|
92
|
+
PY
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Import the compatibility boundary
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
import tigrbl_canon
|
|
99
|
+
|
|
100
|
+
print(tigrbl_canon.__name__)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Prefer current split packages for new code
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
uv add tigrbl-core tigrbl-base tigrbl-runtime
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Audit remaining legacy imports
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
rg "tigrbl_canon|tigrbl-canon" .
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## How To Choose This Package
|
|
116
|
+
|
|
117
|
+
Choose `tigrbl-canon` only when an existing integration still imports `tigrbl_canon` and cannot migrate immediately. Choose lower-level packages such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when building framework extensions or testing a specific internal boundary.
|
|
118
|
+
|
|
119
|
+
## Related Packages
|
|
120
|
+
|
|
121
|
+
- [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/)
|
|
122
|
+
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
|
|
123
|
+
- [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
|
|
124
|
+
- [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
|
|
125
|
+
- [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/)
|
|
126
|
+
|
|
127
|
+
## Documentation Links
|
|
128
|
+
|
|
129
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
130
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
131
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
132
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
133
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
134
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
135
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
136
|
+
|
|
137
|
+
## Support
|
|
138
|
+
|
|
139
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
140
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
141
|
+
- Repository: [pkgs/deprecated/tigrbl_canon](https://github.com/tigrbl/tigrbl/tree/master/pkgs/deprecated/tigrbl_canon).
|
|
142
|
+
|
|
143
|
+
## Package-local Boundary
|
|
144
|
+
|
|
145
|
+
This README is the package-local distribution entry point for `tigrbl-canon`. 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.
|
|
146
|
+
|
|
147
|
+
## License
|
|
148
|
+
|
|
149
|
+
Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tigrbl-canon"
|
|
3
|
-
version = "0.4.
|
|
4
|
-
description = "Deprecated compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities."
|
|
3
|
+
version = "0.4.3.dev4"
|
|
4
|
+
description = "Deprecated legacy compatibility package for Tigrbl canonical mapping, router binding, schema attachment, RPC and REST exposure, and column inference utilities."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
7
7
|
keywords = [
|
|
@@ -53,12 +53,13 @@ requires-python = ">=3.10,<3.15"
|
|
|
53
53
|
authors = [{ name = "Jacob Stewart", email = "jacob@swarmauri.com" }]
|
|
54
54
|
|
|
55
55
|
dependencies = [
|
|
56
|
+
"tigrbl",
|
|
57
|
+
"tigrbl-concrete",
|
|
56
58
|
"tigrbl-ops-oltp",
|
|
57
59
|
"tigrbl-base",
|
|
58
60
|
"tigrbl-core",
|
|
59
61
|
"tigrbl-runtime",
|
|
60
62
|
"tigrbl-atoms",
|
|
61
|
-
"tigrbl",
|
|
62
63
|
]
|
|
63
64
|
|
|
64
65
|
|
|
@@ -70,12 +71,13 @@ Repository = "https://github.com/tigrbl/tigrbl/tree/master/pkgs/deprecated/tigrb
|
|
|
70
71
|
Issues = "https://github.com/tigrbl/tigrbl/issues"
|
|
71
72
|
|
|
72
73
|
[tool.uv.sources]
|
|
74
|
+
"tigrbl" = { workspace = true }
|
|
75
|
+
"tigrbl-concrete" = { workspace = true }
|
|
73
76
|
"tigrbl-ops-oltp" = { workspace = true }
|
|
74
77
|
"tigrbl-base" = { workspace = true }
|
|
75
78
|
"tigrbl-core" = { workspace = true }
|
|
76
79
|
"tigrbl-runtime" = { workspace = true }
|
|
77
80
|
"tigrbl-atoms" = { workspace = true }
|
|
78
|
-
"tigrbl" = { workspace = true }
|
|
79
81
|
|
|
80
82
|
[build-system]
|
|
81
83
|
requires = ["poetry-core>=1.0.0"]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""Tigrbl canon compatibility package."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import warnings
|
|
6
|
+
|
|
7
|
+
_DEPRECATION_MESSAGE = (
|
|
8
|
+
"tigrbl_canon is deprecated, not supported anymore, and likely to break. "
|
|
9
|
+
"Migrate away from tigrbl_canon imports as soon as possible."
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _warn_deprecated_import(module_name: str = __name__) -> None:
|
|
14
|
+
message = (
|
|
15
|
+
_DEPRECATION_MESSAGE
|
|
16
|
+
if module_name == __name__
|
|
17
|
+
else f"{module_name} imports from deprecated tigrbl_canon. {_DEPRECATION_MESSAGE}"
|
|
18
|
+
)
|
|
19
|
+
warnings.warn(message, DeprecationWarning, stacklevel=2)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
_warn_deprecated_import()
|
|
23
|
+
|
|
24
|
+
__all__ = ["_DEPRECATION_MESSAGE", "_warn_deprecated_import"]
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
|
|
3
|
+
from tigrbl_canon import _warn_deprecated_import
|
|
4
|
+
|
|
5
|
+
_warn_deprecated_import(__name__)
|
|
5
6
|
|
|
6
|
-
from tigrbl_canon import _DEPRECATION_MESSAGE
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
from importlib import import_module
|
|
9
9
|
|
|
10
10
|
__all__ = [
|
|
11
11
|
"bind",
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
from tigrbl_canon import _warn_deprecated_import
|
|
4
|
+
|
|
5
|
+
_warn_deprecated_import(__name__)
|
|
6
|
+
|
|
7
|
+
|
|
3
8
|
from dataclasses import replace
|
|
4
9
|
from typing import Any, Dict, Optional, Set
|
|
5
10
|
|
|
6
11
|
from tigrbl_core._spec import OpSpec
|
|
7
|
-
from
|
|
12
|
+
from tigrbl_core._spec.op_spec import resolve as resolve_ops
|
|
8
13
|
from .op_mro_collect import mro_alias_map_for, mro_collect_decorated_ops
|
|
9
14
|
from .context import MappingContext, MappingKey
|
|
10
15
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# tigrbl/v3/mapping/collect_decorated_schemas.py
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
+
from tigrbl_canon import _warn_deprecated_import
|
|
5
|
+
|
|
6
|
+
_warn_deprecated_import(__name__)
|
|
7
|
+
|
|
8
|
+
|
|
4
9
|
import inspect
|
|
5
10
|
import logging
|
|
6
11
|
from functools import lru_cache
|
|
@@ -8,7 +13,7 @@ from typing import Dict
|
|
|
8
13
|
|
|
9
14
|
from tigrbl_core.config.constants import TIGRBL_SCHEMA_DECLS_ATTR
|
|
10
15
|
|
|
11
|
-
from
|
|
16
|
+
from tigrbl_concrete._decorators.schema import _SchemaDecl
|
|
12
17
|
from pydantic import BaseModel, create_model
|
|
13
18
|
|
|
14
19
|
logger = logging.getLogger("uvicorn")
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# tigrbl/v3/config/resolver.py
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
+
from tigrbl_canon import _warn_deprecated_import
|
|
5
|
+
|
|
6
|
+
_warn_deprecated_import(__name__)
|
|
7
|
+
|
|
8
|
+
|
|
4
9
|
from dataclasses import asdict, is_dataclass
|
|
5
10
|
from types import MappingProxyType
|
|
6
11
|
from typing import Any, Dict, Iterable, Mapping, Optional
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from tigrbl_canon import _warn_deprecated_import
|
|
6
|
+
|
|
7
|
+
_warn_deprecated_import(__name__)
|
|
8
|
+
|
|
9
|
+
|
|
5
10
|
from typing import Annotated, Any, Iterable, get_args, get_origin
|
|
6
11
|
|
|
7
12
|
from tigrbl_ops_oltp.crud.params import Param
|
|
8
|
-
from
|
|
9
|
-
from
|
|
13
|
+
from tigrbl_typing.status.exceptions import HTTPException
|
|
14
|
+
from tigrbl_typing.status.mappings import status
|
|
10
15
|
from tigrbl_typing.protocols import RequestLike
|
|
11
16
|
|
|
12
17
|
|