tigrbl-core 0.4.2.dev3__tar.gz → 0.4.2.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_core-0.4.2.dev4/NOTICE +7 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/PKG-INFO +117 -28
- tigrbl_core-0.4.2.dev4/README.md +158 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/pyproject.toml +1 -1
- tigrbl_core-0.4.2.dev3/README.md +0 -70
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/LICENSE +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/__init__.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/alias_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/app_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/binding_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/column_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/datatypes.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/docs_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/engine_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/field_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/hook_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/hook_types.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/io_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/middleware_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/monotone.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/op_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/op_utils.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/path_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/plugins.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/registry.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/request_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/response_resolver.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/response_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/response_types.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/router_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/schema_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/serde.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/session_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/storage_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/table_registry_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/_spec/table_spec.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/canonical_json.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/config/__init__.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/config/constants.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/config/defaults.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/config/engine_traversal.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/config/resolver.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/core/__init__.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/op/__init__.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/op/canonical.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/op/collect.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/op/types.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/__init__.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/__init__.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/build_schema.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/cache.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/extras.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/helpers.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/list_params.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/strip_parent_fields.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/get_schema.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/spec_json.py +0 -0
- {tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl-core
|
|
3
|
-
Version: 0.4.2.
|
|
3
|
+
Version: 0.4.2.dev4
|
|
4
4
|
Summary: Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
@@ -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,core,decorators,schema,hooks,openapi,openrpc,schema-first
|
|
208
209
|
Author: Jacob Stewart
|
|
209
210
|
Author-email: jacob@swarmauri.com
|
|
@@ -242,12 +243,45 @@ Description-Content-Type: text/markdown
|
|
|
242
243
|
<p><strong>Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.</strong></p>
|
|
243
244
|
<a href="https://pypi.org/project/tigrbl-core/"><img src="https://img.shields.io/pypi/v/tigrbl-core?label=PyPI" alt="PyPI version for tigrbl-core"/></a>
|
|
244
245
|
<a href="https://pypi.org/project/tigrbl-core/"><img src="https://static.pepy.tech/badge/tigrbl-core" alt="Downloads for tigrbl-core"/></a>
|
|
246
|
+
<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-core"/></a>
|
|
245
247
|
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md.svg?label=hits" alt="Repository hits for tigrbl-core README"/></a>
|
|
246
248
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
247
|
-
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%
|
|
249
|
+
<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-core"/></a>
|
|
248
250
|
<a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl-core"/></a>
|
|
249
251
|
</div>
|
|
250
252
|
|
|
253
|
+
## What is tigrbl-core?
|
|
254
|
+
|
|
255
|
+
Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
|
|
256
|
+
|
|
257
|
+
## Why use tigrbl-core?
|
|
258
|
+
|
|
259
|
+
Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.
|
|
260
|
+
|
|
261
|
+
## When should I install tigrbl-core?
|
|
262
|
+
|
|
263
|
+
Install it for extension packages, package-local tests, or internals that need this boundary without the whole facade.
|
|
264
|
+
|
|
265
|
+
## Who is tigrbl-core for?
|
|
266
|
+
|
|
267
|
+
Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.
|
|
268
|
+
|
|
269
|
+
## Where does tigrbl-core fit?
|
|
270
|
+
|
|
271
|
+
`tigrbl-core` lives at `pkgs/core/tigrbl_core` and serves a focused layer in the split Tigrbl framework.
|
|
272
|
+
|
|
273
|
+
## How does tigrbl-core work?
|
|
274
|
+
|
|
275
|
+
It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.
|
|
276
|
+
|
|
277
|
+
## Certification Status
|
|
278
|
+
|
|
279
|
+
- Package status: governed package in the `tigrbl/tigrbl` workspace.
|
|
280
|
+
- Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
|
|
281
|
+
- 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.
|
|
282
|
+
- 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`.
|
|
283
|
+
- Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
|
|
284
|
+
|
|
251
285
|
## Install
|
|
252
286
|
|
|
253
287
|
```bash
|
|
@@ -258,52 +292,107 @@ uv add tigrbl-core
|
|
|
258
292
|
pip install tigrbl-core
|
|
259
293
|
```
|
|
260
294
|
|
|
295
|
+
## Surface Coverage
|
|
296
|
+
|
|
297
|
+
| Surface | Value |
|
|
298
|
+
|---|---|
|
|
299
|
+
| PyPI package | [`tigrbl-core`](https://pypi.org/project/tigrbl-core/) |
|
|
300
|
+
| Repository path | [`pkgs/core/tigrbl_core`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core) |
|
|
301
|
+
| Python import root | `tigrbl_core` |
|
|
302
|
+
| Console scripts | none declared |
|
|
303
|
+
| Entry points | none declared |
|
|
304
|
+
| Optional extras | none declared |
|
|
305
|
+
| Legal files | `LICENSE`, `NOTICE` |
|
|
306
|
+
| Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
|
|
307
|
+
|
|
261
308
|
## What It Owns
|
|
262
309
|
|
|
263
|
-
`tigrbl-core` owns the
|
|
310
|
+
`tigrbl-core` 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.
|
|
311
|
+
|
|
312
|
+
Implementation orientation:
|
|
313
|
+
- `tigrbl_core`: _spec/, canonical_json, config/, core/, op/, schema/
|
|
314
|
+
|
|
315
|
+
## Public API and Import Surface
|
|
264
316
|
|
|
265
|
-
|
|
317
|
+
- Import roots: `tigrbl_core`.
|
|
318
|
+
- Public symbols: public surface is module-oriented; import the package boundary and inspect submodules as needed.
|
|
319
|
+
- Workspace dependencies: [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/).
|
|
320
|
+
- External runtime dependencies: `pydantic>=2.10,<3`, `pyyaml`, `tomli-w`, `tomli>=2.0.1; python_version < '3.11'`.
|
|
266
321
|
|
|
267
|
-
|
|
322
|
+
## Usage Examples
|
|
268
323
|
|
|
269
|
-
|
|
324
|
+
### Verify the installed package
|
|
270
325
|
|
|
271
|
-
|
|
326
|
+
```bash
|
|
327
|
+
python -m pip show tigrbl-core
|
|
328
|
+
python - <<'PY'
|
|
329
|
+
from importlib.metadata import version
|
|
330
|
+
print(version("tigrbl-core"))
|
|
331
|
+
PY
|
|
332
|
+
```
|
|
272
333
|
|
|
273
|
-
|
|
334
|
+
### Import the package boundary
|
|
274
335
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
- Python requirement: `>=3.10,<3.15`.
|
|
278
|
-
- `tigrbl_core` modules: `_spec/, canonical_json, config/, core/, op/, schema/`.
|
|
336
|
+
```python
|
|
337
|
+
import importlib
|
|
279
338
|
|
|
280
|
-
|
|
339
|
+
module = importlib.import_module("tigrbl_core._spec")
|
|
340
|
+
print(module.__name__)
|
|
341
|
+
```
|
|
281
342
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
343
|
+
### Inspect available modules
|
|
344
|
+
|
|
345
|
+
```python
|
|
346
|
+
import importlib
|
|
347
|
+
import pkgutil
|
|
348
|
+
|
|
349
|
+
module = importlib.import_module("tigrbl_core._spec")
|
|
350
|
+
for info in pkgutil.iter_modules(getattr(module, "__path__", [])):
|
|
351
|
+
print(info.name)
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Use with the facade when building applications
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
uv add tigrbl tigrbl-core
|
|
358
|
+
python - <<'PY'
|
|
359
|
+
import tigrbl
|
|
360
|
+
print(tigrbl.__name__)
|
|
361
|
+
PY
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
## How To Choose This Package
|
|
365
|
+
|
|
366
|
+
Choose `tigrbl-core` 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.
|
|
285
367
|
|
|
286
368
|
## Related Packages
|
|
287
369
|
|
|
288
|
-
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
289
370
|
- [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
|
|
371
|
+
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
372
|
+
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
|
|
373
|
+
- [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
|
|
374
|
+
|
|
375
|
+
## Documentation Links
|
|
376
|
+
|
|
377
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
378
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
379
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
380
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
381
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
382
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
383
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
290
384
|
|
|
291
|
-
##
|
|
385
|
+
## Support
|
|
292
386
|
|
|
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`
|
|
387
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
388
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
389
|
+
- Repository: [pkgs/core/tigrbl_core](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core).
|
|
300
390
|
|
|
301
391
|
## Package-local Boundary
|
|
302
392
|
|
|
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/`.
|
|
393
|
+
This README is the package-local distribution entry point for `tigrbl-core`. 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
394
|
|
|
306
395
|
## License
|
|
307
396
|
|
|
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).
|
|
397
|
+
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
398
|
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>tigrbl-core</h1>
|
|
3
|
+
<img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
|
|
4
|
+
<p><strong>Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.</strong></p>
|
|
5
|
+
<a href="https://pypi.org/project/tigrbl-core/"><img src="https://img.shields.io/pypi/v/tigrbl-core?label=PyPI" alt="PyPI version for tigrbl-core"/></a>
|
|
6
|
+
<a href="https://pypi.org/project/tigrbl-core/"><img src="https://static.pepy.tech/badge/tigrbl-core" alt="Downloads for tigrbl-core"/></a>
|
|
7
|
+
<a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl-core"/></a>
|
|
8
|
+
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md.svg?label=hits" alt="Repository hits for tigrbl-core README"/></a>
|
|
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-core"/></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-core"/></a>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
## What is tigrbl-core?
|
|
15
|
+
|
|
16
|
+
Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
|
|
17
|
+
|
|
18
|
+
## Why use tigrbl-core?
|
|
19
|
+
|
|
20
|
+
Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.
|
|
21
|
+
|
|
22
|
+
## When should I install tigrbl-core?
|
|
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-core for?
|
|
27
|
+
|
|
28
|
+
Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.
|
|
29
|
+
|
|
30
|
+
## Where does tigrbl-core fit?
|
|
31
|
+
|
|
32
|
+
`tigrbl-core` lives at `pkgs/core/tigrbl_core` and serves a focused layer in the split Tigrbl framework.
|
|
33
|
+
|
|
34
|
+
## How does tigrbl-core 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-core
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pip install tigrbl-core
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Surface Coverage
|
|
57
|
+
|
|
58
|
+
| Surface | Value |
|
|
59
|
+
|---|---|
|
|
60
|
+
| PyPI package | [`tigrbl-core`](https://pypi.org/project/tigrbl-core/) |
|
|
61
|
+
| Repository path | [`pkgs/core/tigrbl_core`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core) |
|
|
62
|
+
| Python import root | `tigrbl_core` |
|
|
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-core` 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_core`: _spec/, canonical_json, config/, core/, op/, schema/
|
|
75
|
+
|
|
76
|
+
## Public API and Import Surface
|
|
77
|
+
|
|
78
|
+
- Import roots: `tigrbl_core`.
|
|
79
|
+
- Public symbols: public surface is module-oriented; import the package boundary and inspect submodules as needed.
|
|
80
|
+
- Workspace dependencies: [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/).
|
|
81
|
+
- External runtime dependencies: `pydantic>=2.10,<3`, `pyyaml`, `tomli-w`, `tomli>=2.0.1; python_version < '3.11'`.
|
|
82
|
+
|
|
83
|
+
## Usage Examples
|
|
84
|
+
|
|
85
|
+
### Verify the installed package
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
python -m pip show tigrbl-core
|
|
89
|
+
python - <<'PY'
|
|
90
|
+
from importlib.metadata import version
|
|
91
|
+
print(version("tigrbl-core"))
|
|
92
|
+
PY
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Import the package boundary
|
|
96
|
+
|
|
97
|
+
```python
|
|
98
|
+
import importlib
|
|
99
|
+
|
|
100
|
+
module = importlib.import_module("tigrbl_core._spec")
|
|
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_core._spec")
|
|
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-core
|
|
119
|
+
python - <<'PY'
|
|
120
|
+
import tigrbl
|
|
121
|
+
print(tigrbl.__name__)
|
|
122
|
+
PY
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## How To Choose This Package
|
|
126
|
+
|
|
127
|
+
Choose `tigrbl-core` 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
|
+
## Related Packages
|
|
130
|
+
|
|
131
|
+
- [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
|
|
132
|
+
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
133
|
+
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
|
|
134
|
+
- [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
|
|
135
|
+
|
|
136
|
+
## Documentation Links
|
|
137
|
+
|
|
138
|
+
- [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
|
|
139
|
+
- [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
|
|
140
|
+
- [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
|
|
141
|
+
- [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
|
|
142
|
+
- [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
|
|
143
|
+
- [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
|
|
144
|
+
- [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
|
|
145
|
+
|
|
146
|
+
## Support
|
|
147
|
+
|
|
148
|
+
- Community: [Discord](https://discord.gg/K4YTAPapjR).
|
|
149
|
+
- Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
|
|
150
|
+
- Repository: [pkgs/core/tigrbl_core](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_core).
|
|
151
|
+
|
|
152
|
+
## Package-local Boundary
|
|
153
|
+
|
|
154
|
+
This README is the package-local distribution entry point for `tigrbl-core`. 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.
|
|
155
|
+
|
|
156
|
+
## License
|
|
157
|
+
|
|
158
|
+
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-core"
|
|
3
|
-
version = "0.4.2.
|
|
3
|
+
version = "0.4.2.dev4"
|
|
4
4
|
description = "Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
tigrbl_core-0.4.2.dev3/README.md
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<h1>tigrbl-core</h1>
|
|
3
|
-
<img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
|
|
4
|
-
<p><strong>Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.</strong></p>
|
|
5
|
-
<a href="https://pypi.org/project/tigrbl-core/"><img src="https://img.shields.io/pypi/v/tigrbl-core?label=PyPI" alt="PyPI version for tigrbl-core"/></a>
|
|
6
|
-
<a href="https://pypi.org/project/tigrbl-core/"><img src="https://static.pepy.tech/badge/tigrbl-core" alt="Downloads for tigrbl-core"/></a>
|
|
7
|
-
<a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_core/README.md.svg?label=hits" alt="Repository hits for tigrbl-core README"/></a>
|
|
8
|
-
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
|
|
9
|
-
<a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20to%203.15-3776ab" alt="Python requirement for tigrbl-core"/></a>
|
|
10
|
-
<a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl-core"/></a>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
## Install
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
uv add tigrbl-core
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pip install tigrbl-core
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## What It Owns
|
|
24
|
-
|
|
25
|
-
`tigrbl-core` owns the core boundary inside the split Python workspace. Key implementation roots include `tigrbl_core` with `_spec/, canonical_json, config/, core/, op/, schema/`.
|
|
26
|
-
|
|
27
|
-
## Use It When
|
|
28
|
-
|
|
29
|
-
Use `tigrbl-core` when you want this subsystem directly as a package boundary instead of consuming it only through the top-level `tigrbl` facade.
|
|
30
|
-
|
|
31
|
-
## Public Surface
|
|
32
|
-
|
|
33
|
-
- Primary module root: `tigrbl_core` with module families `_spec/, canonical_json, config/, core/, op/, schema/`.
|
|
34
|
-
|
|
35
|
-
## Internal Layout
|
|
36
|
-
|
|
37
|
-
- Workspace path: `pkgs/core/tigrbl_core`.
|
|
38
|
-
- Package class: `core framework package`.
|
|
39
|
-
- Python requirement: `>=3.10,<3.15`.
|
|
40
|
-
- `tigrbl_core` modules: `_spec/, canonical_json, config/, core/, op/, schema/`.
|
|
41
|
-
|
|
42
|
-
## Dependency Surface
|
|
43
|
-
|
|
44
|
-
- Workspace package dependencies: [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/).
|
|
45
|
-
- External runtime dependencies: `pydantic>=2.10,<3`, `pyyaml`, `tomli-w`, `tomli>=2.0.1; python_version < '3.11'`.
|
|
46
|
-
- Optional extras: none declared.
|
|
47
|
-
|
|
48
|
-
## Related Packages
|
|
49
|
-
|
|
50
|
-
- [`tigrbl`](https://pypi.org/project/tigrbl/)
|
|
51
|
-
- [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
|
|
52
|
-
|
|
53
|
-
## Canonical Repository Docs
|
|
54
|
-
|
|
55
|
-
- `docs/README.md`
|
|
56
|
-
- `docs/conformance/CURRENT_TARGET.md`
|
|
57
|
-
- `docs/conformance/CURRENT_STATE.md`
|
|
58
|
-
- `docs/conformance/NEXT_STEPS.md`
|
|
59
|
-
- `docs/governance/DOC_POINTERS.md`
|
|
60
|
-
- `docs/developer/PACKAGE_CATALOG.md`
|
|
61
|
-
- `docs/developer/PACKAGE_LAYOUT.md`
|
|
62
|
-
|
|
63
|
-
## Package-local Boundary
|
|
64
|
-
|
|
65
|
-
This file is a package-local distribution entry point.
|
|
66
|
-
Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
|
|
67
|
-
|
|
68
|
-
## License
|
|
69
|
-
|
|
70
|
-
Licensed under the Apache License, Version 2.0. See `LICENSE` and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
|
|
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
|
|
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
|
{tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/build_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_core-0.4.2.dev3 → tigrbl_core-0.4.2.dev4}/tigrbl_core/schema/builder/strip_parent_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|