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

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for perfact_api_base_model-0.3.tar.gz
Algorithm Hash digest
SHA256 f6f1052a38bf103347cc5fc50841467bd4758273bced02472af5ca3c73493dd8
MD5 3377567b18def37575aaba8a7f8961b5
BLAKE2b-256 ab07d8780f540f570ec3840e336c952c6e06f3eb26597e7784fe0113ec569598

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for perfact_api_base_model-0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9d5f8de2719718da53f9925c65b25a7beefbfadc45acf51635ad6b553cb24565
MD5 6a6c33cbf977012785f6b9f10165166f
BLAKE2b-256 0925c06d71aed9cdd995b4214ad4ae9bdb22f867f1b637a2921cc9c7dac07862

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