-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
203 lines (171 loc) · 7.99 KB
/
.env.example
File metadata and controls
203 lines (171 loc) · 7.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# Environment Configuration for Bank Statement Processor
# Copy this file to .env and customize for your environment
# =============================================================================
# Privacy and Telemetry Configuration
# =============================================================================
# Disable telemetry and tracking in all dependencies and third-party packages
# These environment variables ensure no usage data, analytics, or crash reports
# are sent to external services by any Python packages used in this application.
# Universal opt-out flags (recognized by many tools)
DO_NOT_TRACK=1
TELEMETRY_DISABLED=true
# Python package manager telemetry
PIP_NO_INPUT=1
PIP_DISABLE_PIP_VERSION_CHECK=1
# Pandas telemetry (defensive - not currently implemented but may be in future)
PANDAS_TELEMETRY_ENABLED=false
# Pytest plugins telemetry
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
# Locust telemetry (load testing tool)
LOCUST_DISABLE_TELEMETRY=1
# General analytics opt-out
ANALYTICS_DISABLED=true
NO_ANALYTICS=1
# Sentry/error reporting opt-out
SENTRY_DSN=
# Segment analytics opt-out
SEGMENT_WRITE_KEY=
# =============================================================================
# Logging Configuration
# =============================================================================
# Log level controls verbosity of application logging
# Valid values: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# =============================================================================
# Table Extraction Configuration
# =============================================================================
# Top Y-coordinate for table extraction area (in PDF points)
# Default: 300
TABLE_TOP_Y=300
# Bottom Y-coordinate for table extraction area (in PDF points)
# Default: 720
TABLE_BOTTOM_Y=720
# Enable dynamic boundary detection (experimental)
# When true, attempts to automatically detect table boundaries
# Default: false (recommended for production)
ENABLE_DYNAMIC_BOUNDARY=false
# =============================================================================
# Processing Configuration
# =============================================================================
# Sort transactions chronologically by date
# When true, transactions are sorted from oldest to newest
# Default: true
SORT_BY_DATE=true
# =============================================================================
# Output Configuration
# =============================================================================
# Output formats to generate
# Comma-separated list of formats: csv, json, excel
# All formats available in FREE tier
# Examples:
# - csv (CSV only)
# - csv,json (CSV and JSON)
# - csv,excel (CSV and Excel)
# - csv,json,excel (all formats - default)
OUTPUT_FORMATS=csv,json,excel
# Column totals configuration
# Comma-separated list of column patterns to calculate totals for
# The processor will sum values in columns whose names contain these patterns (case-insensitive)
# Examples:
# - debit,credit (default - sums Debit and Credit columns)
# - amount (sums any column with "amount" in the name)
# - debit,credit,balance (sums multiple column types)
# Set to empty string to disable totals: TOTALS_COLUMNS=
TOTALS_COLUMNS=debit,credit
# Generate monthly summary JSON file (aggregates transactions by month)
# Available in FREE tier - enabled by default
# Set to false to disable
# Default: true
GENERATE_MONTHLY_SUMMARY=true
# Generate expense analysis JSON file (recurring charges, anomalies, statistics)
# Default: true
GENERATE_EXPENSE_ANALYSIS=true
# =============================================================================
# Column Configuration (Advanced)
# =============================================================================
# Custom table column definitions in JSON format
# Defines column names and their X-coordinate boundaries [x_min, x_max]
# Example:
# TABLE_COLUMNS={"Date": [26, 78], "Details": [78, 255], "Debit €": [255, 313], "Credit €": [313, 369], "Balance €": [369, 450]}
#
# Leave commented to use default configuration
# TABLE_COLUMNS=
# =============================================================================
# Directory Configuration
# =============================================================================
# Project root directory (base directory for all relative paths)
# All relative paths (INPUT_DIR, OUTPUT_DIR, LOGS_DIR) are resolved relative to this
# If INPUT_DIR/OUTPUT_DIR/LOGS_DIR are absolute paths, PROJECT_ROOT is ignored
# Default: current working directory
# Examples:
# PROJECT_ROOT=/data/bank-app (all dirs under /data/bank-app/)
# PROJECT_ROOT=/home/user/documents (all dirs under /home/user/documents/)
# PROJECT_ROOT=
# Input directory containing PDF bank statements
# Can be absolute or relative (relative to PROJECT_ROOT if set, otherwise CWD)
# Default: input (relative to PROJECT_ROOT or CWD)
# Examples:
# INPUT_DIR=input (./input or $PROJECT_ROOT/input)
# INPUT_DIR=/mnt/statements/input (absolute path, ignores PROJECT_ROOT)
INPUT_DIR=input
# Output directory for processed files
# Can be absolute or relative (relative to PROJECT_ROOT if set, otherwise CWD)
# Default: output (relative to PROJECT_ROOT or CWD)
OUTPUT_DIR=output
# Directory for processing activity logs (for audit trail)
# Can be absolute or relative (relative to PROJECT_ROOT if set, otherwise CWD)
# Default: logs (relative to PROJECT_ROOT or CWD)
LOGS_DIR=logs
# =============================================================================
# Template Configuration
# =============================================================================
# Directory containing built-in bank statement templates
# Default: ./templates (auto-detected)
# BANK_TEMPLATES_DIR=./templates
# Directory for custom user-defined templates (optional)
# Custom templates override built-in templates with same ID
# Default: none (not set)
# CUSTOM_TEMPLATES_DIR=./custom_templates
# Force a specific template by ID (bypasses auto-detection)
# Useful for testing or when auto-detection fails
# Example: FORCE_TEMPLATE=revolut
# Default: none (auto-detection enabled)
# FORCE_TEMPLATE=
# Set default template when no template is detected
# Default: first enabled template (alphabetical order)
# DEFAULT_TEMPLATE=default
# =============================================================================
# Licensing Configuration
# =============================================================================
# Path to PAID tier license file (JSON format)
# Default: ./license.json
# LICENSE_PATH=./license.json
# =============================================================================
# Docker Configuration
# =============================================================================
# Exit container after processing completes
# Set to true for one-time batch processing
# Set to false to keep container running for debugging
EXIT_AFTER_PROCESSING=true
# =============================================================================
# Data Retention & GDPR Compliance
# =============================================================================
# Number of days to retain output files (0 = no automatic cleanup)
# Files older than this will be deleted by cleanup-old-data command
# Recommended: 90 days for financial data
# Default: 0 (manual cleanup only)
DATA_RETENTION_DAYS=0
# Automatically cleanup output files on exit (after processing completes)
# When true, removes all output files after processing
# Useful for sensitive environments where data should not persist
# Default: false
AUTO_CLEANUP_ON_EXIT=false
# =============================================================================
# Build Configuration (Optional)
# =============================================================================
# These variables are used during Docker image builds for metadata
# If not set, they will default to empty strings (no warning)
# Typically set automatically by Makefile or CI/CD
# VERSION=1.0.1
# BUILD_DATE=2024-01-28T12:00:00Z
# VCS_REF=abc1234