MCPcopy
hub / github.com/rendercv/rendercv

github.com/rendercv/rendercv @v2.8 sqlite

repository ↗ · DeepWiki ↗ · release v2.8 ↗
899 symbols 3,713 edges 154 files 223 documented · 25%
README

RenderCV

Resume builder for academics and engineers, deployed at rendercv.com

test coverage docs pypi-version pypi-downloads

Write your CV or resume as YAML, then run RenderCV,

rendercv render John_Doe_CV.yaml

and get a PDF with perfect typography.

With RenderCV, you can:

  • Version-control your CV — it's just text.
  • Focus on content — don't worry about the formatting.
  • Get perfect typography — consistent alignment and spacing, handled for you.

A YAML file like this:

cv:
  name: John Doe
  location: San Francisco, CA
  email: john.doe@email.com
  website: https://rendercv.com/
  social_networks:
    - network: LinkedIn
      username: rendercv
    - network: GitHub
      username: rendercv
  sections:
    Welcome to RenderCV:
      - RenderCV reads a CV written in a YAML file, and generates a PDF with professional typography.
      - See the [documentation](https://docs.rendercv.com) for more details.
    education:
      - institution: Princeton University
        area: Computer Science
        degree: PhD
        date:
        start_date: 2018-09
        end_date: 2023-05
        location: Princeton, NJ
        summary:
        highlights:
          - "Thesis: Efficient Neural Architecture Search for Resource-Constrained Deployment"
          - "Advisor: Prof. Sanjeev Arora"
          - NSF Graduate Research Fellowship, Siebel Scholar (Class of 2022)
    ...

becomes one of these PDFs. Click on the images to preview.

Classic Theme Example of RenderCV Engineeringresumes Theme Example of RenderCV Sb2nov Theme Example of RenderCV
Moderncv Theme Example of RenderCV Engineeringclassic Theme Example of RenderCV Harvard Theme Example of RenderCV
Ink Theme Example of RenderCV Opal Theme Example of RenderCV Ember Theme Example of RenderCV

JSON Schema

RenderCV's JSON Schema lets you fill out the YAML interactively, with autocompletion and inline documentation.

JSON Schema of RenderCV

Extensive Design Options

You have full control over every detail.

design:
  theme: classic
  page:
    size: us-letter
    top_margin: 0.7in
    bottom_margin: 0.7in
    left_margin: 0.7in
    right_margin: 0.7in
    show_footer: true
    show_top_note: true
  colors:
    body: rgb(0, 0, 0)
    name: rgb(0, 79, 144)
    headline: rgb(0, 79, 144)
    connections: rgb(0, 79, 144)
    section_titles: rgb(0, 79, 144)
    links: rgb(0, 79, 144)
    footer: rgb(128, 128, 128)
    top_note: rgb(128, 128, 128)
  typography:
    line_spacing: 0.6em
    alignment: justified
    date_and_location_column_alignment: right
    font_family: Source Sans 3
  # ...and much more

Design Options of RenderCV

[!TIP] Want to set up a live preview environment like the one shown above? See how to set up VS Code for RenderCV.

Strict Validation

No surprises. If something's wrong, you'll know exactly what and where. If it's valid, you get a perfect PDF.

Strict Validation Feature of RenderCV

Any Language

Fill out the locale field for your language.

locale:
  language: english
  last_updated: Last updated in
  month: month
  months: months
  year: year
  years: years
  present: present
  month_abbreviations:
    - Jan
    - Feb
    - Mar
  ...

AI Agent Skill

Let AI coding agents create and edit your CV. Install the RenderCV skill:

npx skills add rendercv/rendercv-skill

Works with any AI agent that supports the skills standard. The skill is auto-generated from RenderCV's source code and evaluated with promptfoo against RenderCV's own Pydantic validation pipeline. See the documentation for details.

Get Started

Install RenderCV (Requires Python 3.12+):

pip install "rendercv[full]"

Create a new CV yaml file:

rendercv new "John Doe"

Edit the YAML, then render:

rendercv render "John_Doe_CV.yaml"

For more details, see the user guide.

Core symbols most depended-on inside this repo

dictionary_to_yaml
called by 63
src/rendercv/schema/sample_generator.py
read_yaml
called by 27
src/rendercv/schema/yaml_reader.py
build_rendercv_dictionary
called by 22
src/rendercv/schema/rendercv_model_builder.py
build_rendercv_dictionary_and_model
called by 22
src/rendercv/schema/rendercv_model_builder.py
create_variant_pydantic_model
called by 22
src/rendercv/schema/variant_pydantic_model_generator.py
render_entry_templates
called by 21
src/rendercv/renderer/templater/entry_templates_from_input.py
parse_connections
called by 15
src/rendercv/renderer/templater/connections.py
get_date_object
called by 13
src/rendercv/schema/models/cv/entries/bases/entry_with_complex_fields.py

Shape

Method 416
Function 268
Class 188
Route 27

Languages

Python100%

Modules by API surface

tests/schema/test_variant_pydantic_model_generator.py79 symbols
tests/schema/test_rendercv_model_builder.py54 symbols
tests/renderer/templater/test_entry_templates_from_input.py45 symbols
tests/cli/test_app.py41 symbols
tests/renderer/templater/test_connections.py34 symbols
tests/cli/render_command/test_progress_panel.py32 symbols
tests/schema/models/test_path.py28 symbols
src/rendercv/schema/models/design/classic_theme.py25 symbols
tests/cli/render_command/test_run_rendercv.py23 symbols
tests/schema/test_sample_generator.py22 symbols
tests/renderer/templater/test_model_processor.py21 symbols
tests/schema/test_override_dictionary.py18 symbols

Dependencies from manifests, versioned

Jinja23.1.6 · 1×
markdown3.10.2 · 1×
phonenumbers9.0.24 · 1×
pydantic-extra-types2.11.0 · 1×

For agents

$ claude mcp add rendercv \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact