Skip to main content

SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.

Project description

tigrbl-orm

Tigrbl logo

SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.

PyPI version for tigrbl-orm Downloads for tigrbl-orm Discord community for tigrbl-orm Repository hits for tigrbl-orm README Apache 2.0 license Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl-orm Workspace group for tigrbl-orm

What is tigrbl-orm?

SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.

Why use tigrbl-orm?

Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.

When should I install tigrbl-orm?

Install it for extension packages, package-local tests, or internals that need this boundary without the whole facade.

Who is tigrbl-orm for?

Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.

Where does tigrbl-orm fit?

tigrbl-orm lives at pkgs/core/tigrbl_orm and serves a focused layer in the split Tigrbl framework.

How does tigrbl-orm work?

It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.

Install

uv add tigrbl-orm
pip install tigrbl-orm

Surface Coverage

Surface Value
PyPI package tigrbl-orm
Repository path pkgs/core/tigrbl_orm
Python import root tigrbl_orm
Console scripts none declared
Entry points none declared
Optional extras none declared
Legal files LICENSE, NOTICE
Supported Python `3.10

What It Owns

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.

Implementation orientation:

  • tigrbl_orm: orm/

Public API and Import Surface

  • Import roots: tigrbl_orm.
  • Public symbols: public surface is module-oriented; import the package boundary and inspect submodules as needed.
  • Workspace dependencies: none declared.
  • External runtime dependencies: sqlalchemy>=2.0.

Usage Examples

Verify the installed package

python -m pip show tigrbl-orm
python - <<'PY'
from importlib.metadata import version
print(version("tigrbl-orm"))
PY

Import the package boundary

import importlib

module = importlib.import_module("tigrbl_orm.orm")
print(module.__name__)

Inspect available modules

import importlib
import pkgutil

module = importlib.import_module("tigrbl_orm.orm")
for info in pkgutil.iter_modules(getattr(module, "__path__", [])):
    print(info.name)

Use with the facade when building applications

uv add tigrbl tigrbl-orm
python - <<'PY'
import tigrbl
print(tigrbl.__name__)
PY

How To Choose This Package

Choose tigrbl-orm when the quick-answer table matches your use case. Choose tigrbl instead when you want the full public facade. Choose a lower-level package such as tigrbl-core, tigrbl-base, or tigrbl-runtime when you are building framework extensions or testing a specific internal boundary.

Convenient Authoring Path and Best Current Practice (BCP)

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.

Keep ORM usage boundary-owned

  • Avoid: Exposing implementation-only ORM helpers as facade-level guidance unless the package boundary is explicit.
  • Do: Use this package when implementing or testing ORM helpers, table mixins, persistence primitives, and SQLAlchemy-facing compatibility behavior.
  • Why: SQLAlchemy is useful inside the storage boundary, while application users still get the more convenient Tigrbl facade contract.

Keep specs authoritative before ORM materialization

  • Avoid: Duplicating field behavior across ORM declarations and Tigrbl specs.
  • Do: Keep ORM behavior aligned with Tigrbl table, column, datatype, storage, IO, and operation specs.
  • Why: The spec layer is the reusable source for behavior that must project into storage, validation, runtime, hooks, diagnostics, and docs.

Do not teach raw ORM declarations as application style

  • 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.
  • Do: Let Tigrbl specs describe reusable field and operation intent before ORM materialization.
  • Why: Raw ORM declarations are only one lowering target and cannot carry the full Tigrbl storage, IO, validation, docs, hook, and runtime contract.

Do not move application behavior into this boundary

  • 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.
  • Do: Keep application-facing examples on the tigrbl facade and keep this README focused on the ORM implementation boundary.
  • Why: This keeps routes, engines, transactions, schemas, hooks, diagnostics, and runtime planning owned by the packages that govern those behaviors.

Related Packages

Documentation Links

Support

Package-local Boundary

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.

Certification Status

  • Package status: governed package in the tigrbl/tigrbl workspace.
  • Governance source: SSOT registry.
  • Release evidence: publish workflow validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
  • 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.
  • Scope note: this README documents the package boundary. Runtime feature support remains governed by .ssot/ entities and the conformance docs linked below.

License

Licensed under the Apache License, Version 2.0. See LICENSE, NOTICE, and the official Apache 2.0 license text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tigrbl_orm-0.4.5.dev1.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tigrbl_orm-0.4.5.dev1-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

File details

Details for the file tigrbl_orm-0.4.5.dev1.tar.gz.

File metadata

  • Download URL: tigrbl_orm-0.4.5.dev1.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tigrbl_orm-0.4.5.dev1.tar.gz
Algorithm Hash digest
SHA256 382ecef5907066f250c9b0ef5a616b99500effcfc924d4842bb4ccde48cbd40e
MD5 4e909f96d1819676fba87cb6bba67761
BLAKE2b-256 c0f2ee36f91755b56a9e1a89c69cbb83183008a94f7b11486dabc10d96e37583

See more details on using hashes here.

File details

Details for the file tigrbl_orm-0.4.5.dev1-py3-none-any.whl.

File metadata

  • Download URL: tigrbl_orm-0.4.5.dev1-py3-none-any.whl
  • Upload date:
  • Size: 38.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tigrbl_orm-0.4.5.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 bd039ee0469a2434431fc7c597690d3beda924458a8fded52433d206296af077
MD5 3dee74bdd2274cd8b8590cb96a67ebdb
BLAKE2b-256 801644a6104673a8a71d822b73c5b17d14e8d8f89caf52a907b685f3fa40ab53

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page