Skip to main content

Python Utilities & Basalam Micro-Services SDK

Project description

Requirements

  • Python 3.6+

Installation & Upgrade

pip install backbone-orm

Usage

from backbone_orm import (
    RepositoryAbstract,
    PostgresManager,
    DriverEnum,
ConnectionConfig,
    ModelAbstract,
    T,
    Parameters
)
import aioredis
import typing

postgres = PostgresManager(
    default=DriverEnum.POOL,
    config=ConnectionConfig(...)
)

redis = aioredis.Redis(...)


class UserModel(ModelAbstract):
    id: int
    name: str


class UserRepo(RepositoryAbstract[UserModel]):

    @classmethod
    async def connection(cls) -> PostgresConnection:
        return await postgres.acquire()

    @classmethod
    def redis(cls) -> aioredis.Redis:
        return redis

    @classmethod
    def table_name(cls) -> str:
        return "users"

    @classmethod
    def model(cls) -> typing.Type[T]:
        return UserModel

    @classmethod
    def soft_deletes(cls) -> bool:
        return True

    @classmethod
    def default_relations(cls) -> typing.List[str]:
        return []


print(await UserRepo.find_by_id(1))

Testing

# install pytest
pip install pytest

# run tests
python -m pytest

Changelog

  • 0.0.11 Now build and push are done using gitlab-ci
  • 0.0.13 fix: return type of update_return
  • 0.0.14 custom order enums
  • 0.0.15 has_relations in ModelAbstract
  • 1.0.0 Adds QueryBuilder, Adds Connection Manager
  • 1.0.9 Extend QueryBuilderAbstract from pypika PostgreSQLQueryBuilder

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

basalam_backbone_orm-2.0.11.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

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

basalam.backbone_orm-2.0.11-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file basalam_backbone_orm-2.0.11.tar.gz.

File metadata

  • Download URL: basalam_backbone_orm-2.0.11.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for basalam_backbone_orm-2.0.11.tar.gz
Algorithm Hash digest
SHA256 1c27f1250275d5bb7907696a8adef611aff67678dd157c86e889d0730a3bfc1a
MD5 7332f876367ef434a89a543ec5adc8ba
BLAKE2b-256 2de71a1c2ee46a98b3f0e00276bc725b59678377ed329bcacfe9d600b59327f2

See more details on using hashes here.

File details

Details for the file basalam.backbone_orm-2.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for basalam.backbone_orm-2.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 58ce3b29f2c7b3d8c6a16afc404de6948c0fa242ed846f179150016883d4db0e
MD5 9575215b68f11673346b7456a324ac08
BLAKE2b-256 d14016242310427ae8c798a4e51b5459dad9e31e100cde03d83f6f5e947c97f7

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