Skip to main content

A comprehensive data access layer for ldc lender apps

Project description

Lender Data Layer

A comprehensive data access layer for Django applications providing database operations, Redis caching, and various data mappers.

Features

  • Data Mappers: IMS and iOS specific data mappers with internal functions
  • Redis Integration: Caching layer with Redis support
  • Exception Handling: Custom exception classes for error handling
  • Utilities: Common utilities for data processing

Installation

pip install ldc-lender-datalayer

Quick Start

Using Data Mappers (Recommended)

# Import specific mappers
from lender_datalayer.ims_mappers import account_mapper, investor_mapper
from lender_datalayer.ios_mappers import user_mapper, bank_mapper

# Use mapper functions directly
user_data = user_mapper.get_user_by_id(user_id=123)
account_info = account_mapper.get_account_details(account_id=456)

Using Redis Operations

from lender_datalayer import RedisDataLayer

# Initialize Redis layer
redis = RedisDataLayer()

# Store data in cache
redis.store_data_in_redis_cache("user:123", {"name": "John", "email": "john@example.com"})

# Retrieve data from cache
user_data = redis.get_data_from_redis_cache("user:123")

# Delete data from cache
redis.delete_data_from_redis_cache("user:123")

Requirements

  • Python 3.8+
  • Django 5.2+
  • Redis 5.0+
  • PostgreSQL (with psycopg)

Usage Guidelines

✅ What End Users Should Use

1. Mapper Functions (Primary Usage)

# IMS Mappers
from lender_datalayer.ims_mappers import account_mapper, investor_mapper, cp_mapper

# Use internal functions of mappers
user_data = investor_mapper.get_investor_details(investor_id=123)
account_list = account_mapper.get_user_accounts(user_id=456)
cp_data = cp_mapper.get_cp_dashboard_data(cp_id=789)

2. iOS Mappers

from lender_datalayer.ios_mappers import user_mapper, bank_mapper, document_mapper

# Use internal functions of mappers
user_profile = user_mapper.get_user_profile(user_id=123)
bank_accounts = bank_mapper.get_user_bank_accounts(user_id=456)
documents = document_mapper.get_user_documents(user_id=789)

3. Redis Operations

from lender_datalayer import RedisDataLayer

redis = RedisDataLayer()

# Cache operations
redis.store_data_in_redis_cache("key", data, ttl=3600)
cached_data = redis.get_data_from_redis_cache("key")
redis.delete_data_from_redis_cache("key")

❌ What End Users Should NOT Use

Base Classes (Internal Use Only)

# DON'T use these directly - they are for internal mapper implementation
from lender_datalayer import BaseDataLayer  # ❌ Not for end users
from lender_datalayer import DataLayerUtils  # ❌ Not for end users

Custom Exception Classes (Internal Use Only)

# DON'T import these directly - they are used internally by mappers
from lender_datalayer import ConnectionError  # ❌ Not for end users
from lender_datalayer import QueryError  # ❌ Not for end users

Available Mappers

IMS Mappers

  • account_mapper - Account management functions
  • investor_mapper - Investor data functions
  • cp_mapper - Credit Partner functions
  • bank_mapper - Banking functions
  • document_mapper - Document handling functions
  • partner_mapper - Partner management functions
  • thirdparty_mapper - Third-party integration functions

iOS Mappers

  • user_mapper - User management functions
  • bank_mapper - Banking functions
  • document_mapper - Document handling functions
  • dashboard_mapper - Dashboard data functions
  • bureau_mapper - Credit bureau functions
  • kmi_mapper - KYC functions
  • thirdparty_mapper - Third-party integration functions

Development

# Install in development mode
pip install -e .[dev]

# Format code
black lender_datalayer/

# Type checking
mypy lender_datalayer/

License

This package is for personal use only.

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

ldc_lender_datalayer-1.0.24.tar.gz (110.9 kB view details)

Uploaded Source

Built Distribution

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

ldc_lender_datalayer-1.0.24-py3-none-any.whl (129.7 kB view details)

Uploaded Python 3

File details

Details for the file ldc_lender_datalayer-1.0.24.tar.gz.

File metadata

  • Download URL: ldc_lender_datalayer-1.0.24.tar.gz
  • Upload date:
  • Size: 110.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for ldc_lender_datalayer-1.0.24.tar.gz
Algorithm Hash digest
SHA256 21ad9b3116368781ab9a41dfd5c2c48b6fd840c22399eea79a2b8430dc77027b
MD5 aefb7b695873e40f4d29c4a04f40339b
BLAKE2b-256 3207c53a1b800bd4898a49fccbcf7d1acb4f1bebd0b2ed41c4130a215cd6825c

See more details on using hashes here.

File details

Details for the file ldc_lender_datalayer-1.0.24-py3-none-any.whl.

File metadata

File hashes

Hashes for ldc_lender_datalayer-1.0.24-py3-none-any.whl
Algorithm Hash digest
SHA256 72808ae91fc2a186c086a6a9a3a954b2bdb26f8209241b82d06f19fb6a4bee74
MD5 381d4bd19ac46362ce62939ab88f272d
BLAKE2b-256 1a2633cf232585d799fb2a869019150789f0a59ef8f6b576ff01018e89011fc7

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