tigrbl-orm 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.
Files changed (34) hide show
  1. tigrbl_orm-0.4.3.dev4/NOTICE +7 -0
  2. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/PKG-INFO +135 -26
  3. tigrbl_orm-0.4.3.dev4/README.md +176 -0
  4. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/pyproject.toml +1 -1
  5. tigrbl_orm-0.4.2.dev3/README.md +0 -68
  6. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/LICENSE +0 -0
  7. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/__init__.py +0 -0
  8. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/_RowBound.py +0 -0
  9. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/__init__.py +0 -0
  10. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/bootstrappable.py +0 -0
  11. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/bound.py +0 -0
  12. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/edges.py +0 -0
  13. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/fields.py +0 -0
  14. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/hierarchy.py +0 -0
  15. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/key_digest.py +0 -0
  16. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/lifecycle.py +0 -0
  17. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/locks.py +0 -0
  18. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/markers.py +0 -0
  19. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/operations.py +0 -0
  20. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/ownable.py +0 -0
  21. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/principals.py +0 -0
  22. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/tenant_bound.py +0 -0
  23. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/upsertable.py +0 -0
  24. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/mixins/utils.py +0 -0
  25. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/__init__.py +0 -0
  26. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/_base.py +0 -0
  27. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/audit.py +0 -0
  28. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/client.py +0 -0
  29. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/group.py +0 -0
  30. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/org.py +0 -0
  31. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/rbac.py +0 -0
  32. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/status.py +0 -0
  33. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/tenant.py +0 -0
  34. {tigrbl_orm-0.4.2.dev3 → tigrbl_orm-0.4.3.dev4}/tigrbl_orm/orm/tables/user.py +0 -0
@@ -0,0 +1,7 @@
1
+ Tigrbl
2
+ Copyright 2026 Swarmauri
3
+
4
+ This product includes software developed by Swarmauri.
5
+
6
+ Tigrbl is licensed under the Apache License, Version 2.0.
7
+ See the LICENSE file distributed with this work for the full license text.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl-orm
3
- Version: 0.4.2.dev3
3
+ Version: 0.4.3.dev4
4
4
  Summary: SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -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,json-rpc,rest,sqlalchemy,pydantic,orm,models,openapi,openrpc,schema-first
208
209
  Author: Jacob Stewart
209
210
  Author-email: jacob@swarmauri.com
@@ -238,12 +239,45 @@ Description-Content-Type: text/markdown
238
239
  <p><strong>SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.</strong></p>
239
240
  <a href="https://pypi.org/project/tigrbl-orm/"><img src="https://img.shields.io/pypi/v/tigrbl-orm?label=PyPI" alt="PyPI version for tigrbl-orm"/></a>
240
241
  <a href="https://pypi.org/project/tigrbl-orm/"><img src="https://static.pepy.tech/badge/tigrbl-orm" alt="Downloads for tigrbl-orm"/></a>
242
+ <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-orm"/></a>
241
243
  <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_orm/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_orm/README.md.svg?label=hits" alt="Repository hits for tigrbl-orm README"/></a>
242
244
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
243
- <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20to%203.15-3776ab" alt="Python requirement for tigrbl-orm"/></a>
245
+ <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-orm"/></a>
244
246
  <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-orm"/></a>
245
247
  </div>
246
248
 
249
+ ## What is tigrbl-orm?
250
+
251
+ SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.
252
+
253
+ ## Why use tigrbl-orm?
254
+
255
+ Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.
256
+
257
+ ## When should I install tigrbl-orm?
258
+
259
+ Install it for extension packages, package-local tests, or internals that need this boundary without the whole facade.
260
+
261
+ ## Who is tigrbl-orm for?
262
+
263
+ Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.
264
+
265
+ ## Where does tigrbl-orm fit?
266
+
267
+ `tigrbl-orm` lives at `pkgs/core/tigrbl_orm` and serves a focused layer in the split Tigrbl framework.
268
+
269
+ ## How does tigrbl-orm work?
270
+
271
+ It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.
272
+
273
+ ## Certification Status
274
+
275
+ - Package status: governed package in the `tigrbl/tigrbl` workspace.
276
+ - Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
277
+ - 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.
278
+ - 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`.
279
+ - Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
280
+
247
281
  ## Install
248
282
 
249
283
  ```bash
@@ -254,50 +288,125 @@ uv add tigrbl-orm
254
288
  pip install tigrbl-orm
