resumate


Nameresumate JSON
Version 0.1.3 PyPI version JSON
download
home_pagehttps://github.com/chris17453/resumate/
SummaryBeautiful PDF resumes from YAML - for humans, not ATS
upload_time2025-08-20 12:24:04
maintainerNone
docs_urlNone
authorCharles Watkins
requires_python>=3.7
licenseMIT
keywords resume cv pdf yaml generator template beautiful professional
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 📄 Resumate - Because Your Resume Deserves Better Than MS Word

[![Python](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Resume Power Level](https://img.shields.io/badge/Resume%20Power%20Level-Over%209000!-red.svg)]()

> *"I spent 25 years mastering technology, then realized my resume still looked like it was made in 1995. So I fixed that."* - Chris, probably

## 🚀 What The Hell Is This?

Resumate is a Python-powered resume generator that treats your career like the engineering project it deserves to be. No more fighting with Word margins at 2 AM. No more "why did my bullet points just explode?" Just clean YAML in, gorgeous PDF out.

Built by someone who:
- ✅ Automated 20,000+ VMs
- ✅ Managed enterprise infrastructure  
- ✅ **Physically mails resumes to executives** (yes, in 2025)
- ❌ Refused to manually format another resume ever again

## ✨ Features That Actually Matter

- **YAML-Powered**: Your resume data in clean, version-controllable YAML
- **Template Engine**: Multiple templates from classic to "wow, how'd you do that?"
- **Skill Ratings**: Visual skill bars because lists are boring
- **Icon Support**: 2000+ tech icons built-in, plus use ANY custom SVG
- **QR Codes**: For when you want to be *that* person (in a good way)
- **Two-Page Support**: Different layouts for page 1 and continuation pages
- **CI/CD Ready**: Generate resumes in your pipeline because why not?

## 🎯 Who Is This For?

- Engineers who version control everything (including their breakfast)
- People who think "just update your LinkedIn" is not a real answer
- Anyone who's ever lost formatting after saving a Word doc as PDF
- Folks who believe their resume should be as well-engineered as their code

## 🛠️ Installation

```bash
# From PyPI
pip install resumate

# From source (for the brave)
git clone https://github.com/chris17453/resumate.git
cd resumate
pip install -e .
```

## 🏃 Quick Start

```bash
# List available templates
resumate list_templates

# Generate your first resume
resumate generate_pdf my_resume.yaml --template Classic

# Or go wild with a custom template
resumate generate_pdf my_resume.yaml --template ./templates/cyberpunk-2077.yaml
```

## 📝 Resume YAML Structure

```yaml
header:
  name: Your Name
  position: Senior Code Wizard | Dragon Slayer | Coffee Drinker
  email: you@example.com
  phone: 555-0100
  location: The Cloud ☁️

summary:
  text: |
    I solve problems. Sometimes with code, sometimes with duct tape.
    Results may vary. No refunds.

experiences:
- role: Principal Chaos Engineer
  company: StartupThatWillTotallyMakeIt Inc.
  start: '2020-01-01'
  end: '2025-12-31'
  achievements:
  - Turned "it works on my machine" into "it works on every machine"
  - Reduced coffee consumption by 5% while increasing code output by 200%

skills:
- category: Languages I Speak
  skills:
  - name: Python
    svg: python      # Just use the name - we'll find the icon
    rating: 5
  - name: JavaScript
    svg: javascript  # 2000+ icons built-in
    rating: 4
  - name: Internal Tool
    svg: ./icons/internal.svg  # Or use your own SVG!
    rating: 3
```

## 🎨 Icons - Built-in and Bring Your Own

### 2000+ Icons Included (Under 60MB!)

We bundle **Font Awesome** and **Simple Icons** so you get instant access to virtually every tech logo and icon you need. Just use the name:

```yaml
skills:
- name: Docker
  svg: docker       # Finds Docker logo automatically
- name: Kubernetes
  svg: kubernetes   # Finds K8s logo
- name: Team Lead
  svg: users        # Font Awesome icons work too
```

### Custom Icons? Just Drop The Path!

Got a special icon? Company logo? That perfect SVG you found? **Just use the file path**:

```yaml
- name: Secret Project
  svg: ./my-icons/classified.svg           # Relative path
- name: Corporate Tool
  svg: /home/user/company/tool-icon.svg   # Absolute path
- name: FluentUI Icon
  svg: /opt/fluentui/assets/Trophy/SVG/ic_fluent_trophy_32_filled.svg
```

### Why Not FluentUI By Default?

We love FluentUI's colorful icons, but they're **several hundred MB**. We chose Font Awesome + Simple Icons to keep the package lean. But if you want those pretty FluentUI icons, just clone them and reference the paths!

### How Icon Resolution Works

When you write `svg: something`, Resumate searches in order:
1. **File exists?** → Uses it
4. **In Font Awesome?** → Uses it
3. **In Simple Icons?** → Uses it  
5. **Can't find it?** → Logs warning, continues

## 🎨 Templates

### Built-in Templates

- **Classic**: Professional two-column with header image
- **Minimal**: For when less is more
- **Tech**: Icon-heavy for the tech crowd
- **Executive**: When you need to look expensive

### Custom Templates

Templates are just YAML files. Make your own! Add comic sans if you dare! We won't judge (much).

## 🔥 Advanced Features

### Skill Ratings with Icons

```yaml
skills:
- category: Cloud Juggling
  skills:
  - name: AWS
    svg: amazonwebservices  # or just 'aws'
    rating: 5  # I dream in CloudFormation
  - name: Azure
    svg: azure  
    rating: 3  # When the client insists
  - name: Our Platform
    svg: ./company/platform-logo.svg  # Custom icon
    rating: 5
```

### Dynamic QR Codes

```yaml
# Embed your LinkedIn, GitHub, or Rick Astley
qr_codes:
  linkedin: https://linkedin.com/in/yourprofile
  github: https://github.com/yourusername
  secret: https://www.youtube.com/watch?v=dQw4w9WgXcQ
```

## 🤝 Contributing

Found a bug? Want to add a feature? Think the README needs more emojis? 

1. Fork it
2. Branch it (`git checkout -b feature/more-cowbell`)
3. Commit it (`git commit -am 'Add more cowbell'`)
4. Push it (`git push origin feature/more-cowbell`)
5. PR it

## 🐛 Known Issues

- Doesn't fix your actual job search
- May cause excessive confidence in interviews
- Side effects include wanting to automate everything
- Not responsible for recruiters who can't handle the awesomeness

## 📖 Documentation

Full docs at [coming soon] - currently just this README and good vibes.

## 🙏 Credits

Built with:
- ReportLab - The PDF wizardry
- PyYAML - Because JSON is for machines
- SVGLib - Making icons work since forever
- Coffee - The real MVP

Icons from:
- Font Awesome - Everything else (2000+ icons)
- Simple Icons - The ones DevIcons missed
- Your imagination - Custom SVGs welcome!

## 📜 License

MIT - Use it, abuse it, just don't blame me when your resume is too good.

## 🚨 Disclaimer

This tool will not:
- Get you a job (that's on you)
- Fix your typos (use spell check)
- Make you taller (sorry)

This tool will:
- Make your resume look professional AF
- Save you hours of formatting hell
- Give you something to talk about in interviews ("Oh this? I built a custom resume generation pipeline...")

---

<div align="center">
  
**Built with 🤬 and ☕ by Chris Watkins**

*Because sometimes you need to engineer the hell out of a simple problem*

[⭐ Star this repo](https://github.com/chris17453/resumate) | [🐛 Report Bug](https://github.com/chris17453/resumate/issues) | [🎉 Request Feature](https://github.com/chris17453/resumate/issues)

</div>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/chris17453/resumate/",
    "name": "resumate",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "resume cv pdf yaml generator template beautiful professional",
    "author": "Charles Watkins",
    "author_email": "chris@watkinslabs.com",
    "download_url": "https://files.pythonhosted.org/packages/e8/a5/073ec0fe46f9e69ccd544b66f421602dd61cbaad8539dcf178c1380f5515/resumate-0.1.3.tar.gz",
    "platform": null,
    "description": "# \ud83d\udcc4 Resumate - Because Your Resume Deserves Better Than MS Word\n\n[![Python](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Resume Power Level](https://img.shields.io/badge/Resume%20Power%20Level-Over%209000!-red.svg)]()\n\n> *\"I spent 25 years mastering technology, then realized my resume still looked like it was made in 1995. So I fixed that.\"* - Chris, probably\n\n## \ud83d\ude80 What The Hell Is This?\n\nResumate is a Python-powered resume generator that treats your career like the engineering project it deserves to be. No more fighting with Word margins at 2 AM. No more \"why did my bullet points just explode?\" Just clean YAML in, gorgeous PDF out.\n\nBuilt by someone who:\n- \u2705 Automated 20,000+ VMs\n- \u2705 Managed enterprise infrastructure  \n- \u2705 **Physically mails resumes to executives** (yes, in 2025)\n- \u274c Refused to manually format another resume ever again\n\n## \u2728 Features That Actually Matter\n\n- **YAML-Powered**: Your resume data in clean, version-controllable YAML\n- **Template Engine**: Multiple templates from classic to \"wow, how'd you do that?\"\n- **Skill Ratings**: Visual skill bars because lists are boring\n- **Icon Support**: 2000+ tech icons built-in, plus use ANY custom SVG\n- **QR Codes**: For when you want to be *that* person (in a good way)\n- **Two-Page Support**: Different layouts for page 1 and continuation pages\n- **CI/CD Ready**: Generate resumes in your pipeline because why not?\n\n## \ud83c\udfaf Who Is This For?\n\n- Engineers who version control everything (including their breakfast)\n- People who think \"just update your LinkedIn\" is not a real answer\n- Anyone who's ever lost formatting after saving a Word doc as PDF\n- Folks who believe their resume should be as well-engineered as their code\n\n## \ud83d\udee0\ufe0f Installation\n\n```bash\n# From PyPI\npip install resumate\n\n# From source (for the brave)\ngit clone https://github.com/chris17453/resumate.git\ncd resumate\npip install -e .\n```\n\n## \ud83c\udfc3 Quick Start\n\n```bash\n# List available templates\nresumate list_templates\n\n# Generate your first resume\nresumate generate_pdf my_resume.yaml --template Classic\n\n# Or go wild with a custom template\nresumate generate_pdf my_resume.yaml --template ./templates/cyberpunk-2077.yaml\n```\n\n## \ud83d\udcdd Resume YAML Structure\n\n```yaml\nheader:\n  name: Your Name\n  position: Senior Code Wizard | Dragon Slayer | Coffee Drinker\n  email: you@example.com\n  phone: 555-0100\n  location: The Cloud \u2601\ufe0f\n\nsummary:\n  text: |\n    I solve problems. Sometimes with code, sometimes with duct tape.\n    Results may vary. No refunds.\n\nexperiences:\n- role: Principal Chaos Engineer\n  company: StartupThatWillTotallyMakeIt Inc.\n  start: '2020-01-01'\n  end: '2025-12-31'\n  achievements:\n  - Turned \"it works on my machine\" into \"it works on every machine\"\n  - Reduced coffee consumption by 5% while increasing code output by 200%\n\nskills:\n- category: Languages I Speak\n  skills:\n  - name: Python\n    svg: python      # Just use the name - we'll find the icon\n    rating: 5\n  - name: JavaScript\n    svg: javascript  # 2000+ icons built-in\n    rating: 4\n  - name: Internal Tool\n    svg: ./icons/internal.svg  # Or use your own SVG!\n    rating: 3\n```\n\n## \ud83c\udfa8 Icons - Built-in and Bring Your Own\n\n### 2000+ Icons Included (Under 60MB!)\n\nWe bundle **Font Awesome** and **Simple Icons** so you get instant access to virtually every tech logo and icon you need. Just use the name:\n\n```yaml\nskills:\n- name: Docker\n  svg: docker       # Finds Docker logo automatically\n- name: Kubernetes\n  svg: kubernetes   # Finds K8s logo\n- name: Team Lead\n  svg: users        # Font Awesome icons work too\n```\n\n### Custom Icons? Just Drop The Path!\n\nGot a special icon? Company logo? That perfect SVG you found? **Just use the file path**:\n\n```yaml\n- name: Secret Project\n  svg: ./my-icons/classified.svg           # Relative path\n- name: Corporate Tool\n  svg: /home/user/company/tool-icon.svg   # Absolute path\n- name: FluentUI Icon\n  svg: /opt/fluentui/assets/Trophy/SVG/ic_fluent_trophy_32_filled.svg\n```\n\n### Why Not FluentUI By Default?\n\nWe love FluentUI's colorful icons, but they're **several hundred MB**. We chose Font Awesome + Simple Icons to keep the package lean. But if you want those pretty FluentUI icons, just clone them and reference the paths!\n\n### How Icon Resolution Works\n\nWhen you write `svg: something`, Resumate searches in order:\n1. **File exists?** \u2192 Uses it\n4. **In Font Awesome?** \u2192 Uses it\n3. **In Simple Icons?** \u2192 Uses it  \n5. **Can't find it?** \u2192 Logs warning, continues\n\n## \ud83c\udfa8 Templates\n\n### Built-in Templates\n\n- **Classic**: Professional two-column with header image\n- **Minimal**: For when less is more\n- **Tech**: Icon-heavy for the tech crowd\n- **Executive**: When you need to look expensive\n\n### Custom Templates\n\nTemplates are just YAML files. Make your own! Add comic sans if you dare! We won't judge (much).\n\n## \ud83d\udd25 Advanced Features\n\n### Skill Ratings with Icons\n\n```yaml\nskills:\n- category: Cloud Juggling\n  skills:\n  - name: AWS\n    svg: amazonwebservices  # or just 'aws'\n    rating: 5  # I dream in CloudFormation\n  - name: Azure\n    svg: azure  \n    rating: 3  # When the client insists\n  - name: Our Platform\n    svg: ./company/platform-logo.svg  # Custom icon\n    rating: 5\n```\n\n### Dynamic QR Codes\n\n```yaml\n# Embed your LinkedIn, GitHub, or Rick Astley\nqr_codes:\n  linkedin: https://linkedin.com/in/yourprofile\n  github: https://github.com/yourusername\n  secret: https://www.youtube.com/watch?v=dQw4w9WgXcQ\n```\n\n## \ud83e\udd1d Contributing\n\nFound a bug? Want to add a feature? Think the README needs more emojis? \n\n1. Fork it\n2. Branch it (`git checkout -b feature/more-cowbell`)\n3. Commit it (`git commit -am 'Add more cowbell'`)\n4. Push it (`git push origin feature/more-cowbell`)\n5. PR it\n\n## \ud83d\udc1b Known Issues\n\n- Doesn't fix your actual job search\n- May cause excessive confidence in interviews\n- Side effects include wanting to automate everything\n- Not responsible for recruiters who can't handle the awesomeness\n\n## \ud83d\udcd6 Documentation\n\nFull docs at [coming soon] - currently just this README and good vibes.\n\n## \ud83d\ude4f Credits\n\nBuilt with:\n- ReportLab - The PDF wizardry\n- PyYAML - Because JSON is for machines\n- SVGLib - Making icons work since forever\n- Coffee - The real MVP\n\nIcons from:\n- Font Awesome - Everything else (2000+ icons)\n- Simple Icons - The ones DevIcons missed\n- Your imagination - Custom SVGs welcome!\n\n## \ud83d\udcdc License\n\nMIT - Use it, abuse it, just don't blame me when your resume is too good.\n\n## \ud83d\udea8 Disclaimer\n\nThis tool will not:\n- Get you a job (that's on you)\n- Fix your typos (use spell check)\n- Make you taller (sorry)\n\nThis tool will:\n- Make your resume look professional AF\n- Save you hours of formatting hell\n- Give you something to talk about in interviews (\"Oh this? I built a custom resume generation pipeline...\")\n\n---\n\n<div align=\"center\">\n  \n**Built with \ud83e\udd2c and \u2615 by Chris Watkins**\n\n*Because sometimes you need to engineer the hell out of a simple problem*\n\n[\u2b50 Star this repo](https://github.com/chris17453/resumate) | [\ud83d\udc1b Report Bug](https://github.com/chris17453/resumate/issues) | [\ud83c\udf89 Request Feature](https://github.com/chris17453/resumate/issues)\n\n</div>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Beautiful PDF resumes from YAML - for humans, not ATS",
    "version": "0.1.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/chris17453/resumate/issues",
        "Documentation": "https://github.com/chris17453/resumate",
        "Homepage": "https://github.com/chris17453/resumate/",
        "Source Code": "https://github.com/chris17453/resumate"
    },
    "split_keywords": [
        "resume",
        "cv",
        "pdf",
        "yaml",
        "generator",
        "template",
        "beautiful",
        "professional"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dc74a39cf33d02492c85d5f2adf26074adb2e786b6a3b849047a90a6cd9610ef",
                "md5": "36f46a587f0ebbde6b084c0b9a5039e1",
                "sha256": "86cfc5127d8e68cf9127a0ce6b3dd0e3bcb124db80e946896dc4f8f0ee6c3793"
            },
            "downloads": -1,
            "filename": "resumate-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "36f46a587f0ebbde6b084c0b9a5039e1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 5020874,
            "upload_time": "2025-08-20T12:24:02",
            "upload_time_iso_8601": "2025-08-20T12:24:02.508739Z",
            "url": "https://files.pythonhosted.org/packages/dc/74/a39cf33d02492c85d5f2adf26074adb2e786b6a3b849047a90a6cd9610ef/resumate-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e8a5073ec0fe46f9e69ccd544b66f421602dd61cbaad8539dcf178c1380f5515",
                "md5": "bbe2425d4adaa843f65532a4fcd731b8",
                "sha256": "7e0e96d347c841a8560a1eeea5ec03238bd6d0916c827032eb76ae562410a266"
            },
            "downloads": -1,
            "filename": "resumate-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "bbe2425d4adaa843f65532a4fcd731b8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 2922148,
            "upload_time": "2025-08-20T12:24:04",
            "upload_time_iso_8601": "2025-08-20T12:24:04.458272Z",
            "url": "https://files.pythonhosted.org/packages/e8/a5/073ec0fe46f9e69ccd544b66f421602dd61cbaad8539dcf178c1380f5515/resumate-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-20 12:24:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "chris17453",
    "github_project": "resumate",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "resumate"
}
        
Elapsed time: 0.81431s