Skip to content

About

Generate ATS-friendly PDF resumes from structured JSON Resume data.

Resources

Stars

21 stars

Watchers

1 watching

Forks

Repository files navigation

SoftWorker

Generate ATS-friendly PDF resumes from structured JSON Resume data.

Provide a JSON Resume file, run the CLI, and SoftWorker renders a ready-to-use A4 PDF designed to be readable by both recruiters and applicant tracking systems (ATS).

Preview

First page of the PDF generated from the project's main example:

First page of the generated resume

What the project does

  • Accepts resumes in JSON Resume format.
  • Produces ready-to-use A4 PDFs.
  • Generates accessible PDFs suitable for recruiters and applicant tracking systems (ATS).

Requirements

  • Python 3.14+
  • WeasyPrint's native system dependencies

Installation

python -m pip install softworker

CLI usage

Generate a PDF from a JSON Resume file:

python -m softworker resume.json

By default, the file is saved in the current directory with the same base name as the JSON file:

resume.pdf

To define an output path:

python -m softworker resume.json /tmp/resume.pdf

To render the resume in another language:

python -m softworker resume.json /tmp/resume-en.pdf --resume-language en_US

Library usage

You can also generate the PDF directly in Python:

import json
from pathlib import Path
from typing import Any, Dict
from softworker import render_pdf_from_dict
from softworker.enums import ResumeLanguage

resume_path = Path("resume.json")
output_path = Path("resume.pdf")
resume: Dict[str, Any] = json.loads(resume_path.read_text(encoding="utf-8"))
pdf: bytes = render_pdf_from_dict(resume, resume_language=ResumeLanguage.PT_BR)
output_path.write_bytes(pdf)

Supported sections

The current theme supports these JSON Resume sections:

  • basics
  • work
  • skills
  • projects
  • certificates
  • awards
  • education
  • languages
  • profiles
  • publications
  • volunteer
  • interests
  • references

About

Generate ATS-friendly PDF resumes from structured JSON Resume data.

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages