Sprint 1 initialization: - Project directory structure (portfolio_app/, tests/, dbt/, data/, scripts/) - CLAUDE.md with AI assistant context - pyproject.toml with all dependencies - docker-compose.yml for PostgreSQL 16 + PostGIS - Makefile with standard targets - Pre-commit configuration (ruff, mypy) - Environment template (.env.example) - Error handling foundation (PortfolioError hierarchy) - Test configuration (conftest.py, pytest config) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
18 lines
384 B
Python
18 lines
384 B
Python
"""Custom exceptions for the portfolio application."""
|
|
|
|
|
|
class PortfolioError(Exception):
|
|
"""Base exception for all portfolio errors."""
|
|
|
|
|
|
class ParseError(PortfolioError):
|
|
"""PDF/CSV parsing failed."""
|
|
|
|
|
|
class ValidationError(PortfolioError):
|
|
"""Pydantic or business rule validation failed."""
|
|
|
|
|
|
class LoadError(PortfolioError):
|
|
"""Database load operation failed."""
|