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.7.tar.gz (9.8 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.7-py2.py3-none-any.whl (5.2 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: perfact_api_base-0.7.tar.gz
  • Upload date:
  • Size: 9.8 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-0.7.tar.gz
Algorithm Hash digest
SHA256 a9afdccdd759b86c066c205048c30dea9f5e558d9eaf0d855c8a11075c12715c
MD5 2c8bd2b1cf9d6c4fdc2492fa2fde7f63
BLAKE2b-256 c156480e718ad24dbe042cd1a5c9600c190fe1a498665750bdbe895a9b456794

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for perfact_api_base-0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fdd158dc7f95087e4ab5d27fe530ca73e3d2797af503870496fa7549bd325da8
MD5 ac86d4ac7901f4bf2cee97062fbcfa07
BLAKE2b-256 fc27e273e6db2736c7ceabb5a3f80654c093d4bebd5074cb1e388c5486f03746

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