Turn a folder of resumes into a ranked shortlist.
Reveilio is a Python library that reads a job description and a set of resumes, calls the LLM of your choice, and returns structured, weighted, explainable match scores along with downloadable PDF reports.
import reveilio
reveilio.configure(provider="openai", api_key="sk-...")
jd = reveilio.JobDescription.from_file("jd.pdf")
results = reveilio.analyze_folder("./resumes", jd)
for r in results:
print(r.rank, r.candidate_data.name, r.overall_score, r.recommendation)
reveilio.save_batch_report_pdf(results, "ranking.pdf")
Why reveilio exists
Most recruitment tools sit behind a SaaS login, lock your data in a database you do not own, and return a score with no way to see why. Reveilio takes the opposite approach. It is a plain Python package that runs on your own machine, with your own LLM credentials, against your own resumes. There is no server, no database, and no dashboard. It is a function that returns a structured result.
Core features at a glance
Multi-format parsing
Reads PDF, DOCX, DOC, TXT files and free text for both job descriptions and resumes. Supports legacy binary Word files via antiword fallback.
Structured extraction
Name, email, phone, skills, experience timeline with titles and companies, education, certifications, career gaps, and keywords are all extracted automatically.
Seven-dimension scoring
Skills, semantic skills, experience, education, certifications, soft skills, and domain relevance. Each with an individual score (0 to 100) and written reasoning.
Explainable results
Strengths, weaknesses, career flags, KPIs, relevancy metrics, suggested alternative roles, and a 120-word executive summary per candidate.
Interview questions
For every candidate marked Shortlist, reveilio generates 3 to 5 role-aligned live interview questions drawn from the JD and resume.
PDF report export
Export detailed per-candidate reports or a batch ranking summary as professional PDF files with a single function call.
Bring your own LLM
Gemini, OpenAI, Azure OpenAI, or a self-hosted Ollama model. Configure once with reveilio.configure() and switch providers anytime.
Customizable weights
Adjust the scoring rubric to match your hiring priorities. Emphasize skills for engineering roles, education for research roles, or certifications for compliance roles.
The pipeline, visualized
(parsing)
(parsing)
(AI Analysis)
Who this is for
- Recruiters who script. Rank 200 resumes in 10 lines of Python from a Jupyter notebook.
- HR tech builders. Use reveilio as the scoring engine behind your own application, CLI, or chat bot with no framework lock-in.
- Researchers. Compare prompts, tune weights, swap models, and measure inter-model agreement.
Ready?
Continue to Installation, then the Quickstart.