Skip to main content

PerFact API - base package for common infrastructure

Project description

perfact-api-base

Base package for PerFact API common infrastructure. 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-0.6.tar.gz (5.6 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-0.6-py2.py3-none-any.whl (4.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file perfact_api_base-0.6.tar.gz.

File metadata

  • Download URL: perfact_api_base-0.6.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for perfact_api_base-0.6.tar.gz
Algorithm Hash digest
SHA256 51e0f0e39b7dddd2f915555edd5f2a7540394a094d7406c654caab7d3c8493ca
MD5 b1522b0a159c535caadac7e3c7f4277d
BLAKE2b-256 b86d3aff394e078a7321603294aedc1fa2cb71c0d2afde45444868816bd0dc60

See more details on using hashes here.

File details

Details for the file perfact_api_base-0.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for perfact_api_base-0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 835a60939fb37798f141b3404990694d29c4c2c32f086352e3dd0b28c13f1705
MD5 8d456592ec6064f7060eab8e00a68c94
BLAKE2b-256 cb6e4a58950ed0fb1fc5d984a8a3132327de6e2c5eaa3712836a53996d2f6e56

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