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.
  • 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"
  location: San Francisco, CA
  linkedin: linkedin.com/in/janedoe
  github: github.com/janedoe

summary: >
  Full-stack engineer with 5 years of experience building scalable web applications.

education:
  - institution: University of California, Berkeley
    degree: B.S. Computer Science
    year: 2019

work:
  - company: Acme Corp
    role: Senior Engineer
    start: Jan 2021
    end: Present
    highlights:
      - Led migration to microservices, reducing latency by 40%
      - Mentored a team of 4 junior engineers

skills:
  - category: Languages
    featured: 
        - Python
        - TypeScript
        - Go
  - category: Tools
    featured: 
        - Docker
        - Kubernetes
        - PostgreSQL
codeurcv generate example/config.yml
# → resume.pdf

📦 Installation

pip install codeurcv

Dependencies

codeurcv requires two external tools to generate PDFs:

Pandoc

Pandoc is a universal document converter used to process templates.

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 Best For
classic All-purpose, clean single column
modern Tech roles, sidebar layout
academic Researchers, publications-focused
minimalist Design roles, typography-forward
codeurcv generate 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.5.2.tar.gz (12.5 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.5.2-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for codeurcv-0.5.2.tar.gz
Algorithm Hash digest
SHA256 2f0b03ba51e4660f80e54cdc6690d62a79e6cb93bbc09f24e3d05fc28eb1dcfb
MD5 c01c23a76c3c6a59a69c3f04badfc56e
BLAKE2b-256 5da31b27b2ff01ba6a4331bf25b5c94b1e5e65f50daf4a5d696685e8bd090f5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for codeurcv-0.5.2.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.5.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for codeurcv-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 544dffe5539a3f7a584d0c0dececff86a27f803ac92b0d29fbf167d2d730d427
MD5 bad909bba6ae0f333d5c82839e4db949
BLAKE2b-256 67ea5681b4006a15f998b17951f98b5a7639af17122e40fd62d3909b2820ad94

See more details on using hashes here.

Provenance

The following attestation bundles were made for codeurcv-0.5.2-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