tigrbl-orm 0.4.4.dev8__tar.gz → 0.4.5.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/PKG-INFO +31 -20
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/README.md +30 -19
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/pyproject.toml +1 -1
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/LICENSE +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/NOTICE +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/__init__.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/_RowBound.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/__init__.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/bootstrappable.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/bound.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/edges.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/fields.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/hierarchy.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/key_digest.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/lifecycle.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/locks.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/markers.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/operations.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/ownable.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/principals.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/tenant_bound.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/upsertable.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/mixins/utils.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/__init__.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/_base.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/audit.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/client.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/group.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/org.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/rbac.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/status.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/tenant.py +0 -0
- {tigrbl_orm-0.4.4.dev8 → tigrbl_orm-0.4.5.dev1}/tigrbl_orm/orm/tables/user.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl-orm
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.5.dev1
|
|
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
|
|
@@ -270,13 +270,6 @@ Framework maintainers, extension authors, and advanced users composing Tigrbl fr
|
|
|
270
270
|
|
|
271
271
|
It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.
|
|
272
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
273
|
|
|
281
274
|
## Install
|
|
282
275
|
|
|
@@ -361,23 +354,33 @@ PY
|
|
|
361
354
|
|
|
362
355
|
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
356
|
|
|
364
|
-
## Authoring BCP
|
|
357
|
+
## Convenient Authoring Path and Best Current Practice (BCP)
|
|
365
358
|
|
|
366
359
|
`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
360
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
-
|
|
371
|
-
- Do
|
|
361
|
+
### Keep ORM usage boundary-owned
|
|
362
|
+
|
|
363
|
+
- Avoid: Exposing implementation-only ORM helpers as facade-level guidance unless the package boundary is explicit.
|
|
364
|
+
- Do: Use this package when implementing or testing ORM helpers, table mixins, persistence primitives, and SQLAlchemy-facing compatibility behavior.
|
|
365
|
+
- Why: SQLAlchemy is useful inside the storage boundary, while application users still get the more convenient Tigrbl facade contract.
|
|
366
|
+
|
|
367
|
+
### Keep specs authoritative before ORM materialization
|
|
368
|
+
|
|
369
|
+
- Avoid: Duplicating field behavior across ORM declarations and Tigrbl specs.
|
|
370
|
+
- Do: Keep ORM behavior aligned with Tigrbl table, column, datatype, storage, IO, and operation specs.
|
|
371
|
+
- Why: The spec layer is the reusable source for behavior that must project into storage, validation, runtime, hooks, diagnostics, and docs.
|
|
372
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.
|
|
373
|
+
### Do not teach raw ORM declarations as application style
|
|
377
374
|
|
|
378
|
-
|
|
379
|
-
-
|
|
380
|
-
-
|
|
375
|
+
- 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.
|
|
376
|
+
- Do: Let Tigrbl specs describe reusable field and operation intent before ORM materialization.
|
|
377
|
+
- Why: Raw ORM declarations are only one lowering target and cannot carry the full Tigrbl storage, IO, validation, docs, hook, and runtime contract.
|
|
378
|
+
|
|
379
|
+
### Do not move application behavior into this boundary
|
|
380
|
+
|
|
381
|
+
- 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.
|
|
382
|
+
- Do: Keep application-facing examples on the `tigrbl` facade and keep this README focused on the ORM implementation boundary.
|
|
383
|
+
- Why: This keeps routes, engines, transactions, schemas, hooks, diagnostics, and runtime planning owned by the packages that govern those behaviors.
|
|
381
384
|
|
|
382
385
|
## Related Packages
|
|
383
386
|
|
|
@@ -406,6 +409,14 @@ Avoid:
|
|
|
406
409
|
|
|
407
410
|
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.
|
|
408
411
|
|
|
412
|
+
## Certification Status
|
|
413
|
+
|
|
414
|
+
- Package status: governed package in the `tigrbl/tigrbl` workspace.
|
|
415
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
416
|
+
- 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.
|
|
417
|
+
- 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`.
|
|
418
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
419
|
+
|
|
409
420
|
## License
|
|
410
421
|
|
|
411
422
|
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).
|
|
@@ -35,13 +35,6 @@ Framework maintainers, extension authors, and advanced users composing Tigrbl fr
|
|
|
35
35
|
|
|
36
36
|
It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.
|
|
37
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
38
|
|
|
46
39
|
## Install
|
|
47
40
|
|
|
@@ -126,23 +119,33 @@ PY
|
|
|
126
119
|
|
|
127
120
|
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
121
|
|
|
129
|
-
## Authoring BCP
|
|
122
|
+
## Convenient Authoring Path and Best Current Practice (BCP)
|
|
130
123
|
|
|
131
124
|
`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
125
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
-
|
|
136
|
-
- Do
|
|
126
|
+
### Keep ORM usage boundary-owned
|
|
127
|
+
|
|
128
|
+
- Avoid: Exposing implementation-only ORM helpers as facade-level guidance unless the package boundary is explicit.
|
|
129
|
+
- Do: Use this package when implementing or testing ORM helpers, table mixins, persistence primitives, and SQLAlchemy-facing compatibility behavior.
|
|
130
|
+
- Why: SQLAlchemy is useful inside the storage boundary, while application users still get the more convenient Tigrbl facade contract.
|
|
131
|
+
|
|
132
|
+
### Keep specs authoritative before ORM materialization
|
|
133
|
+
|
|
134
|
+
- Avoid: Duplicating field behavior across ORM declarations and Tigrbl specs.
|
|
135
|
+
- Do: Keep ORM behavior aligned with Tigrbl table, column, datatype, storage, IO, and operation specs.
|
|
136
|
+
- Why: The spec layer is the reusable source for behavior that must project into storage, validation, runtime, hooks, diagnostics, and docs.
|
|
137
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.
|
|
138
|
+
### Do not teach raw ORM declarations as application style
|
|
142
139
|
|
|
143
|
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
140
|
+
- 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.
|
|
141
|
+
- Do: Let Tigrbl specs describe reusable field and operation intent before ORM materialization.
|
|
142
|
+
- Why: Raw ORM declarations are only one lowering target and cannot carry the full Tigrbl storage, IO, validation, docs, hook, and runtime contract.
|
|
143
|
+
|
|
144
|
+
### Do not move application behavior into this boundary
|
|
145
|
+
|
|
146
|
+
- 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.
|
|
147
|
+
- Do: Keep application-facing examples on the `tigrbl` facade and keep this README focused on the ORM implementation boundary.
|
|
148
|
+
- Why: This keeps routes, engines, transactions, schemas, hooks, diagnostics, and runtime planning owned by the packages that govern those behaviors.
|
|
146
149
|
|
|
147
150
|
## Related Packages
|
|
148
151
|
|
|
@@ -171,6 +174,14 @@ Avoid:
|
|
|
171
174
|
|
|
172
175
|
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
176
|
|
|
177
|
+
## Certification Status
|
|
178
|
+
|
|
179
|
+
- Package status: governed package in the `tigrbl/tigrbl` workspace.
|
|
180
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
181
|
+
- 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.
|
|
182
|
+
- 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`.
|
|
183
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
184
|
+
|
|
174
185
|
## License
|
|
175
186
|
|
|
176
187
|
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).
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|