tigrbl-ops-oltp 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_ops_oltp-0.4.3.dev4/NOTICE +7 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/PKG-INFO +114 -28
- tigrbl_ops_oltp-0.4.3.dev4/README.md +157 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/pyproject.toml +1 -1
- tigrbl_ops_oltp-0.4.3.dev4/tigrbl_ops_oltp/fallback.py +12 -0
- tigrbl_ops_oltp-0.4.3.dev4/tigrbl_ops_oltp/rust_handlers.py +15 -0
- tigrbl_ops_oltp-0.4.2.dev3/README.md +0 -72
- tigrbl_ops_oltp-0.4.2.dev3/tigrbl_ops_oltp/fallback.py +0 -9
- tigrbl_ops_oltp-0.4.2.dev3/tigrbl_ops_oltp/rust_handlers.py +0 -15
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/LICENSE +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/__init__.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/__init__.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/bulk.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/__init__.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/db.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/enum.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/filters.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/model.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/normalize.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/ops.py +0 -0
- {tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/params.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl-ops-oltp
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.3.dev4
|
|
4
4
|
Summary: Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.
|
|
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,ops,oltp,crud,transactions,openapi,openrpc,schema-first
|
|
208
209
|
Author: Jacob Stewart
|
|
209
210
|
Author-email: jacob@swarmauri.com
|
|
@@ -240,12 +241,45 @@ Description-Content-Type: text/markdown
|
|
|
240
241
|
<p><strong>Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.</strong></p>
|
|
241
242
|
<a href="https://pypi.org/project/tigrbl-ops-oltp/"><img src="https://img.shields.io/pypi/v/tigrbl-ops-oltp?label=PyPI" alt="PyPI version for tigrbl-ops-oltp"/></a>
|
|
242
243
|
<a href="https://pypi.org/project/tigrbl-ops-oltp/"><img src="https://static.pepy.tech/badge/tigrbl-ops-oltp" alt="Downloads for tigrbl-ops-oltp"/></a>
|
|
244
|
+
<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-ops-oltp"/></a>
|
|
243
245
|
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_ops_oltp/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_ops_oltp/README.md.svg?label=hits" alt="Repository hits for tigrbl-ops-oltp README"/></a>
|
|
244
246
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
245
|
-
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%
|
|
247
|
+
<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-ops-oltp"/></a>
|
|
246
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-ops-oltp"/></a>
|
|
247
249
|
</div>
|
|
248
250
|
|
|
251
|
+
## What is tigrbl-ops-oltp?
|
|
252
|
+
|
|
253
|
+
Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.
|
|
254
|
+
|
|
255
|
+
## Why use tigrbl-ops-oltp?
|
|
256
|
+
|
|
257
|
+
Use it when you need this operation-family boundary directly instead of consuming operations through the top-level facade.
|
|
258
|
+
|
|
259
|
+
## When should I install tigrbl-ops-oltp?
|
|
260
|
+
|
|
261
|
+
Install it for framework internals, extension packages, or focused tests that target this operation plane.
|
|
262
|
+
|
|
263
|
+
## Who is tigrbl-ops-oltp for?
|
|
264
|
+
|
|
265
|
+
Framework maintainers and extension authors working near Tigrbl operation dispatch.
|
|
266
|
+
|
|
267
|
+
## Where does tigrbl-ops-oltp fit?
|
|
268
|
+
|
|
269
|
+
`tigrbl-ops-oltp` lives at `pkgs/core/tigrbl_ops_oltp` and serves focused operation dispatch behavior inside the Tigrbl runtime model.
|
|
270
|
+
|
|
271
|
+
## How does tigrbl-ops-oltp work?
|
|
272
|
+
|
|
273
|
+
It contributes operation handlers and dispatch-facing primitives consumed by the facade, runtime, and kernel layers.
|
|
274
|
+
|
|
275
|
+
## Certification Status
|
|
276
|
+
|
|
277
|
+
- Package status: governed package in the `tigrbl/tigrbl` workspace.
|
|
278
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
279
|
+
- 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.
|
|
280
|
+
- 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`.
|
|
281
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
282
|
+
|
|
249
283
|
## Install
|
|
250
284
|
|
|
251
285
|
```bash
|
|
@@ -256,54 +290,106 @@ uv add tigrbl-ops-oltp
|
|
|
256
290
|
pip install tigrbl-ops-oltp
|
|
257
291
|
```
|
|
258
292
|
|
|
293
|
+
## Surface Coverage
|
|
294
|
+
|
|
295
|
+
| Surface | Value |
|
|
296
|
+
|---|---|
|
|
297
|
+
| PyPI package | [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/) |
|
|
298
|
+
| Repository path | [`pkgs/core/tigrbl_ops_oltp`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_ops_oltp) |
|
|
299
|
+
| Python import root | `tigrbl_ops_oltp` |
|
|
300
|
+
| Console scripts | none declared |
|
|
301
|
+
| Entry points | none declared |
|
|
302
|
+
| Optional extras | none declared |
|
|
303
|
+
| Legal files | `LICENSE`, `NOTICE` |
|
|
304
|
+
| Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
|
|
305
|
+
|
|
259
306
|
## What It Owns
|
|
260
307
|
|
|
261
|
-
`tigrbl-ops-oltp` owns the
|
|
308
|
+
`tigrbl-ops-oltp` owns the `operation-family package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
|
|
309
|
+
|
|
310
|
+
Implementation orientation:
|
|
311
|
+
- `tigrbl_ops_oltp`: crud/, fallback
|
|
312
|
+
- `tigrbl_ops_oltp.rust_handlers` is a deprecated compatibility shim; handlers are Python-only.
|
|
313
|
+
|
|
314
|
+
## Public API and Import Surface
|
|
262
315
|
|
|
263
|
-
|
|
316
|
+
- Import roots: `tigrbl_ops_oltp`.
|
|
317
|
+
- Public symbols: `Body`, `Header`, `Param`, `Path`, `Query`, `bulk_create`, `bulk_delete`, `bulk_merge`, `bulk_replace`, `bulk_update`, `clear`, `count`.
|
|
318
|
+
- Workspace dependencies: [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-core`](https://pypi.org/project/tigrbl-core/).
|
|
319
|
+
- External runtime dependencies: none declared.
|
|
264
320
|
|
|
265
|
-
|
|
321
|
+
## Usage Examples
|
|
266
322
|
|
|
267
|
-
|
|
323
|
+
### Verify the installed package
|
|
268
324
|
|
|
269
|
-
|
|
325
|
+
```bash
|
|
326
|
+
python -m pip show tigrbl-ops-oltp
|
|
327
|
+
python - <<'PY'
|
|
328
|
+
from importlib.metadata import version
|
|
329
|
+
print(version("tigrbl-ops-oltp"))
|
|
330
|
+
PY
|
|
331
|
+
```
|
|
270
332
|
|
|
271
|
-
|
|
333
|
+
### Import the package boundary
|
|
272
334
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
- Python requirement: `>=3.10,<3.15`.
|
|
276
|
-
- `tigrbl_ops_oltp` modules: `crud/, fallback, rust_handlers`.
|
|
335
|
+
```python
|
|
336
|
+
import importlib
|
|
277
337
|
|
|
278
|
-
|
|
338
|
+
module = importlib.import_module("tigrbl_ops_oltp")
|
|
339
|
+
print(module.__name__)
|
|
340
|
+
```
|
|
279
341
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
342
|
+
### Import a public symbol
|
|
343
|
+
|
|
344
|
+
```python
|
|
345
|
+
from tigrbl_ops_oltp import Body
|
|
346
|
+
|
|
347
|
+
print(Body)
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Use with the facade when building applications
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
uv add tigrbl tigrbl-ops-oltp
|
|
354
|
+
python - <<'PY'
|
|
355
|
+
import tigrbl
|
|
356
|
+
print(tigrbl.__name__)
|
|
357
|
+
PY
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
## How To Choose This Package
|
|
361
|
+
|
|
362
|
+
Choose `tigrbl-ops-oltp` 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.
|
|
283
363
|
|
|
284
364
|
## Related Packages
|
|
285
365
|
|
|
286
|
-
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
287
366
|
- [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/)
|
|
288
367
|
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
|
|
289
368
|
- [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
|
|
369
|
+
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
370
|
+
- [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
|
|
371
|
+
|
|
372
|
+
## Documentation Links
|
|
373
|
+
|
|
374
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
375
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
376
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
377
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
378
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
379
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
380
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
290
381
|
|
|
291
|
-
##
|
|
382
|
+
## Support
|
|
292
383
|
|
|
293
|
-
-
|
|
294
|
-
-
|
|
295
|
-
-
|
|
296
|
-
- `docs/conformance/NEXT_STEPS.md`
|
|
297
|
-
- `docs/governance/DOC_POINTERS.md`
|
|
298
|
-
- `docs/developer/PACKAGE_CATALOG.md`
|
|
299
|
-
- `docs/developer/PACKAGE_LAYOUT.md`
|
|
384
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
385
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
386
|
+
- Repository: [pkgs/core/tigrbl_ops_oltp](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_ops_oltp).
|
|
300
387
|
|
|
301
388
|
## Package-local Boundary
|
|
302
389
|
|
|
303
|
-
This
|
|
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/`.
|
|
390
|
+
This README is the package-local distribution entry point for `tigrbl-ops-oltp`. 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.
|
|
305
391
|
|
|
306
392
|
## License
|
|
307
393
|
|
|
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).
|
|
394
|
+
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).
|
|
309
395
|
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>tigrbl-ops-oltp</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>Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.</strong></p>
|
|
5
|
+
<a href="https://pypi.org/project/tigrbl-ops-oltp/"><img src="https://img.shields.io/pypi/v/tigrbl-ops-oltp?label=PyPI" alt="PyPI version for tigrbl-ops-oltp"/></a>
|
|
6
|
+
<a href="https://pypi.org/project/tigrbl-ops-oltp/"><img src="https://static.pepy.tech/badge/tigrbl-ops-oltp" alt="Downloads for tigrbl-ops-oltp"/></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-ops-oltp"/></a>
|
|
8
|
+
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_ops_oltp/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_ops_oltp/README.md.svg?label=hits" alt="Repository hits for tigrbl-ops-oltp 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-ops-oltp"/></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-ops-oltp"/></a>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
## What is tigrbl-ops-oltp?
|
|
15
|
+
|
|
16
|
+
Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.
|
|
17
|
+
|
|
18
|
+
## Why use tigrbl-ops-oltp?
|
|
19
|
+
|
|
20
|
+
Use it when you need this operation-family boundary directly instead of consuming operations through the top-level facade.
|
|
21
|
+
|
|
22
|
+
## When should I install tigrbl-ops-oltp?
|
|
23
|
+
|
|
24
|
+
Install it for framework internals, extension packages, or focused tests that target this operation plane.
|
|
25
|
+
|
|
26
|
+
## Who is tigrbl-ops-oltp for?
|
|
27
|
+
|
|
28
|
+
Framework maintainers and extension authors working near Tigrbl operation dispatch.
|
|
29
|
+
|
|
30
|
+
## Where does tigrbl-ops-oltp fit?
|
|
31
|
+
|
|
32
|
+
`tigrbl-ops-oltp` lives at `pkgs/core/tigrbl_ops_oltp` and serves focused operation dispatch behavior inside the Tigrbl runtime model.
|
|
33
|
+
|
|
34
|
+
## How does tigrbl-ops-oltp work?
|
|
35
|
+
|
|
36
|
+
It contributes operation handlers and dispatch-facing primitives consumed by the facade, runtime, and kernel layers.
|
|
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-ops-oltp
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pip install tigrbl-ops-oltp
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Surface Coverage
|
|
57
|
+
|
|
58
|
+
| Surface | Value |
|
|
59
|
+
|---|---|
|
|
60
|
+
| PyPI package | [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/) |
|
|
61
|
+
| Repository path | [`pkgs/core/tigrbl_ops_oltp`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_ops_oltp) |
|
|
62
|
+
| Python import root | `tigrbl_ops_oltp` |
|
|
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-ops-oltp` owns the `operation-family 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_ops_oltp`: crud/, fallback
|
|
75
|
+
- `tigrbl_ops_oltp.rust_handlers` is a deprecated compatibility shim; handlers are Python-only.
|
|
76
|
+
|
|
77
|
+
## Public API and Import Surface
|
|
78
|
+
|
|
79
|
+
- Import roots: `tigrbl_ops_oltp`.
|
|
80
|
+
- Public symbols: `Body`, `Header`, `Param`, `Path`, `Query`, `bulk_create`, `bulk_delete`, `bulk_merge`, `bulk_replace`, `bulk_update`, `clear`, `count`.
|
|
81
|
+
- Workspace dependencies: [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-core`](https://pypi.org/project/tigrbl-core/).
|
|
82
|
+
- External runtime dependencies: none declared.
|
|
83
|
+
|
|
84
|
+
## Usage Examples
|
|
85
|
+
|
|
86
|
+
### Verify the installed package
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
python -m pip show tigrbl-ops-oltp
|
|
90
|
+
python - <<'PY'
|
|
91
|
+
from importlib.metadata import version
|
|
92
|
+
print(version("tigrbl-ops-oltp"))
|
|
93
|
+
PY
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Import the package boundary
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
import importlib
|
|
100
|
+
|
|
101
|
+
module = importlib.import_module("tigrbl_ops_oltp")
|
|
102
|
+
print(module.__name__)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Import a public symbol
|
|
106
|
+
|
|
107
|
+
```python
|
|
108
|
+
from tigrbl_ops_oltp import Body
|
|
109
|
+
|
|
110
|
+
print(Body)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Use with the facade when building applications
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
uv add tigrbl tigrbl-ops-oltp
|
|
117
|
+
python - <<'PY'
|
|
118
|
+
import tigrbl
|
|
119
|
+
print(tigrbl.__name__)
|
|
120
|
+
PY
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## How To Choose This Package
|
|
124
|
+
|
|
125
|
+
Choose `tigrbl-ops-oltp` 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.
|
|
126
|
+
|
|
127
|
+
## Related Packages
|
|
128
|
+
|
|
129
|
+
- [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/)
|
|
130
|
+
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
|
|
131
|
+
- [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
|
|
132
|
+
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
133
|
+
- [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
|
|
134
|
+
|
|
135
|
+
## Documentation Links
|
|
136
|
+
|
|
137
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
138
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
139
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
140
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
141
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
142
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
143
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
144
|
+
|
|
145
|
+
## Support
|
|
146
|
+
|
|
147
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
148
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
149
|
+
- Repository: [pkgs/core/tigrbl_ops_oltp](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_ops_oltp).
|
|
150
|
+
|
|
151
|
+
## Package-local Boundary
|
|
152
|
+
|
|
153
|
+
This README is the package-local distribution entry point for `tigrbl-ops-oltp`. 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.
|
|
154
|
+
|
|
155
|
+
## License
|
|
156
|
+
|
|
157
|
+
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-ops-oltp"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.3.dev4"
|
|
4
4
|
description = "Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import warnings
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def rust_handlers_enabled() -> bool:
|
|
7
|
+
warnings.warn(
|
|
8
|
+
"tigrbl_ops_oltp Rust handler registration is deprecated; handlers are Python-only.",
|
|
9
|
+
DeprecationWarning,
|
|
10
|
+
stacklevel=2,
|
|
11
|
+
)
|
|
12
|
+
return False
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Callable
|
|
4
|
+
from typing import Any
|
|
5
|
+
import warnings
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def register_rust_handler(name: str, callback: Callable[..., Any]) -> str:
|
|
9
|
+
del callback
|
|
10
|
+
warnings.warn(
|
|
11
|
+
"tigrbl_ops_oltp Rust handler registration is deprecated; handlers are Python-only.",
|
|
12
|
+
DeprecationWarning,
|
|
13
|
+
stacklevel=2,
|
|
14
|
+
)
|
|
15
|
+
raise RuntimeError(f"register_rust_handler({name!r}) is unavailable.")
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<h1>tigrbl-ops-oltp</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>Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.</strong></p>
|
|
5
|
-
<a href="https://pypi.org/project/tigrbl-ops-oltp/"><img src="https://img.shields.io/pypi/v/tigrbl-ops-oltp?label=PyPI" alt="PyPI version for tigrbl-ops-oltp"/></a>
|
|
6
|
-
<a href="https://pypi.org/project/tigrbl-ops-oltp/"><img src="https://static.pepy.tech/badge/tigrbl-ops-oltp" alt="Downloads for tigrbl-ops-oltp"/></a>
|
|
7
|
-
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_ops_oltp/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_ops_oltp/README.md.svg?label=hits" alt="Repository hits for tigrbl-ops-oltp 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-ops-oltp"/></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-ops-oltp"/></a>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
## Install
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
uv add tigrbl-ops-oltp
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pip install tigrbl-ops-oltp
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## What It Owns
|
|
24
|
-
|
|
25
|
-
`tigrbl-ops-oltp` owns the ops oltp boundary inside the split Python workspace. Key implementation roots include `tigrbl_ops_oltp` with `crud/, fallback, rust_handlers`.
|
|
26
|
-
|
|
27
|
-
## Use It When
|
|
28
|
-
|
|
29
|
-
Use `tigrbl-ops-oltp` 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
|
-
- `tigrbl_ops_oltp` exposes `import_module, Any, rust_handlers_enabled, register_rust_handler, Body, Header, Param, Path`.
|
|
34
|
-
|
|
35
|
-
## Internal Layout
|
|
36
|
-
|
|
37
|
-
- Workspace path: `pkgs/core/tigrbl_ops_oltp`.
|
|
38
|
-
- Package class: `core framework package`.
|
|
39
|
-
- Python requirement: `>=3.10,<3.15`.
|
|
40
|
-
- `tigrbl_ops_oltp` modules: `crud/, fallback, rust_handlers`.
|
|
41
|
-
|
|
42
|
-
## Dependency Surface
|
|
43
|
-
|
|
44
|
-
- Workspace package dependencies: [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-core`](https://pypi.org/project/tigrbl-core/).
|
|
45
|
-
- External runtime dependencies: none declared.
|
|
46
|
-
- Optional extras: none declared.
|
|
47
|
-
|
|
48
|
-
## Related Packages
|
|
49
|
-
|
|
50
|
-
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
51
|
-
- [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/)
|
|
52
|
-
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
|
|
53
|
-
- [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
|
|
54
|
-
|
|
55
|
-
## Canonical Repository Docs
|
|
56
|
-
|
|
57
|
-
- `docs/README.md`
|
|
58
|
-
- `docs/conformance/CURRENT_TARGET.md`
|
|
59
|
-
- `docs/conformance/CURRENT_STATE.md`
|
|
60
|
-
- `docs/conformance/NEXT_STEPS.md`
|
|
61
|
-
- `docs/governance/DOC_POINTERS.md`
|
|
62
|
-
- `docs/developer/PACKAGE_CATALOG.md`
|
|
63
|
-
- `docs/developer/PACKAGE_LAYOUT.md`
|
|
64
|
-
|
|
65
|
-
## Package-local Boundary
|
|
66
|
-
|
|
67
|
-
This file is a package-local distribution entry point.
|
|
68
|
-
Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
|
|
69
|
-
|
|
70
|
-
## License
|
|
71
|
-
|
|
72
|
-
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,15 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from collections.abc import Callable
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
try:
|
|
7
|
-
from tigrbl_runtime.rust import register_python_handler
|
|
8
|
-
except Exception: # pragma: no cover - additive optional integration
|
|
9
|
-
register_python_handler = None
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def register_rust_handler(name: str, callback: Callable[..., Any]) -> str:
|
|
13
|
-
if register_python_handler is None:
|
|
14
|
-
return f"python-handler:{name}"
|
|
15
|
-
return register_python_handler(name, callback)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/__init__.py
RENAMED
|
File without changes
|
{tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/db.py
RENAMED
|
File without changes
|
{tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/enum.py
RENAMED
|
File without changes
|
{tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/filters.py
RENAMED
|
File without changes
|
{tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/model.py
RENAMED
|
File without changes
|
{tigrbl_ops_oltp-0.4.2.dev3 → tigrbl_ops_oltp-0.4.3.dev4}/tigrbl_ops_oltp/crud/helpers/normalize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|