Skip to content
/ pysume Public

Resume generation tool based using python and toml

License

Notifications You must be signed in to change notification settings

nopsail/pysume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PySume - Resume Generator

A Python-based resume generator that creates beautiful HTML and PDF resumes from TOML data using Jinja2 templates.

Features

  • 10 Resume Templates: 5 light themes + 5 dark themes
  • HTML & PDF Output: Generate both formats for easy distribution
  • Responsive Design: Works on desktop, tablet, and mobile
  • Print-Friendly: Optimized for both screen and print
  • Customizable: Easy to modify templates and add new styles

Quick Start

  1. Install Dependencies:

    # Install all dependencies (including optional PDF support)
    pip install -r requirements.txt
    
    # Or install manually
    pip install jinja2 weasyprint

    Note: This project requires Python 3.11+ (uses built-in tomllib).

  2. Generate Resumes:

    python pysume.py resume.toml

    The script requires the path to your TOML resume file as an argument.

  3. View Results:

    • HTML files: resumes/resume_*.html
    • PDF files: resumes/resume_*.pdf (if WeasyPrint installed)

Available Templates

Light Themes

  • Default: Colorful Bootstrap design with gradients
  • Minimal: Clean, minimalist design
  • Corporate: Professional business style
  • Creative: Modern, vibrant design with animations
  • Compact: Single-page optimized layout

Dark Themes

  • Default Dark: Dark version of the default template
  • Minimal Dark: Dark minimalist design
  • Corporate Dark: Professional dark theme
  • Creative Dark: Vibrant dark design with effects
  • Compact Dark: Dark single-page layout

Customization

Adding New Templates

  1. Create a new template file in templates/
  2. Add it to the templates dictionary in pysume.py
    • Note: If your template filename contains dark (e.g., resume_template_minimal_dark.html), it will automatically trigger dark-theme CSS overrides in the generated PDF and HTML for that template.
  3. Run the script to generate your HTML and PDF resumes.

File Structure

pysume/
├── templates/           # Jinja2 template files
├── resumes/             # Generated HTML and PDF files
├── examples/            # Example resume input files
├── pysume.py            # Main generation script
├── requirements.txt     # Python dependencies
├── resume.toml          # Your resume data (create from example)
├── resume_example.toml  # Example resume template
└── README.md            # Project documentation (this file)

Dependencies

  • Required:
    • jinja2 - Template engine
    • tomllib - TOML parser (Python 3.11+ built-in)
  • Optional:
    • weasyprint - PDF generation

See requirements.txt for specific versions.

Python Version: Python 3.11+ is required (for built-in tomllib support). Use tomli if you want to run this on a version < 3.11 for some reason.

Troubleshooting

PDF Generation Issues

  • Linux: Install system dependencies (pango, harfbuzz, etc.)
  • macOS: Install via Homebrew: brew install pango
  • Windows: Should work out of the box

Template Issues

  • Check that template files are in the templates/ folder
  • Verify Jinja2 syntax in templates
  • Ensure all required data fields are present in your TOML file

Usage Issues

  • Make sure you provide the TOML file path as an argument: python pysume.py <path/to/resume.toml>
  • Verify the TOML file path is correct and the file exists

Known Issues

  • Template Color Issues: Some templates may have color schemes that don't render well or have poor contrast. If you encounter this, try a different template or modify the template's CSS directly.

  • PDF Generation Problems: Some templates may break or render incorrectly when converted to PDF format. This is often due to:

    • Complex CSS features not supported by WeasyPrint
    • Advanced animations or transitions
    • Certain layout properties that don't translate well to PDF

    Workaround: If a template fails to generate a PDF, try using the HTML version instead, or use your browser's print-to-PDF feature on the HTML file.

About

Resume generation tool based using python and toml

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •