Skip to main content

Generate ATS-optimized resumes with scoring, job matching, and multi-format export. Land your dream job.

Project description

๐Ÿ“„ ATS Resume Generator

PyPI version Python License: MIT Tests

Generate ATS-optimized resumes that land interviews. Intelligent scoring engine, job description matching, multi-format export (PDF/DOCX/MD/HTML/TXT), and 10 role-specific templates โ€” all from the command line.


๐Ÿš€ Why ATS Resume Generator?

75% of resumes are rejected by ATS before a human ever sees them. This tool ensures yours gets through.

Feature Description
๐ŸŽฏ ATS Scoring Engine 12-point analysis with weighted scoring across Contact, Summary, Experience, Skills, Action Verbs, Quantification, Keywords, and more
๐Ÿ“Š Job Description Matcher Match your resume against any job posting โ€” see matched/missing keywords and get actionable suggestions
๐Ÿ“ 5 Output Formats PDF, DOCX, Markdown, HTML, and Plain Text โ€” all ATS-friendly with clean formatting
๐Ÿ—๏ธ 10 Role Templates Pre-built templates for DevOps, Software Engineer, Cloud Architect, SRE, Data Engineer, ML Engineer, and more
๐Ÿง™ Interactive Wizard Step-by-step resume building with guided prompts
โšก Action Verb Optimizer Detects weak phrases ("responsible for", "worked on") and suggests power verbs
๐Ÿ“ˆ Quantification Checker Ensures your bullets have measurable achievements ($, %, numbers)
๐Ÿ”‘ Keyword Analysis Role-specific keyword databases for 10+ job titles

๐Ÿ“ฆ Installation

pip install ats-resume-generator

Requirements: Python 3.9+


โšก Quick Start

1. Generate a Demo Resume (See It in Action)

ats-resume demo

Generates a complete demo resume in all 5 formats and shows the ATS score report.

2. Create Your Resume from a Template

# List available templates
ats-resume templates

# Create a DevOps Engineer resume template
ats-resume init --template devops-engineer

# Or use the interactive wizard
ats-resume wizard

3. Edit Your YAML File

contact:
  name: Jane Doe
  email: jane.doe@example.com
  phone: "+1 (555) 123-4567"
  location: San Francisco, CA
  linkedin: linkedin.com/in/janedoe
  github: github.com/janedoe

summary: >
  Senior DevOps Engineer with 8+ years of experience building
  cloud infrastructure and CI/CD pipelines. Managed 200+ microservices
  with 99.99% uptime, reduced cloud costs by $1.2M annually.

target_role: devops-engineer
years_of_experience: 8

experience:
  - company: Acme Corp
    title: Senior DevOps Engineer
    location: San Francisco, CA
    start_date: Jan 2021
    end_date: Present
    bullets:
      - "Architected Kubernetes platform hosting 200+ microservices with 99.99% uptime"
      - "Reduced cloud costs by $1.2M annually through right-sizing and spot instances"
      - "Implemented GitOps pipeline enabling 150+ zero-downtime deployments weekly"
    technologies: [Kubernetes, AWS, Terraform, ArgoCD]

skills:
  - category: Cloud & Infrastructure
    skills: [AWS, Azure, GCP, EC2, EKS, S3]
  - category: Containers & Orchestration
    skills: [Docker, Kubernetes, Helm, Istio]
  - category: CI/CD & Automation
    skills: [Jenkins, GitHub Actions, ArgoCD, Ansible]

certifications:
  - name: AWS Solutions Architect Professional
    issuer: Amazon Web Services
    date: "2023"

education:
  - institution: MIT
    degree: Bachelor of Science
    field_of_study: Computer Science
    graduation_date: May 2016

projects:
  - name: k8s-health-checker
    description: CLI tool to scan Kubernetes clusters for health issues
    url: github.com/janedoe/k8s-health-checker
    technologies: [Python, Click, Rich]
    highlights: ["Published on PyPI", "22 automated tests"]

languages: [English, Spanish]

4. Generate & Score

# Generate PDF
ats-resume generate -i resume.yaml -f pdf

# Generate all formats
ats-resume generate -i resume.yaml -f all

# Score your resume
ats-resume score -i resume.yaml

# Match against a job description
ats-resume match -i resume.yaml -j job-description.txt

๐ŸŽฏ ATS Scoring Engine

The scoring engine analyzes 12 weighted categories:

Category Weight What It Checks
Contact Info 10% Name, email, phone, LinkedIn, location, GitHub
Professional Summary 10% Length (30-80 words), metrics, years mention
Work Experience 20% Count, bullets per role (3-8), dates, technologies
Skills 12% Count (15+), categorization (3+), coverage
Education 5% Degree, institution, graduation date
Certifications 5% Count, issuer presence
Projects 5% Count, URLs, descriptions
Action Verbs 10% Strong verb percentage, weak verb detection
Quantification 10% Bullets with numbers/metrics (target: 60%+)
Formatting 5% Bullet length, section order, length
Keyword Relevance 5% Match against role-specific keyword database
Overall Structure 3% Required sections, optional sections

Score Grades

Grade Score Range Meaning
A+ 95-100 Exceptional โ€” top ATS compatibility
A 85-94 Excellent โ€” very strong resume
B 75-84 Good โ€” minor improvements possible
C 60-74 Fair โ€” needs significant work
D 40-59 Poor โ€” major gaps identified
F 0-39 Critical โ€” resume needs complete overhaul

