bio-nexus-api / app /config.py
Samad14's picture
Add sequencing pipeline (FASTQ -> QC -> alignment -> variant calling -> report)
da793ed verified
Raw
History Blame Contribute Delete
1.71 kB
import os
from dotenv import load_dotenv, dotenv_values
# Load from .env.deploy first, then .env, then env vars
_env_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), ".env.deploy")
if os.path.exists(_env_path):
load_dotenv(_env_path)
_env_file = dotenv_values(_env_path)
else:
load_dotenv()
_env_file = dotenv_values()
_env_supabase_url = _env_file.get("SUPABASE_URL")
_env_supabase_key = _env_file.get("SUPABASE_SERVICE_ROLE_KEY")
class Settings:
GROQ_API_KEY: str = os.getenv("GROQ_API_KEY", "")
REDIS_URL: str = os.getenv("REDIS_URL", "redis://localhost:6379")
SUPABASE_URL: str = _env_supabase_url or os.getenv("SUPABASE_URL", "")
SUPABASE_SERVICE_ROLE_KEY: str = _env_supabase_key or os.getenv("SUPABASE_SERVICE_ROLE_KEY", "")
CELERY_BROKER_URL: str = os.getenv("CELERY_BROKER_URL", "redis://localhost:6379/1")
CELERY_RESULT_BACKEND: str = os.getenv("CELERY_RESULT_BACKEND", "redis://localhost:6379/2")
EBI_BASE_URL: str = "https://www.ebi.ac.uk/Tools/services/rest/ncbiblast"
UNIPROT_BASE_URL: str = "https://rest.uniprot.org/uniprotkb"
ALPHAFOLD_DB_URL: str = "https://alphafold.ebi.ac.uk/api/prediction"
DAILY_LIMIT: int = 10
DEFAULT_MODEL: str = os.getenv("DEFAULT_MODEL", "groq/llama-3.3-70b-versatile")
PRO_MODEL: str = os.getenv("PRO_MODEL", "claude-sonnet-4-20250514")
NCBI_EMAIL: str = os.getenv("NCBI_EMAIL", "bioflow@example.com")
DEMO_MODE: bool = os.getenv("DEMO_MODE", "false").lower() in ("true", "1", "yes")
CORS_ORIGIN: str = os.getenv("CORS_ORIGIN", "https://bioai-platform.vercel.app")
SENTRY_DSN: str = os.getenv("SENTRY_DSN", "")
settings = Settings()