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.26.tar.gz (111.1 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.26-py3-none-any.whl (129.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ldc_lender_datalayer-1.0.26.tar.gz
  • Upload date:
  • Size: 111.1 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.26.tar.gz
Algorithm Hash digest
SHA256 1862b315efd5981e76d25ee8f6e114e215edac14c17c9218354a6b4658ed31bb
MD5 e5f3c6a2259f576695b17c2793b2e991
BLAKE2b-256 058567021b4e76e5e56abe7b286e77ccd4aa344b014348285ab3e5757bffa6eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ldc_lender_datalayer-1.0.26-py3-none-any.whl
Algorithm Hash digest
SHA256 7b1077f77e774c1bd2a84ded3d9d238a331c14033416bb6eb5e157feb8218852
MD5 4fc78269acf10ca86034eb99729d02f2
BLAKE2b-256 5d3445ea261d9b19b0f01c47c3806e292d0d697c843789183393ac4b07c97e50

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