Skip to main content

Generate resume using data representation objects in Python

Project description

Resumake

Generate resume using data representation objects in Python

Dependencies

  • python >= 3.10
  • pandoc
  • wkhtmltopdf
  • poppler-utils
  • fonts-roboto (or install the Roboto font family to your system)

Installation

Install package resumake from PyPI:

python3 -m pip install resumake

Usage

  • create .py file
  • import all from resumake.components:
    from resumake.components import *
    
  • create author variable and assign it an Author object
  • fill Author object parameters with info (see resume/cybardev.py)
  • run resumake.builder following examples below

Output of python3 -m resumake.builder -h:

usage: resumake.builder [-h] [-s SCHEMA] [-o OUTPUT] [-t HTML] [-c CSS]
                        [-m SIZE]
                        RESUME

Generate a resume from a given Python file containing data representation
objects

positional arguments:
  RESUME                path to the Python file containing the resume data

options:
  -h, --help            show this help message and exit
  -s SCHEMA, --schema SCHEMA
                        order of sections to display in the resume
  -o OUTPUT, --output OUTPUT
                        path to the output directory
  -t HTML, --template HTML
                        path to the HTML template file
  -c CSS, --css CSS     path to the CSS template file
  -m SIZE, --margin SIZE
                        top margin size

Examples

  • see default help message

    python3 -m resumake.builder -h
    
  • generate resume from example.py to current directory

    python3 -m resumake.builder example.py
    
  • generate resume from example.py to build/ directory

    python3 -m resumake.builder example.py -o ./build
    
  • generate resume from example.py to build/ directory using custom html and css templates

    python3 -m resumake.builder example.py -o ./build -t custom.html -c custom.css
    
  • generate resume from example.py with custom section order and omitting a default section (projects)

    python3 -m resumake.builder example.py -s "education, experience, skills"
    

Using GitHub Actions

Automatically generate your resume and publish it as a website

  • fork this repo
  • navigate to your fork
  • edit .github/workflows/update-resume.yml according to the TODO comments inside the file
  • rename resume/cybardev.py to have your GitHub username instead of cybardev
  • modify the renamed Python file to include your resume info
  • push changes to your fork

Extras

  • check Actions tab of your fork for workflow run details
  • configure custom domain (if desired) from Settings > Pages
  • to change order of sections or show/hide sections in resume, edit .github/workflows/update-resume.yml according to the TODO comment inside the file

Using Docker Container

Dependencies

  • docker
    • Docker Engine, at least; Docker Desktop optional

Installation

docker pull cybardev/resumake

Usage

  • make a resume directory at a suitable location
  • place resume .py script file in the resume directory
  • run the containerized application from within the resume directory as such:
    docker run --rm -v $PWD:/app/resume cybardev/resumake [args] <resume.py>
    
    • replace <resume.py> with the name of your resume .py script
    • for available [args], see main Usage and Examples sections above, or run it with the -h flag
      • NOTE: the -o flag shouldn't be used for the containerized application as it controls where the files are generated inside the container, not on your computer (move them manually after generation)
      • for template files, place them alongside the .py resume script and refer to them by their basename
  • resume .md, .pdf, and .png files will be generated adjacent to the .py file

PS: Since the command is so tedious to type, I suggest setting up a shell alias or function for ease of use. Make sure to replace $PWD with absolute path to the resume directory.

Sample Output

Source: resume/cybardev.py

resume

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

resumake-3.1.6.tar.gz (21.3 kB view hashes)

Uploaded Source

Built Distribution

resumake-3.1.6-py3-none-any.whl (23.1 kB view hashes)

Uploaded Python 3

Supported by

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