A modern, cross-platform resume builder powered by YAML and LaTeX. Edit your resume in YAML, generate beautiful PDFs, and preview instantly with a GUI or automate builds via CLI.
- YAML-based resume editing: All resume content is managed in
resume.yaml. - Automatic PDF generation: Converts YAML to LaTeX and compiles to PDF.
- Live GUI editor: Edit YAML and preview PDF instantly (Tkinter-based, with PDF preview).
- CLI support: Automate builds and integrate into CI/CD pipelines.
- Cross-platform: Works on Linux, macOS, and Windows.
- Custom LaTeX templates: Easily swap
.clsfiles for different resume styles. - Binary builds: Create standalone CLI/GUI executables for easy distribution.
-
Install prerequisites
- Python 3.13+
- XeTeX (or LuaTeX)
- uv for Python package management
-
Install Python dependencies
uv pip install -r pyproject.toml
-
Edit your resume
- Directly edit
resume.yamlor use the GUI editor:
uv run python3 -m latexcv.main
- Directly edit
-
Build your PDF resume
- Recommended (uv):
uv run python3 -m latexcv.main --yaml resume.yaml --tex resume.tex --cls cls/deedy.cls
-
Build a cross-platform binary (CLI/GUI)
uv pip install pyinstaller pyinstaller src/latexcv/main.py --onefile --name latexcv
- Output:
dist/latexcv(Linux/macOS) ordist/latexcv.exe(Windows)
- Output:
-
Run the binary
- GUI mode (default):
./dist/latexcv
- CLI mode:
./dist/latexcv --yaml resume.yaml --tex resume.tex --cls cls/deedy.cls
-
Clean build artifacts Remove build artifacts manually:
rm -rf build dist *.spec
- Requires system
tklibrary and Python packages (pdf2image,Pillow). - Run:
uv run python3 -m latexcv.main(or use the binary). - Edit YAML and preview PDF live.
- Select
.clstemplate from dropdown for custom styles.
python3 -m latexcv.main --yaml resume.yaml --tex resume.tex --cls cls/deedy.clsSee docs/INSTALL.md for full instructions on installing XeTeX/LuaTeX, fonts, and platform-specific setup.
resume.yaml— Your resume datacls/— LaTeX class templatessrc/— Source codebuild/— Build artifactsMakefile— (legacy, now replaced by uv/pyinstaller)
docs/— Documentation
Pull requests and suggestions are welcome! See issues for ideas or improvements.
MIT License