⌇ Your Incredible Employee
He is optimizing his resume using ats_friendly_resume to pass through ATS and get an interview
Why you shouldn`t?
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
-
Install
ats_friendly_resume- via pip
pip install ats-friendly-resume
The actual executable name will be
ats_friendly_resume -
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)
- Your PDF to past text into it(
-
Run
ats_friendly_resume(simplest example):ats_friendly_resume --input="/path/to/resume.pdf" --text-file="/path/to/resume.txt"
-
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)
| File | Size | Uploaded | |
|---|---|---|---|
| ats_friendly_resume-0.9.4.tar.gz | 17.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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