CandidateExplorer / config /constant.py
ishaq101's picture
[NOTICKET] Fix langfuse version, testing langfuse
e22b3b4
import os
from dataclasses import dataclass, field
from dotenv import load_dotenv
from typing import List
from config.env_constant import EnvFilepath
load_dotenv(EnvFilepath.ENVPATH)
@dataclass
class EnvPostgresConstants:
CONSTRING: str = os.environ.get("ss__postgresql__url")
@dataclass(frozen=True)
class SecurityConstants:
BCRYPT_MAX_BYTES: int = 72
JWT_SECRET_KEY: str = os.environ.get("ss__jwt__secret_key")
JWT_ALGORITHM: str = os.environ.get("ss__jwt__algorithm")
JWT_EXPIRE_MINUTES: int = int(os.environ.get("ss__jwt__access_token_expire_minutes", 60))
@dataclass(frozen=True)
class AzureBlobConstants:
BLOB_PREFIX: str = "dev" # DOCS: change accordingly
ENDPOINT: str = os.environ.get("azureai__container__endpoint")
CONTAINER_NAME: str = os.environ.get("azureai__container__name")
SAS_KEY: str = os.environ.get("azureai__search__sas")
BLOB_SAS_KEY: str = os.environ.get("azureai__blob__sas")
CONTAINER_KEY: str = os.environ.get("azureai__container__key")
MAX_FILE_SIZE_MB: int = int(os.getenv("azureai__max_file_size_mb", "5"))
CHUNK_SIZE: int = 4 * 1024 * 1024
ACCOUNT_NAME: str = os.environ.get("azureai__container__account__name")
@dataclass(frozen=True)
class LangfuseConstants:
SECRET_KEY: str = os.environ.get("ss__langfuse__secret_key")
PUBLIC_KEY: str = os.environ.get("ss__langfuse__public_key")
HOST: str = os.environ.get("langfuse__host")
@dataclass
class ProfileFieldTypes:
NUMERIC: List[str] = field(default_factory=lambda: ["gpa_edu_1", "gpa_edu_2", "gpa_edu_3", "yoe"])
TEXT: List[str] = field(default_factory=lambda: ["univ_edu_1", "major_edu_1",
"univ_edu_2", "major_edu_2",
"univ_edu_3", "major_edu_3",
"domicile",
"hardskills", "softskills", "certifications", "business_domain"])
ProfileFieldTypes = ProfileFieldTypes()