-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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.
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")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.
| 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. |
JD file/text β JobDescription β Resume(s) β Scorer β AnalysisResult β PDF report
- 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.
Continue to Installation, then the Quickstart.
Β© 2026 Reveilio Β· MIT licensed
v0.1.1 Β· docs
Getting started
Core features
- Configuration & providers
- Job descriptions
- Resume parsing
- Scoring & analysis
- PDF reports
- Database storage
Using reveilio
Deployment
Deep dive