Skip to main content

A Python library to generate LaTeX resumes from YAML configuration files using Jinja2 templates.

Project description

📄 codeurcv

Turn a simple YAML or JSON file into a professional resume — instantly.

PyPI version Python License: MIT GitHub Action

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 .yml or .json file. No LaTeX knowledge required.
  • Premium templates for free — choose from a curated set of professionally designed resume templates.
  • Clickable project links — add a link field 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codeurcv-0.6.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codeurcv-0.6.1-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file codeurcv-0.6.1.tar.gz.

File metadata

  • Download URL: codeurcv-0.6.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for codeurcv-0.6.1.tar.gz
Algorithm Hash digest
SHA256 88903a447b1c12bbd056a1119ffd3c18d39d71946f9f4d7cdbf4c0c67e74588b
MD5 114a01bdbea18103a7b3e211fdf69e65
BLAKE2b-256 7cb3315ff62580b45a7f26936d5fbfa52853cf921c521988fe8984b92ba25422

See more details on using hashes here.

Provenance

The following attestation bundles were made for codeurcv-0.6.1.tar.gz:

Publisher: release-please.yml on crackedngineer/codeurcv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codeurcv-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: codeurcv-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for codeurcv-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d32dd754f98ed7c6582e8987b5f126983b40efd76e8c11385e892f8bb5978907
MD5 a3bdcbd173f34a2182f4361b8bd21e26
BLAKE2b-256 00caa46652cf147f5ad0340ab2253eb1528ed898537d03dc78b591c127e64685

See more details on using hashes here.

Provenance

The following attestation bundles were made for codeurcv-0.6.1-py3-none-any.whl:

Publisher: release-please.yml on crackedngineer/codeurcv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page