Skip to main content

Modern CV generation system combining Typst templating with Python CLI - create multiple professional document variants from unified YAML data

Project description

resumyst

Generate professional CVs from YAML data using Typst templates.

Alpha Software: This project is in early development. Features may change and bugs are expected. Always review generated CVs before submitting them.

Academic Industry Short
academic CV industry CV short CV

A modern CV generation system that combines Typst templating with Python CLI convenience. Generate multiple CV variants from a single YAML data source.

Features

  • Multiple variants: Academic, industry, and compact formats
  • Interactive project setup wizard
  • Live preview server with auto-reload
  • Data validation with helpful error messages
  • Interactive content editor
  • Intelligent filtering with exclude_from flags
  • PDF and PNG output formats

Installation

pip install resumyst

Typst will be automatically installed when first needed, or you can install it manually beforehand from typst.app.

Quick Start

Interactive Setup

# Create new CV project
resumyst init my-cv
cd my-cv

# Edit your data
resumyst edit

# Live preview
resumyst serve

# Build CV
resumyst build academic

Direct Usage

# Skip wizard, use defaults
resumyst init my-cv --quick

# Build specific variant
resumyst build industry

# Build all variants
resumyst build --all

# Watch for changes
resumyst build academic --watch

Project Structure

my-cv/
├── data/
│   ├── config.yaml          # Global styling
│   ├── personal.yaml        # Contact info
│   ├── sections/             # CV content
│   │   ├── experience.yaml
│   │   ├── education.yaml
│   │   └── ...
│   └── variants/             # Variant settings
│       ├── academic.yaml
│       ├── industry.yaml
│       └── short.yaml
├── typst/                    # Template files
└── out/                      # Generated outputs
    ├── pdf/
    └── png/

CV Variants

Academic - Complete CV with all publications, teaching, and academic activities Industry - Professional focus with selected publications and practical experience Short - Compact 1-2 page version for quick applications

Control what appears in each variant using exclude_from flags in your YAML files:

# This entry appears in all variants
- title: "Important Publication"
  year: 2024

# This entry is excluded from short variant
- title: "Minor Publication"
  year: 2023
  exclude_from: ["short"]

Commands

  • resumyst init [name] - Create new CV project
  • resumyst edit - Interactive content editor
  • resumyst build [variant] - Build CV (academic/industry/short)
  • resumyst serve - Start live preview server
  • resumyst validate - Validate YAML data
  • resumyst clean - Remove build outputs

Configuration

Edit data/config.yaml to customize typography, spacing, colors, and formatting:

typography:
  fonts:
    text: "Libertinus Serif"
  sizes:
    body: 11.2pt

colors:
  link: "#0645ad"

formatting:
  date_format: "MMM YYYY"
  show_location: true

Template Customization

Modify Typst template files in the typst/ directory:

  • typst/styles.typ - Typography and layout
  • typst/components.typ - UI elements
  • typst/renderers.typ - Section formatting

Auto-Installation

Resumyst automatically installs Typst using platform-appropriate package managers:

  • Windows: winget, Cargo
  • macOS: Homebrew, Cargo
  • Linux: Cargo (APT/Snap require manual installation for security)

Disable auto-installation: resumyst build academic --no-auto-install

Development

git clone https://github.com/guerrantif/resumyst.git
cd resumyst
pip install -e .
resumyst --help

Requirements

  • Python 3.10+
  • Typst (auto-installed)

License

MIT License - see LICENSE file for details.

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

resumyst-0.1.1a2.tar.gz (5.2 MB view details)

Uploaded Source

Built Distribution

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

resumyst-0.1.1a2-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

Details for the file resumyst-0.1.1a2.tar.gz.

File metadata

  • Download URL: resumyst-0.1.1a2.tar.gz
  • Upload date:
  • Size: 5.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for resumyst-0.1.1a2.tar.gz
Algorithm Hash digest
SHA256 b4b75102b9f6e29d00259b061cb922e54c35597f4c5bb4174cff7acfe5ae5def
MD5 28869b52b060a6a02f3de68b843ae2cb
BLAKE2b-256 35482c96b87179e3f7a487af8239323fbff28bdd303a611e1fe18a02ea8ba55f

See more details on using hashes here.

File details

Details for the file resumyst-0.1.1a2-py3-none-any.whl.

File metadata

  • Download URL: resumyst-0.1.1a2-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for resumyst-0.1.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 51c39e579afc9f3b79eb16213dc3f0fce733c206bbbc7967f3886c19f36fdff7
MD5 0659fce08cd36b455633cd85fa97f208
BLAKE2b-256 5df6eeefc161c07b7621aa9b969c456284d3176b87a5d57abd1cf1c98361d291

See more details on using hashes here.

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