mrradix commited on
Commit
5737627
·
verified ·
1 Parent(s): 50dc6d1

Create config.py

Browse files
Files changed (1) hide show
  1. config.py +99 -0
config.py ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Configuration settings for the application
3
+ """
4
+ import os
5
+ from pathlib import Path
6
+
7
+ # Base directories
8
+ BASE_DIR = Path(__file__).parent
9
+ DATA_DIR = BASE_DIR / "data"
10
+ CACHE_DIR = BASE_DIR / "cache"
11
+ LOGS_DIR = BASE_DIR / "logs"
12
+
13
+ # Create directories if they don't exist
14
+ DATA_DIR.mkdir(exist_ok=True)
15
+ CACHE_DIR.mkdir(exist_ok=True)
16
+ LOGS_DIR.mkdir(exist_ok=True)
17
+
18
+ # Application settings
19
+ APP_NAME = "Dashboard App"
20
+ APP_VERSION = "1.0.0"
21
+ DEBUG = os.getenv("DEBUG", "False").lower() == "true"
22
+
23
+ # Streamlit configuration
24
+ STREAMLIT_CONFIG = {
25
+ "page_title": APP_NAME,
26
+ "page_icon": "📊",
27
+ "layout": "wide",
28
+ "initial_sidebar_state": "expanded"
29
+ }
30
+
31
+ # Logging configuration
32
+ LOGGING_CONFIG = {
33
+ "level": "DEBUG" if DEBUG else "INFO",
34
+ "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
35
+ "file_path": LOGS_DIR / "app.log"
36
+ }
37
+
38
+ # Dashboard settings
39
+ DASHBOARD_CONFIG = {
40
+ "default_chart_type": "Line Chart",
41
+ "refresh_interval": 300, # 5 minutes
42
+ "max_data_points": 10000,
43
+ "enable_caching": True
44
+ }
45
+
46
+ # File upload settings
47
+ UPLOAD_CONFIG = {
48
+ "max_file_size": 200, # MB
49
+ "allowed_extensions": [".csv", ".xlsx", ".json", ".pkl"],
50
+ "upload_dir": DATA_DIR / "uploads"
51
+ }
52
+
53
+ # API settings (if needed)
54
+ API_CONFIG = {
55
+ "timeout": 30,
56
+ "max_retries": 3,
57
+ "base_url": os.getenv("API_BASE_URL", "")
58
+ }
59
+
60
+ # Database settings (if needed)
61
+ DATABASE_CONFIG = {
62
+ "url": os.getenv("DATABASE_URL", ""),
63
+ "pool_size": 5,
64
+ "max_overflow": 10
65
+ }
66
+
67
+ # Security settings
68
+ SECURITY_CONFIG = {
69
+ "secret_key": os.getenv("SECRET_KEY", "your-secret-key-here"),
70
+ "session_timeout": 3600, # 1 hour
71
+ "max_login_attempts": 5
72
+ }
73
+
74
+ # Feature flags
75
+ FEATURES = {
76
+ "enable_dashboard": True,
77
+ "enable_analytics": False,
78
+ "enable_user_management": False,
79
+ "enable_api": False
80
+ }
81
+
82
+ # Export all configurations
83
+ __all__ = [
84
+ "BASE_DIR",
85
+ "DATA_DIR",
86
+ "CACHE_DIR",
87
+ "LOGS_DIR",
88
+ "APP_NAME",
89
+ "APP_VERSION",
90
+ "DEBUG",
91
+ "STREAMLIT_CONFIG",
92
+ "LOGGING_CONFIG",
93
+ "DASHBOARD_CONFIG",
94
+ "UPLOAD_CONFIG",
95
+ "API_CONFIG",
96
+ "DATABASE_CONFIG",
97
+ "SECURITY_CONFIG",
98
+ "FEATURES"
99
+ ]