Python 3.9+ MIT licensed Gemini · OpenAI · Azure · Ollama No database. No web server. Just a library.

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

JD file / text
JobDescription
(parsing)
Resume(s)
(parsing)
Scorer
(AI Analysis)
AnalysisResult
PDF report

Who this is for

Ready?

Continue to Installation, then the Quickstart.