config.py.
Environment Variables
Security Settings
SECRET_KEY
Required for production The secret key is used for session management, CSRF protection, and other security features.'clave-secreta-para-desarrollo' (development only)
Location: config.py:6
Database Configuration
DATABASE_URL
Specifies the database connection string. The system supports both SQLite and PostgreSQL.sqlite:///instance/app.db
Location: config.py:10-11
PostgreSQL is strongly recommended for production deployments due to better concurrency handling and performance.
Business Parameters
PENALTY_FEE_PER_DAY
Defines the daily penalty fee (in currency units) charged for overdue book loans.5000.0
Type: Float
Location: config.py:21
Usage: This value is used in the Loan.penalty_fee property (models.py:89) to calculate late fees for overdue books.
Scheduler Configuration
SCHEDULER_TIMEZONE
Sets the timezone for scheduled tasks (e.g., overdue loan checks)."America/Bogota"
Location: config.py:15
Scheduled Tasks:
- Overdue loan check runs daily at 00:01 AM (
app/__init__.py:34) - Uses APScheduler with cron triggers
SCHEDULER_API_ENABLED
Controls whether the scheduler API endpoints are exposed.False
Location: config.py:14
Session Configuration
PERMANENT_SESSION_LIFETIME
Defines how long user sessions remain active.config.py:17
Note: Sessions are made permanent by default in app/__init__.py:60-61
Application Identity
APP_NAME
The application display name used throughout the interface."SWL"
Location: config.py:27
LIBRARY_NAME
The library institution name."SWL"
Location: config.py:28
Logging Configuration
LOG_FILE
Path to the application log file. Default:logs/library.log
Location: config.py:24
Log Rotation Settings (app/__init__.py:49):
- Maximum file size: 1MB
- Backup count: 3 files
- Format:
%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]
Database Configuration Details
SQLAlchemy Settings
False
Location: config.py:12
Disables Flask-SQLAlchemy event system to save memory.
Example Configuration Files
Development (.env)
Production (.env)
Configuration Class Structure
All configuration is centralized in theConfig class (config.py:4):
app/__init__.py:21.
See Also
- Database Setup - Database initialization and migration
- Deployment - Production deployment guide
- User Roles - Role configuration and permissions