Example Score Output

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ๐Ÿ“Š ATS Score Report โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                                              โ”‚
โ”‚  ATS Resume Score                                                            โ”‚
โ”‚                                                                              โ”‚
โ”‚    Score:  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘  98/100                                      โ”‚
โ”‚    Grade:  A+                                                                โ”‚
โ”‚                                                                              โ”‚
โ”‚    โœ… Passed: 28  โš ๏ธ  Warnings: 0  โŒ Critical: 0  โ„น๏ธ  Info: 0               โ”‚
โ”‚                                                                              โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐Ÿ—๏ธ Available Templates

Template Role
devops-engineer DevOps Engineer
software-engineer Software Engineer
data-engineer Data Engineer
cloud-architect Cloud Architect
sre Site Reliability Engineer
fullstack-developer Full Stack Developer
backend-developer Backend Developer
frontend-developer Frontend Developer
ml-engineer Machine Learning Engineer
product-manager Product Manager
blank Blank Template

Each template includes realistic experience bullets with quantified achievements, categorized skills, and role-appropriate certifications.


๐Ÿ“Š Job Description Matching

Match your resume against any job posting:

ats-resume match -i resume.yaml -j job-posting.txt

The matcher:

  • Extracts keywords from the job description
  • Compares against your resume content
  • Identifies matched and missing skills
  • Checks experience years requirement
  • Checks education requirements
  • Generates actionable improvement suggestions

๐Ÿง™ Interactive Wizard

Build your resume step-by-step with guided prompts:

ats-resume wizard

The wizard walks you through:

  1. Choose a role template
  2. Contact information
  3. Professional summary
  4. Work experience (with bullet points)
  5. Skills by category
  6. Education
  7. Certifications
  8. Projects
  9. Languages

๐Ÿ“‹ All Commands

Command Description
ats-resume demo Generate demo resume in all formats + show score
ats-resume init Create a resume YAML template
ats-resume generate Generate resume in PDF/DOCX/MD/HTML/TXT
ats-resume score Run ATS score analysis (0-100)
ats-resume match Match resume against job description
ats-resume wizard Interactive step-by-step builder
ats-resume templates List available role templates

Common Options

# Generate with scoring
ats-resume generate -i resume.yaml -f pdf --score

# Use a specific output directory
ats-resume generate -i resume.yaml -f all -o ./output/

# Initialize from a specific template
ats-resume init -t cloud-architect -o my-resume.yaml

๐Ÿ›๏ธ Architecture

ats_resume_generator/
โ”œโ”€โ”€ cli.py                    # Click CLI with 7 commands
โ”œโ”€โ”€ models.py                 # Dataclass models (ResumeData, ScoreResult, etc.)
โ”œโ”€โ”€ parser.py                 # YAML/JSON parser with round-trip support
โ”œโ”€โ”€ demo.py                   # Demo resume data
โ”œโ”€โ”€ scoring/
โ”‚   โ”œโ”€โ”€ engine.py             # 12-category ATS scoring engine
โ”‚   โ””โ”€โ”€ keywords.py           # Role-specific keyword databases
โ”œโ”€โ”€ generators/
โ”‚   โ”œโ”€โ”€ pdf.py                # ReportLab PDF (ATS-friendly Helvetica)
โ”‚   โ”œโ”€โ”€ docx_gen.py           # python-docx Word documents
โ”‚   โ”œโ”€โ”€ markdown.py           # Clean Markdown
โ”‚   โ”œโ”€โ”€ html.py               # HTML with inline CSS
โ”‚   โ””โ”€โ”€ text.py               # Plain text with wrapping
โ”œโ”€โ”€ optimizer/
โ”‚   โ”œโ”€โ”€ action_verbs.py       # 126 strong verbs, weak verb detection
โ”‚   โ””โ”€โ”€ job_matcher.py        # JD matching with keyword extraction
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ roles.py              # 10 role templates + blank
โ”œโ”€โ”€ output/
โ”‚   โ””โ”€โ”€ console.py            # Rich terminal rendering
โ””โ”€โ”€ wizard/
    โ””โ”€โ”€ interactive.py        # Step-by-step resume builder

๐Ÿงช Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=ats_resume_generator

# Run specific test file
pytest tests/test_scoring.py -v

205 tests covering models, parser, scoring engine, all generators, job matcher, templates, CLI commands, and demo data.


๐Ÿ› ๏ธ Development

# Clone and install in dev mode
git clone https://github.com/SanjaySundarMurthy/ats-resume-generator.git
cd ats-resume-generator
pip install -e ".[dev]"

# Run linter
ruff check .

# Run tests
pytest -v

๐Ÿ“„ License

MIT License โ€” see LICENSE for details.


๐Ÿ‘ค Author

Sanjay S โ€” Senior DevOps Engineer


โญ Star this repo if it helped you land an interview!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ats_resume_generator-1.0.0.tar.gz (53.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ats_resume_generator-1.0.0-py3-none-any.whl (53.9 kB view details)

Uploaded Python 3

File details

Details for the file ats_resume_generator-1.0.0.tar.gz.

File metadata

  • Download URL: ats_resume_generator-1.0.0.tar.gz
  • Upload date:
  • Size: 53.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for ats_resume_generator-1.0.0.tar.gz
Algorithm Hash digest
SHA256 29d8af5d8746bbcc9c3446c4337b8bd2d9872c470277c59d57f022e98952e84a
MD5 cb8705e71b18170610e3d5ef72b2c3d6
BLAKE2b-256 d8fe8fab0746018943f46f02830edd7076f09673922dad5e4f2d16818229982a

See more details on using hashes here.

File details

Details for the file ats_resume_generator-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ats_resume_generator-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05c4df582cd11e214166332023e57c0c2a3befafb1d104d50b36e434fc5353a5
MD5 a3fca0658989a318d8e268d7fa74ac63
BLAKE2b-256 2a12947d72098d0692412b0c64ca783d5d6c9b16e0e1ef6858c1b0ca43c7ec27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page