Skip to content
ahsan876 edited this page Apr 17, 2026 · 3 revisions

reveilio

Turn a folder of resumes into a ranked shortlist.

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.

Python 3.9+ License: MIT Providers No server


Quick taste

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

Feature What it does
πŸ“„ Multi-format parsing Reads PDF, DOCX, DOC, TXT files and free text for both JDs and resumes. Legacy binary .doc via antiword fallback.
🧱 Structured extraction Name, email, phone, skills, experience timeline (titles + companies), education, certifications, career gaps, keywords β€” all extracted automatically.
πŸ“Š Seven-dimension scoring Skills, semantic skills, experience, education, certifications, soft skills, domain relevance. Each with a 0–100 score 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–5 role-aligned interview questions drawn from the JD and resume.
πŸ—‚οΈ PDF report export Per-candidate reports or batch ranking summaries as professional PDFs in one function call.
🧠 Bring your own LLM Gemini, OpenAI, Azure OpenAI, or self-hosted Ollama. Configure once with reveilio.configure(), switch providers anytime.
βš–οΈ Customizable weights Tune the scoring rubric to your hiring priorities β€” skills for engineering, education for research, certifications for compliance.

The pipeline

JD file/text  β†’  JobDescription  β†’  Resume(s)  β†’  Scorer  β†’  AnalysisResult  β†’  PDF report

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 app, CLI, or chat bot β€” no framework lock-in.
  • Researchers. Compare prompts, tune weights, swap models, and measure inter-model agreement.

Ready?

Continue to Installation, then the Quickstart.


Β© 2026 Reveilio Β· MIT licensed

Clone this wiki locally