HR-ATS-Portal/backend/requirements.txt

58 lines
2.8 KiB
Plaintext

# HR-ATS-Portal backend dependencies.
# pip install -r backend/requirements.txt
# Versions are the ones this backend is currently developed and verified against.
# --- web framework ---------------------------------------------------------
fastapi==0.136.1
uvicorn==0.47.0
# --- database --------------------------------------------------------------
sqlalchemy==2.0.51
sqlmodel==0.0.38
alembic==1.18.4
asyncpg==0.31.0 # async driver used by the app (postgresql+asyncpg)
psycopg2-binary==2.9.12 # sync driver for db_setup.url(async_driver=False)
# --- settings and validation ----------------------------------------------
pydantic==2.12.4
pydantic-settings==2.12.0 # db_setup.Settings
python-dotenv==1.2.1
email-validator==2.3.0 # required by pydantic EmailStr in users/app.py
# --- auth ------------------------------------------------------------------
PyJWT==2.10.1 # access/refresh token encode+decode in users/plugins.py
python-multipart==0.0.20 # required by OAuth2PasswordRequestForm in users/app.py
# --- other -----------------------------------------------------------------
httpx==0.28.1 # Graph email (inbox) + Teams mail send (forget_password/plugins.py)
bcrypt==5.0.0 # password hashing in users/plugins.py
# --- PDF extraction --------------------------------------------------------
pypdf==5.1.0
# --- task queue ------------------------------------------------------------
taskiq>=0.11,<0.12 # broker + worker/scheduler CLI (taskiq_management/)
taskiq-redis>=1.0,<2.0 # RedisStreamBroker / result backend / schedule source
redis>=5.0,<6.0 # DLQ middleware (taskiq_management/middleware.py) async client
# --- LLM -------------------------------------------------------------------
openai==2.53.0 # AsyncOpenAI client in llm_setup.py
langgraph==1.2.10 # StateGraph agent framework in agent/agent_setup.py
# --- ATS scoring -----------------------------------------------------------
# The bulk-ats scoring engine (app.services.pdf / llm / scoring) is installed
# editable from the repo root — run once per environment:
# pip install -e ..
# Its dependencies are already satisfied by the pins above.
openpyxl==3.1.5
# --- Google Sheets (g_sheet/) ----------------------------------------------
google-api-python-client==2.198.0 # Sheets v4 client in g_sheet/plugins.py
google-auth==2.56.3 # ADC + refresh in g_sheet/plugins.py
google-auth-httplib2==0.4.1 # transport used by googleapiclient
google-auth-oauthlib==1.4.0 # InstalledAppFlow in g_sheet/store_session.py only
# --- AWS S3 (s3/) ----------------------------------------------------------
boto3==1.40.49 # S3 PutObject / DeleteObject in s3/plugins.py
botocore==1.40.49 # ClientError mapping; pin matches aiobotocore's range