Skip to main content

PerFact API - SQLAlchemy base for models

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

perfact-api-base-model

SQLAlchemy declarative base for all PerFact API models. Part of the perfact.api.base namespace.

What it provides

Base

Declarative base for all ORM table mappings. Subclasses automatically get:

  • idBigInteger primary key
  • modtimeDateTime with timezone, defaults to now()
  • author — set from the DB session user via db_username()
  • Column names are automatically prefixed with the table name (e.g. a field name on AppUser becomes the DB column appuser_name)
  • __tablename__ is derived from the class name in lowercase if not set explicitly

View

Separate declarative base for SQL view definitions. Views are not created as tables during schema generation. Columns must be declared with explicit names matching the view definition.

Re-exports

ForeignKey, relationship, Mapped, mapped_column are re-exported so model packages only need to import from this module.

Usage

from perfact.api.base.model import Base, ForeignKey, Mapped, mapped_column, relationship

class MyEntity(Base):
    name: Mapped[str]
    parent_id: Mapped[int | None] = mapped_column(ForeignKey("myentity.myentity_id"))

Dependencies

  • sqlalchemy
  • psycopg[c]
  • pydantic-settings

Maintainers

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

perfact_api_base_model-0.4.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

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

perfact_api_base_model-0.4-py2.py3-none-any.whl (4.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file perfact_api_base_model-0.4.tar.gz.

File metadata

  • Download URL: perfact_api_base_model-0.4.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for perfact_api_base_model-0.4.tar.gz
Algorithm Hash digest
SHA256 e95487e417085815a40f0772f5cea67a5c6859af8cf1ee6410023e2e44896a4f
MD5 fe63a725dbc0dcb97bb6deb6311f8dbd
BLAKE2b-256 9e5d1257a1e7a8828052a111051d7468a6a6824803b7b4d8f00ed17f1246c85f

See more details on using hashes here.

File details

Details for the file perfact_api_base_model-0.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for perfact_api_base_model-0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5afa60a580cafe6bb667ce1955c020c97a280349dae952be98e13204a6d8f14e
MD5 d47c1c40920858409bfda2b1428baaca
BLAKE2b-256 7af81f67d26ff520e03e3695d519a4c44c6b3793baac8ba8fa9b7666e8b54acd

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