Generate CV from YAML file
Go to file
Sina Atalay 2249ee8ec9 update example pdf 2023-10-22 17:37:09 +02:00
.github/workflows update ci.yaml names 2023-10-16 18:06:19 +02:00
docs docs: update index.md 2023-10-22 17:33:49 +02:00
rendercv improve logger 2023-10-22 17:02:25 +02:00
tests check custom link_text 2023-10-22 16:39:17 +02:00
.gitignore make run_rendercv.py work 2023-10-18 20:00:41 +02:00
John_Doe_CV.pdf update example pdf 2023-10-22 17:37:09 +02:00
John_Doe_CV.yaml update examples 2023-10-22 16:37:59 +02:00
LICENSE Create LICENSE 2023-09-13 19:06:59 +02:00
README.md update README.md 2023-10-22 17:31:54 +02:00
mkdocs.yaml update docs 2023-10-20 22:09:19 +02:00
pyproject.toml update version number 2023-10-22 16:37:39 +02:00
requirements.txt user typer for CLI 2023-10-20 19:34:06 +02:00
run_rendercv.py fix tests 2023-10-20 20:07:19 +02:00
schema.json update schema.json 2023-10-19 21:02:03 +02:00

README.md

RenderCV

CI coverage pypi pypi-downloads

RenderCV is a Python application that creates a \LaTeX CV as a PDF from a JSON/YAML input file. Currently, it only supports one theme (classic). An example can be seen here. More themes are planned to be supported in the future.

What does it do?

  • It parses a YAML (or JSON) file that looks like this:
cv:
  name: John Doe
  label: Mechanical Engineer
  location: Geneva, Switzerland
  email: johndoe@example.com
  phone: "+33749882538"
  website: https://example.com
  social_networks:
    - network: GitHub
      username: johndoe
  education:
    - institution: My University
      url: https://example.com
      area: Mechanical Engineering
      study_type: BS
      location: Geneva, Switzerland
      start_date: "2017-09-01"
      end_date: "2023-01-01"
      transcript_url: https://example.com
      gpa: 3.10/4.00
      highlights:
        - "Class rank: 10 of 62"
    - institution: The University of Texas at Austin
      url: https://utexas.edu
      area: Mechanical Engineering, Student Exchange Program
      location: Austin, TX, USA
      start_date: "2021-08-01"
      end_date: "2022-01-15"
  work_experience:
    - company: AmIACompany
      position: Summer Intern
      location: Istanbul, Turkey
      url: https://example.com
      start_date: "2022-06-15"
      end_date: "2022-08-01"
      highlights:
        - AmIACompany is a technology company that provides
          web-based engineering applications that enable the
          simulation and optimization of products and
          manufacturing tools.
        - Modeled and simulated a metal-forming process deep
          drawing using finite element analysis with
          open-source software called CalculiX.
  • Then, it validates the input, such as checking if the dates are consistent, checking if the URLs are correct, giving a warning if there are any spelling mistakes, etc.
  • Then, it creates a \LaTeX file.
  • Finally, it renders the \LaTeX file to generate the PDF, and you don't need \LaTeX installed on your PC because RenderCV comes with TinyTeX.

Quick Start Guide

  1. Install Python (3.10 or newer).
  2. Run the command below to install RenderCV.
    pip install rendercv
    
  3. Run the command below to generate a sample input file (Full_Name_CV.yaml). The file will be generated in the current working directory.
    rendercv new "Full Name"
    
  4. Edit the contents of the Full_Name_CV.yaml file.
  5. Run the command below to generate your \LaTeX CV.
    rendercv render Full_Name_CV.yaml
    

Detailed User Guide and Documentation

A more detailed user guide can be found here.

I documented the whole code with docstrings and used comments throughout the code. The code documentation can be found here.

Contributing

All contributions to RenderCV are welcome, especially adding new \LaTeX themes.