Skip to content

achugr/rendercvcl

 
 

Repository files navigation

RenderCV

CI coverage pypi-version 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 PDF can be seen here. More themes are planned to be supported in the future.

Difference from the main project

The key difference is that this fork allows to build a cover letter in addition to a CV. The contribution does not fit original project strategy to stay focused on just one thing, which is totally appreciated. Plus, functionality is integrated in a very utilitarian way, where the separation is done at the presentation layer, which is conceptually not very clear, because CV and cover letter are different things.

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
    - network: LinkedIn
      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** (markdown is
          supported) 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.
  cover_letter:
    company: DreamTeamInc.
    body: Your cover letter here.
  • Then, it validates the input, such as checking if the dates are consistent, checking if the URLs are correct, 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.

RenderCV example

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 API reference can be found here.

Contributing

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

About

LaTeX CV generator from a YAML/JSON input file.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.8%
  • Jinja 16.7%
  • TeX 8.5%