255
289
  ```
256
290
 
291
+ ## Surface Coverage
292
+
293
+ | Surface | Value |
294
+ |---|---|
295
+ | PyPI package | [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/) |
296
+ | Repository path | [`pkgs/core/tigrbl_orm`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_orm) |
297
+ | Python import root | `tigrbl_orm` |
298
+ | Console scripts | none declared |
299
+ | Entry points | none declared |
300
+ | Optional extras | none declared |
301
+ | Legal files | `LICENSE`, `NOTICE` |
302
+ | Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
303
+
257
304
  ## What It Owns
258
305
 
259
- `tigrbl-orm` owns the orm boundary inside the split Python workspace.
306
+ `tigrbl-orm` 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.
260
307
 
261
- ## Use It When
308
+ Implementation orientation:
309
+ - `tigrbl_orm`: orm/
262
310
 
263
- Use `tigrbl-orm` when you want this subsystem directly as a package boundary instead of consuming it only through the top-level `tigrbl` facade.
311
+ ## Public API and Import Surface
264
312
 
265
- ## Public Surface
313
+ - Import roots: `tigrbl_orm`.
314
+ - Public symbols: public surface is module-oriented; import the package boundary and inspect submodules as needed.
315
+ - Workspace dependencies: none declared.
316
+ - External runtime dependencies: `sqlalchemy>=2.0`.
266
317
 
267
- - Package-local implementation lives under `pkgs/core/tigrbl_orm` and is consumed as a distribution boundary rather than a single broad root re-export.
318
+ ## Usage Examples
268
319
 
269
- ## Internal Layout
320
+ ### Verify the installed package
270
321
 
271
- - Workspace path: `pkgs/core/tigrbl_orm`.
272
- - Package class: `core framework package`.
273
- - Python requirement: `>=3.10,<3.15`.
322
+ ```bash
323
+ python -m pip show tigrbl-orm
324
+ python - <<'PY'
325
+ from importlib.metadata import version
326
+ print(version("tigrbl-orm"))
327
+ PY
328
+ ```
274
329
 
275
- ## Dependency Surface
330
+ ### Import the package boundary
276
331
 
277
- - Workspace package dependencies: none declared.
278
- - External runtime dependencies: `sqlalchemy>=2.0`.
279
- - Optional extras: none declared.
332
+ ```python
333
+ import importlib
334
+
335
+ module = importlib.import_module("tigrbl_orm.orm")
336
+ print(module.__name__)
337
+ ```
338
+
339
+ ### Inspect available modules
340
+
341
+ ```python
342
+ import importlib
343
+ import pkgutil
344
+
345
+ module = importlib.import_module("tigrbl_orm.orm")
346
+ for info in pkgutil.iter_modules(getattr(module, "__path__", [])):
347
+ print(info.name)
348
+ ```
349
+
350
+ ### Use with the facade when building applications
351
+
352
+ ```bash
353
+ uv add tigrbl tigrbl-orm
354
+ python - <<'PY'
355
+ import tigrbl
356
+ print(tigrbl.__name__)
357
+ PY
358
+ ```
359
+
360
+ ## How To Choose This Package
361
+
362
+ Choose `tigrbl-orm` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package 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 you are building framework extensions or testing a specific internal boundary.
363
+
364
+ ## Authoring BCP
365
+
366
+ `tigrbl-orm` is the SQLAlchemy-facing implementation boundary for Tigrbl table and persistence helpers. Normal application documentation should still lead with the `tigrbl` facade, Tigrbl table/column helpers, and Tigrbl specs.
367
+
368
+ Do:
369
+ - Do use this package when implementing or testing ORM helpers, table mixins, persistence primitives, and SQLAlchemy-facing compatibility behavior.
370
+ - Do keep ORM behavior aligned with Tigrbl table, column, datatype, storage, IO, and operation specs.
371
+ - Do let Tigrbl specs describe reusable field and operation intent before ORM materialization.
372
+
373
+ Do not:
374
+ - Do not present raw SQLAlchemy `mapped_column(...)` or `Column(...)` as the preferred application authoring surface when Tigrbl column helpers or specs can express the behavior.
375
+ - Do not put application route authoring, FastAPI/Starlette route objects, ad-hoc engine construction in handlers, or direct transaction control in this package's public examples.
376
+ - Do not treat SQLAlchemy tables as the only source of truth for schema, docs, runtime, hooks, and diagnostics.
377
+
378
+ Avoid:
379
+ - Avoid duplicating field behavior across ORM declarations and Tigrbl specs. Keep the spec layer authoritative for behavior that must project into storage, validation, runtime, and docs.
380
+ - Avoid exposing implementation-only ORM helpers as facade-level guidance unless the package boundary is explicit.
280
381
 
281
382
  ## Related Packages
282
383
 
283
384
  - [`tigrbl`](https://pypi.org/project/tigrbl/)
385
+ - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
386
+ - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
387
+ - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
388
+
389
+ ## Documentation Links
390
+
391
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
392
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
393
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
394
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
395
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
396
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
397
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
284
398
 
285
- ## Canonical Repository Docs
399
+ ## Support
286
400
 
287
- - `docs/README.md`
288
- - `docs/conformance/CURRENT_TARGET.md`
289
- - `docs/conformance/CURRENT_STATE.md`
290
- - `docs/conformance/NEXT_STEPS.md`
291
- - `docs/governance/DOC_POINTERS.md`
292
- - `docs/developer/PACKAGE_CATALOG.md`
293
- - `docs/developer/PACKAGE_LAYOUT.md`
401
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
402
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
403
+ - Repository: [pkgs/core/tigrbl_orm](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_orm).
294
404
 
295
405
  ## Package-local Boundary
296
406
 
297
- This file is a package-local distribution entry point.
298
- Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
407
+ This README is the package-local distribution entry point for `tigrbl-orm`. 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.
299
408
 
300
409
  ## License
301
410
 
302
- 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).
411
+ 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).
303
412
 
@@ -0,0 +1,176 @@
1
+ <div align="center">
2
+ <h1>tigrbl-orm</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>SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.</strong></p>
5
+ <a href="https://pypi.org/project/tigrbl-orm/"><img src="https://img.shields.io/pypi/v/tigrbl-orm?label=PyPI" alt="PyPI version for tigrbl-orm"/></a>
6
+ <a href="https://pypi.org/project/tigrbl-orm/"><img src="https://static.pepy.tech/badge/tigrbl-orm" alt="Downloads for tigrbl-orm"/></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-orm"/></a>
8
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_orm/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_orm/README.md.svg?label=hits" alt="Repository hits for tigrbl-orm 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-orm"/></a>
11
+ <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-orm"/></a>
12
+ </div>
13
+
14
+ ## What is tigrbl-orm?
15
+
16
+ SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.
17
+
18
+ ## Why use tigrbl-orm?
19
+
20
+ Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.
21
+
22
+ ## When should I install tigrbl-orm?
23
+
24
+ Install it for extension packages, package-local tests, or internals that need this boundary without the whole facade.
25
+
26
+ ## Who is tigrbl-orm for?
27
+
28
+ Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.
29
+
30
+ ## Where does tigrbl-orm fit?
31
+
32
+ `tigrbl-orm` lives at `pkgs/core/tigrbl_orm` and serves a focused layer in the split Tigrbl framework.
33
+
34
+ ## How does tigrbl-orm work?
35
+
36
+ It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.
37
+
38
+ ## Certification Status
39
+
40
+ - Package status: governed 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-orm
50
+ ```
51
+
52
+ ```bash
53
+ pip install tigrbl-orm
54
+ ```
55
+
56
+ ## Surface Coverage
57
+
58
+ | Surface | Value |
59
+ |---|---|
60
+ | PyPI package | [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/) |
61
+ | Repository path | [`pkgs/core/tigrbl_orm`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_orm) |
62
+ | Python import root | `tigrbl_orm` |
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-orm` 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.
72
+
73
+ Implementation orientation:
74
+ - `tigrbl_orm`: orm/
75
+
76
+ ## Public API and Import Surface
77
+
78
+ - Import roots: `tigrbl_orm`.
79
+ - Public symbols: public surface is module-oriented; import the package boundary and inspect submodules as needed.
80
+ - Workspace dependencies: none declared.
81
+ - External runtime dependencies: `sqlalchemy>=2.0`.
82
+
83
+ ## Usage Examples
84
+
85
+ ### Verify the installed package
86
+
87
+ ```bash
88
+ python -m pip show tigrbl-orm
89
+ python - <<'PY'
90
+ from importlib.metadata import version
91
+ print(version("tigrbl-orm"))
92
+ PY
93
+ ```
94
+
95
+ ### Import the package boundary
96
+
97
+ ```python
98
+ import importlib
99
+
100
+ module = importlib.import_module("tigrbl_orm.orm")
101
+ print(module.__name__)
102
+ ```
103
+
104
+ ### Inspect available modules
105
+
106
+ ```python
107
+ import importlib
108
+ import pkgutil
109
+
110
+ module = importlib.import_module("tigrbl_orm.orm")
111
+ for info in pkgutil.iter_modules(getattr(module, "__path__", [])):
112
+ print(info.name)
113
+ ```
114
+
115
+ ### Use with the facade when building applications
116
+
117
+ ```bash
118
+ uv add tigrbl tigrbl-orm
119
+ python - <<'PY'
120
+ import tigrbl
121
+ print(tigrbl.__name__)
122
+ PY
123
+ ```
124
+
125
+ ## How To Choose This Package
126
+
127
+ Choose `tigrbl-orm` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package 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 you are building framework extensions or testing a specific internal boundary.
128
+
129
+ ## Authoring BCP
130
+
131
+ `tigrbl-orm` is the SQLAlchemy-facing implementation boundary for Tigrbl table and persistence helpers. Normal application documentation should still lead with the `tigrbl` facade, Tigrbl table/column helpers, and Tigrbl specs.
132
+
133
+ Do:
134
+ - Do use this package when implementing or testing ORM helpers, table mixins, persistence primitives, and SQLAlchemy-facing compatibility behavior.
135
+ - Do keep ORM behavior aligned with Tigrbl table, column, datatype, storage, IO, and operation specs.
136
+ - Do let Tigrbl specs describe reusable field and operation intent before ORM materialization.
137
+
138
+ Do not:
139
+ - Do not present raw SQLAlchemy `mapped_column(...)` or `Column(...)` as the preferred application authoring surface when Tigrbl column helpers or specs can express the behavior.
140
+ - Do not put application route authoring, FastAPI/Starlette route objects, ad-hoc engine construction in handlers, or direct transaction control in this package's public examples.
141
+ - Do not treat SQLAlchemy tables as the only source of truth for schema, docs, runtime, hooks, and diagnostics.
142
+
143
+ Avoid:
144
+ - Avoid duplicating field behavior across ORM declarations and Tigrbl specs. Keep the spec layer authoritative for behavior that must project into storage, validation, runtime, and docs.
145
+ - Avoid exposing implementation-only ORM helpers as facade-level guidance unless the package boundary is explicit.
146
+
147
+ ## Related Packages
148
+
149
+ - [`tigrbl`](https://pypi.org/project/tigrbl/)
150
+ - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
151
+ - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
152
+ - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
153
+
154
+ ## Documentation Links
155
+
156
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
157
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
158
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
159
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
160
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
161
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
162
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
163
+
164
+ ## Support
165
+
166
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
167
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
168
+ - Repository: [pkgs/core/tigrbl_orm](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_orm).
169
+
170
+ ## Package-local Boundary
171
+
172
+ This README is the package-local distribution entry point for `tigrbl-orm`. 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.
173
+
174
+ ## License
175
+
176
+ 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,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl-orm"
3
- version = "0.4.2.dev3"
3
+ version = "0.4.3.dev4"
4
4
  description = "SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -1,68 +0,0 @@
1
- <div align="center">
2
- <h1>tigrbl-orm</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>SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.</strong></p>
5
- <a href="https://pypi.org/project/tigrbl-orm/"><img src="https://img.shields.io/pypi/v/tigrbl-orm?label=PyPI" alt="PyPI version for tigrbl-orm"/></a>
6
- <a href="https://pypi.org/project/tigrbl-orm/"><img src="https://static.pepy.tech/badge/tigrbl-orm" alt="Downloads for tigrbl-orm"/></a>
7
- <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_orm/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_orm/README.md.svg?label=hits" alt="Repository hits for tigrbl-orm 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-orm"/></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-orm"/></a>
11
- </div>
12
-
13
- ## Install
14
-
15
- ```bash
16
- uv add tigrbl-orm
17
- ```
18
-
19
- ```bash
20
- pip install tigrbl-orm
21
- ```
22
-
23
- ## What It Owns
24
-
25
- `tigrbl-orm` owns the orm boundary inside the split Python workspace.
26
-
27
- ## Use It When
28
-
29
- Use `tigrbl-orm` 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
- - Package-local implementation lives under `pkgs/core/tigrbl_orm` and is consumed as a distribution boundary rather than a single broad root re-export.
34
-
35
- ## Internal Layout
36
-
37
- - Workspace path: `pkgs/core/tigrbl_orm`.
38
- - Package class: `core framework package`.
39
- - Python requirement: `>=3.10,<3.15`.
40
-
41
- ## Dependency Surface
42
-
43
- - Workspace package dependencies: none declared.
44
- - External runtime dependencies: `sqlalchemy>=2.0`.
45
- - Optional extras: none declared.
46
-
47
- ## Related Packages
48
-
49
- - [`tigrbl`](https://pypi.org/project/tigrbl/)
50
-
51
- ## Canonical Repository Docs
52
-
53
- - `docs/README.md`
54
- - `docs/conformance/CURRENT_TARGET.md`
55
- - `docs/conformance/CURRENT_STATE.md`
56
- - `docs/conformance/NEXT_STEPS.md`
57
- - `docs/governance/DOC_POINTERS.md`
58
- - `docs/developer/PACKAGE_CATALOG.md`
59
- - `docs/developer/PACKAGE_LAYOUT.md`
60
-
61
- ## Package-local Boundary
62
-
63
- This file is a package-local distribution entry point.
64
- Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
65
-
66
- ## License
67
-
68
- 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).
File without changes