Metadata-Version: 2.4
Name: ats-resume-builder
Version: 0.1.0
Summary: Generate ATS-optimized consulting-style resumes from PDFs, LinkedIn, or plain text
Author-email: Rishab Mohandoss <rishabmohandoss@gmail.com>
Maintainer-email: Rishab Mohandoss <rishabmohandoss@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/yourusername/resume-generator
Project-URL: Documentation, https://github.com/yourusername/resume-generator#readme
Project-URL: Repository, https://github.com/yourusername/resume-generator.git
Project-URL: Issues, https://github.com/yourusername/resume-generator/issues
Project-URL: Changelog, https://github.com/yourusername/resume-generator/blob/main/CHANGELOG.md
Keywords: resume,cv,job,ats,career,job-search,document-generation,python-docx
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Other Audience
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business
Classifier: Topic :: Text Processing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-docx>=1.1.0
Requires-Dist: pdfplumber>=0.11.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: lxml>=5.0.0
Requires-Dist: requests>=2.31.0
Requires-Dist: python-dateutil>=2.8.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Provides-Extra: mcp
Requires-Dist: mcp>=1.0.0; extra == "mcp"
Requires-Dist: aiofiles>=23.2.1; extra == "mcp"
Dynamic: license-file

# Resume Generator

[![PyPI version](https://badge.fury.io/py/resume-generator.svg)](https://pypi.org/project/resume-generator/)
[![Python versions](https://img.shields.io/pypi/pyversions/resume-generator.svg)](https://pypi.org/project/resume-generator/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/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

```bash
pip install resume-generator
```

## Quick Start

### Generate a Resume in One Line

```python
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

```python
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

```python
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

```bash
# 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)

```python
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

```bash
# 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
