This project parses resume files and compares them against a job description using the Groq API. It supports PDF and DOCX resume uploads and returns a structured analysis including candidate match score and reasoning.
- Reads resumes from PDF and DOCX files
- Extracts structured resume information using an LLM
- Compares the parsed resume against a job description
- Produces a match score and summary details
- Uses Pydantic models for structured JSON responses
├── resume_parser.py
├── main.py
├── pyproject.toml
├── README.md
└── resumes/
- Python 3.10+
- A Groq API key
- Internet access to call the Groq API
- Clone the repository
- Navigate to the project folder
- Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activateOn Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1- Install dependencies
If you are using uv:
uv syncOr install manually:
pip install groq python-dotenv pydantic pypdf python-docx- Create a
.envfile in the project root
GROQ_API_KEY=your_groq_api_key_here- Place your resume files in the
resumes/folder
Supported formats:
.pdf.docx
python resume_parser.pyThe script will:
- read all resumes from the
resumes/folder - parse each resume
- compare it with the sample job description
- print the top and bottom matching candidates
- The script currently uses a sample job description embedded in the code.
- You may want to replace it with your own job description later.
- Make sure your API key is kept private and not committed to GitHub.
GROQ_API_KEY=your_api_key_hereThis project is for educational and personal use.