API Reference¶
RenderCV is a Typst-based Python package with a command-line interface (CLI) that allows you to version-control your CV/resume as source code.
In this section, you can find how RenderCV's components are structured and how they interact with each other. The flowchart below illustrates the general operations of RenderCV.
flowchart TD
subgraph rendercv.data
A[YAML Input File] --parsing with ruamel.yaml package--> B(Python Dictionary)
B --validation with pydantic package--> C((Pydantic Object))
end
subgraph rendercv.themes
C --> AA[(Jinja2 Templates)]
end
AA --> D
AA --> E
subgraph rendercv.renderer
E[Markdown File] --markdown package--> K[HTML FIle]
D[Typst File] --typst package--> L[PDF File]
D --typst package--> Z[PNG Files]
end
apipackage contains the functions to create a clean and simple API for RenderCV.functions.pymodule contains the basic functions that are used to interact with RenderCV.
clipackage contains the command-line interface (CLI) related code for RenderCV.commands.pymodule contains the CLI commands.printer.pymodule contains the functions and classes that are used to print nice-looking messages to the terminal.utilities.pymodule contains utility functions that are required by the CLI.
datapackage contains classes and functions to parse and validate a YAML input file.modelspackage contains the Pydantic data models, validators, and computed fields that are used in RenderCV.computers.pymodule contains functions that compute some properties based on the input data.base.pymodule contains the base data model for the other data models.entry_types.pymodule contains the data models of the available entry types in RenderCV.curriculum_vitae.pymodule contains the data model of thecvfield of the input file.design.pymodule contains the data model of thedesignfield of the input file.locale.pymodule contains the data model of thelocalefield of the input file.rendercv_data_model.pymodule contains theRenderCVDataModeldata model, which is the main data model that defines the whole input file structure.
generator.pymodule contains the functions for generating the JSON Schema of the input data format and a sample YAML input file.reader.pymodule contains the functions that are used to read the input files.
rendererpackage contains the necessary classes and functions for generating the output files from theRenderCVDataModelobject.renderer.pymodule contains the necessary functions for rendering Typst, PDF, Markdown, HTML, and PNG files from the data model.templater.pymodule contains the necessary classes and functions for templating the Typst and Markdown files from the data model.
themespackage contains the built-in themes of RenderCV.options.pymodule contains the standard data models for built-in Typst themes' design optionsclassicpackage contains theclassictheme templates and data models for its design options.engineeringresumespackage contains theengineeringresumestheme templates and data models for its design options.sb2novpackage contains thesb2novtheme templates and data models for its design options.moderncvpackage contains themoderncvtheme templates and data models for its design options.engineeringclassicpackage contains theengineeringclassictheme templates and data models for its design options.