Skip to main content

Generate ATS-optimized consulting-style resumes from PDFs, LinkedIn, or plain text

Project description

Resume Generator

PyPI version Python versions License: MIT

Generate ATS-optimized, consulting-style resumes from PDFs, LinkedIn profiles, or plain text with professional Wharton/Harvard template formatting.

Features

  • Multi-source parsing: PDF, LinkedIn, plain text
  • ATS optimization: Extract keywords from job descriptions
  • Professional formatting: Wharton/Harvard consulting template
  • Self-audit system: Validates length, tone, keywords, and metrics
  • python-docx output: Properly formatted .docx files

Installation

pip install resume-generator

Quick Start

Generate a Resume in One Line

from resume_generator import generate_resume

generate_resume(
    resume_text="John Doe\nSoftware Engineer at Tech Corp...",
    job_description="Looking for Python developer with AWS experience...",
    output_path="my_resume.docx"
)

Full API Usage

from resume_generator import ResumeBuilder

# Create builder and load resume
builder = ResumeBuilder()
builder.add_resume_from_text("""
John Doe
San Francisco, CA | john@email.com | (555) 123-4567

EDUCATION
Stanford University, Stanford, CA
Bachelor of Science in Computer Science, GPA: 3.8
2018 - 2022

EXPERIENCE
Tech Corp, San Francisco, CA
Software Engineer, June 2022 - Present
- Developed new features for the main product
- Maintained backend services
- Improved system performance
""")

# Add job description for ATS optimization
builder.add_job_description("""
Senior Software Engineer
Required: Python, AWS, distributed systems, 5+ years experience
""")

# Check keyword match
print(builder.check_keyword_match())

# Audit before generating
audit = builder.audit()
print(audit["summary"])

# Generate the resume
output_path = builder.generate("output_resume.docx")
print(f"Generated: {output_path}")

Parse from PDF

from resume_generator import ResumeBuilder

builder = ResumeBuilder()
builder.add_resume_from_pdf("path/to/your/resume.pdf")
builder.add_job_description("Job description text...")
builder.generate("optimized_resume.docx")

Command-Line Interface

# Install with CLI support
pip install resume-generator

# Generate from text
resume-gen --resume "Your experience text..." --output resume.docx

# Generate from PDF with job description
resume-gen --resume resume.pdf --job job.txt --output resume.docx

# Audit only
resume-gen --resume resume.pdf --audit-only

API Reference

ResumeBuilder

Method Description
add_resume_from_text(text) Parse resume from plain text
add_resume_from_pdf(path) Parse resume from PDF file
add_job_description(text) Add job description for ATS
enhance_bullets(role_type) Enhance bullets with metrics
audit() Perform quality audit
generate(path) Generate .docx file
get_keywords() Get ATS keywords
check_keyword_match() Check keyword coverage

generate_resume (convenience function)

generate_resume(
    resume_text: str,
    job_description: Optional[str] = None,
    output_path: str = "resume.docx",
    enhance: bool = True
) -> str

Formatting Specifications

Generated resumes follow strict consulting template:

Setting Value
Paper 8.5" x 11"
Margins 0.5" all sides
Font Times New Roman, 11pt
Spacing Single (1.0)
Max Lines ~45 (1 page)

Self-Audit Criteria

Every resume passes through a 4-point audit:

  1. Length: Must fit within ~45 lines
  2. Tone: No AI/weak phrases
  3. ATS: 5+ keyword matches
  4. Impact: Metrics in every bullet

Example: Bullet Enhancement

Before After
"Responsible for backend" "Architected microservices handling 10M+ requests, reducing latency 40%"
"Helped improve performance" "Optimized queries reducing response time 25% during peak"

Development

# Clone repository
git clone https://github.com/yourusername/resume-generator
cd resume-generator

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

License

MIT License - see LICENSE file for details.

Contributing

Contributions welcome! Please open an issue or submit a PR.

Support

For issues and feature requests, please visit: https://github.com/yourusername/resume-generator/issues

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_builder-0.1.0.tar.gz (34.5 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_builder-0.1.0-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

Details for the file ats_resume_builder-0.1.0.tar.gz.

File metadata

  • Download URL: ats_resume_builder-0.1.0.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for ats_resume_builder-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bd6fecd95162efec6c29cc8fdc5cf54561cac5dbc2598c00676214fd419eefe0
MD5 4b8a11d040884be5984080c9a4988d87
BLAKE2b-256 148584d491fa2f7345ad1e1027789c824a12f7bed20cb1310d138589811c73c2

See more details on using hashes here.

File details

Details for the file ats_resume_builder-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ats_resume_builder-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70e31ab0a41283bf7b7a989dd59d6143d5ab48995c42b55cd1a6822703b07738
MD5 229a637dd076f56033b705cba43955bc
BLAKE2b-256 60c70e9711a69475809ce26a612531a0828b9e221440bb586c19acff5621e8ce

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