📄 codeurcv
Turn a simple YAML or JSON file into a professional resume — instantly.
Whether you're a student, working professional, or researcher — write your details once, get a polished PDF resume every time.
✨ Features
- Simple input format — describe your resume in a human-readable
.ymlor.jsonfile. No LaTeX knowledge required. - Premium templates for free — choose from a curated set of professionally designed resume templates.
- Clickable project links — add a
linkfield to any project and it becomes a clickable hyperlink in the PDF. - Special character safe — fields like company names, skill categories, and project names support
&,_,%, and other special characters automatically. - GitHub Action — automate resume generation on every push. Always have an up-to-date PDF in your repo.
- Supports all profiles — students, working professionals, and researchers are all first-class citizens.
🚀 Quickstart
# config.yml
basic_details:
name: Jane Doe
email: jane@example.com
phone: "+1 555 000 0000"
linkedin: "https://linkedin.com/in/janedoe"
github: "https://github.com/janedoe"
summary: >
Full-stack engineer with 5 years of experience building scalable web applications.
education:
- institution: University of California, Berkeley
location: Berkeley, CA
degree: B.S. Computer Science
year: 2019
gpa: "3.9/4.0"
work:
- company: Acme Corp
role: Senior Engineer
location: San Francisco, CA
start: Jan 2021
end: Present
achievements:
- Led migration to microservices, reducing latency by 40%
- Mentored a team of 4 junior engineers
technologies:
- Python
- Kubernetes
projects:
- name: My Project
link: "https://github.com/janedoe/my-project" # optional — becomes a clickable link in the PDF
start: Mar 2023
end: Present
description:
- Built an open-source CLI tool with 200+ GitHub stars
technologies:
- Python
- Docker
skills:
- category: Languages
featured:
- Python
- TypeScript
- Go
- category: Tools
featured:
- Docker
- Kubernetes
- PostgreSQL
codeurcv run config.yml
# → resume.pdf
💻 Usage
codeurcv run config.yml # generate PDF (outputs resume.pdf in current directory)
codeurcv run config.yml -o ./output # specify output directory
codeurcv run config.yml -n john-doe # custom output filename
codeurcv run config.yml -t minimalist # choose template
codeurcv templates # list available templates
codeurcv --version
📦 Installation
pip install codeurcv
Dependencies
codeurcv requires two external tools to generate PDFs:
Pandoc
Pandoc is a universal document converter used to process Markdown fields.
| Platform | Command |
|---|---|
| Windows | winget install --id JohnMacFarlane.Pandoc or choco install pandoc |
| macOS | brew install pandoc |
| Debian/Ubuntu | sudo apt install pandoc |
| Fedora/RHEL | sudo dnf install pandoc |
| Arch/Manjaro | sudo pacman -S pandoc |
→ Full Pandoc installation guide
pdflatex (TeX Live / MiKTeX)
pdflatex is the LaTeX engine used to render the final PDF.
| Platform | Command |
|---|---|
| Windows | winget install --id MiKTeX.MiKTeX or choco install miktex |
| macOS | brew install --cask mactex |
| Debian/Ubuntu | sudo apt install texlive-latex-base |
| Fedora/RHEL | sudo dnf install texlive-latex |
| Arch/Manjaro | sudo pacman -S texlive-basic |
| openSUSE | sudo zypper install texlive-latex |
→ TeX Live installation guide · MiKTeX for Windows
🖼️ Templates
| Name | Description |
|---|---|
minimalist |
Clean minimalist resume style |
codeurcv run config.yml --template minimalist
📖 Local Setup
See SETUP.md for full developer setup instructions.
⚡ GitHub Action
Automate resume generation on every push using the official GitHub Action.
- uses: crackedngineer/codeurcv-action@v1
with:
config-path: config.yml
out-dir: output
template: minimalist
filename: john-doe-resume
→ codeurcv-action on GitHub · View on Marketplace
🤝 Contributing
See CONTRIBUTING.md — contributions are welcome!
📜 License
MIT © codeurcv contributors
Metadata
Release files for codeurcv 0.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| codeurcv-0.6.1.tar.gz | 13.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| codeurcv-0.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.2 kB
Release files / codeurcv-0.6.1.tar.gz
| Download URL | codeurcv-0.6.1.tar.gz |
|---|---|
| Size | 13.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88903a447b1c12bbd056a1119ffd3c18d39d71946f9f4d7cdbf4c0c67e74588b
|
|
BLAKE2b-256 checksum How to use checksums |
7cb3315ff62580b45a7f26936d5fbfa52853cf921c521988fe8984b92ba25422
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 12, 2026.
Transparency logRelease files / codeurcv-0.6.1-py3-none-any.whl
| Download URL | codeurcv-0.6.1-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d32dd754f98ed7c6582e8987b5f126983b40efd76e8c11385e892f8bb5978907
|
|
BLAKE2b-256 checksum How to use checksums |
00caa46652cf147f5ad0340ab2253eb1528ed898537d03dc78b591c127e64685
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 12, 2026.
Transparency log