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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file resumake-3.1.6.tar.gz.

File metadata

  • Download URL: resumake-3.1.6.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for resumake-3.1.6.tar.gz
Algorithm Hash digest
SHA256 9e8799dca05bdd8ed732819702dfbe6af076a92e19c9327eacd58e47e39616d8
MD5 a0e6f8411dd3c9b8749d6967d1b416a3
BLAKE2b-256 42e5bb4adbdadbb5f094ba0b010ea4052b91023587ca7598bbcbb0fdda737c89

See more details on using hashes here.

File details

Details for the file resumake-3.1.6-py3-none-any.whl.

File metadata

  • Download URL: resumake-3.1.6-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for resumake-3.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 298f8a1df4cb79ed806d5279052297a0b039359902538fa5cdcd87b6f6839a2f
MD5 171866fd155ba8173c2c2654598717c9
BLAKE2b-256 468fb5c7131458385be7c725df394f5ba3b7989b0e94582eb6f095493f50ca99

See more details on using hashes here.

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