Skip to main content

⌇ Your Incredible Employee

He is optimizing his resume using ats_friendly_resume to pass through ATS and get an interview

Why you shouldn`t?

PyPI - Downloads GitHub last commit PyPI - Version

About

In short: Insert invisible text into your PDF for better matching with automated filtering systems

Applicant Tracking Systems(ATS) are trying to parse your resume to get data for further analysis. Most popular format to apply the vacancy is PDF. But when you finish writing your resume, it might turn out that ATS cannot properly extract the text, and your resume simply fails the filtering process. This might happen for the following reasons:

  • You created a visually appealing, custom-designed resume, but unfortunately, issues with text layers occurred after conversion.
  • You decided to rasterize all text layers, making it impossible to extract text except by using OCR.
  • Other design choices that result in problems with text conversion.

To eliminate any issues with text recognition, you simply need to add text that will be correctly extracted. This is exactly what this small application is designed to do.

⚒ How to

  1. Install ats_friendly_resume

    • via pip
    pip install ats-friendly-resume
    

    The actual executable name will be ats_friendly_resume

  2. Prepare:

    • Your PDF to past text into it(resume.pdf, for this example)
    • Full text which you want to insert(resume.txt, for this example)
  3. Run ats_friendly_resume(simplest example):

    ats_friendly_resume --input="/path/to/resume.pdf" --text-file="/path/to/resume.txt"
    
  4. Thats all! Get your optimized resume and apply it!

(in this case resume will be in the same folder where the app was executed, and name will be the same as the input file but with a timestamp prefix)

🚧 CLI Usage

usage: ats_friendly_resume  [-h] [--input INPUT] [--input-dir INPUT_DIR] [--text TEXT] [--text-file TEXT_FILE] [--out OUT] 
                            [--outdir OUTDIR] [--on-top] [--rotate-text ROTATE_TEXT] [--invisible-text]

Make sure ATS can accurately extract text from your resume by adding the full text in an invisible layer

optional arguments:
  -h, --help            show this help message and exit
  --input INPUT, -i INPUT
                        Path to target PDF
  --input-dir INPUT_DIR, -d INPUT_DIR
                        Process every PDF file in the provided directory
  --text TEXT, -t TEXT  Text to insert
  --text-file TEXT_FILE, -f TEXT_FILE
                        Get the text to insert from a file(.txt)
  --out OUT, -o OUT     Name of output file. If not set, '{datetime}_{input}' pattern will be used
  --outdir OUTDIR       Place the output file in a custom directory, following the naming convention '{datetime}_{input}'
  --on-top              If not set, an attempt will be made to insert text onto the background
  --rotate-text ROTATE_TEXT, -r ROTATE_TEXT
                        (Not recommended) Rotate text[0..360]
  --invisible-text      (Not recommended) Make text opacity equal to zero

Metadata

Release files for ats-friendly-resume 0.9.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ats-friendly-resume 0.9.4
File Size Uploaded
ats_friendly_resume-0.9.4.tar.gz 17.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ats-friendly-resume 0.9.4
File Interpreter ABI Platform
ats_friendly_resume-0.9.4-py3-none-any.whl Python 3 none any Details

Total release size: 35.4 kB

Release files / ats_friendly_resume-0.9.4.tar.gz

Download URL ats_friendly_resume-0.9.4.tar.gz
Size 17.3 kB
Tags Source
SHA-256 checksum
How to use checksums
acd192d0294e0b350ddecbb1f33bfb1813749f7248c99fcee931093c37b1232f
BLAKE2b-256 checksum
How to use checksums
9d6feb71f539200fb9d78ca12a992c259634d8b2c71d8d84874dd35ecec008f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 Jan 26, 2025.

Transparency log

Release files / ats_friendly_resume-0.9.4-py3-none-any.whl

Download URL ats_friendly_resume-0.9.4-py3-none-any.whl
Size 18.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ae03395e762d0e4e5d24bae07b191ee8f114d432efc88c08f623bbae7d31af5
BLAKE2b-256 checksum
How to use checksums
7f2f27b77e8369e0d5e3ed0afe14c554bd775a1195212a0a9ccdf93342680af9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 Jan 26, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.4 This release

2 release files

0.9.3

2 release files

0.9.2

1 release file

0.9.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page