| |
| """ |
| Configuration settings for EpiPred deployment |
| """ |
|
|
| import os |
|
|
| class Config: |
| """Base configuration""" |
| SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-key-change-in-production' |
| MAX_CONTENT_LENGTH = 16 * 1024 * 1024 |
| UPLOAD_FOLDER = os.environ.get('UPLOAD_FOLDER') or 'static/uploads' |
| |
| |
| MODEL_PATH = os.environ.get('MODEL_PATH') or 'models' |
| CONFIDENCE_THRESHOLD = float(os.environ.get('CONFIDENCE_THRESHOLD', '0.5')) |
| |
| |
| MAX_SEQUENCES = int(os.environ.get('MAX_SEQUENCES', '50')) |
| MAX_TOTAL_LENGTH = int(os.environ.get('MAX_TOTAL_LENGTH', '300000')) |
| MAX_SEQUENCE_LENGTH = int(os.environ.get('MAX_SEQUENCE_LENGTH', '6000')) |
| MIN_SEQUENCE_LENGTH = int(os.environ.get('MIN_SEQUENCE_LENGTH', '10')) |
|
|
| class DevelopmentConfig(Config): |
| """Development configuration""" |
| DEBUG = True |
| FLASK_ENV = 'development' |
|
|
| class ProductionConfig(Config): |
| """Production configuration""" |
| DEBUG = False |
| FLASK_ENV = 'production' |
| |
| |
| SECRET_KEY = os.environ.get('SECRET_KEY') or os.urandom(32).hex() |
| |
| |
| LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO') |
|
|
| class RenderConfig(ProductionConfig): |
| """Render.com specific configuration""" |
| |
| PORT = int(os.environ.get('PORT', 5000)) |
| HOST = '0.0.0.0' |
| |
| |
| UPLOAD_FOLDER = '/tmp/uploads' |
| |
| |
| MAX_SEQUENCES = 25 |
| MAX_TOTAL_LENGTH = 150000 |
|
|
| |
| config = { |
| 'development': DevelopmentConfig, |
| 'production': ProductionConfig, |
| 'render': RenderConfig, |
| 'default': DevelopmentConfig |
| } |
|
|