FloorManager / src /utils /config.py
BolyosCsaba
initial commit
148a4a7
"""Configuration management using Pydantic Settings"""
from typing import Optional
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
"""Application settings"""
# Server Configuration
HOST: str = "0.0.0.0"
PORT: int = 7860
# Floor Manager Settings
DEFAULT_FLOOR_DURATION: int = 300 # seconds
MAX_AGENTS_PER_SESSION: int = 10
SESSION_TIMEOUT: int = 3600 # seconds
AUTO_GRANT_FLOOR: bool = True
# Protocol Settings
OFP_VERSION: str = "1.0.0"
MESSAGE_TIMEOUT: int = 30 # seconds
# UI Settings
UPDATE_INTERVAL: int = 2 # seconds
MAX_MESSAGE_DISPLAY: int = 100
# Logging
LOG_LEVEL: str = "INFO"
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
case_sensitive=True
)
# Global settings instance
settings = Settings()