This is an attempt to create an ATS friendly resume in python. I'm intending to maintain and enhance it as per my needs, or in case I get any feedback from the community. I'm trying to keep the code simple and easy to comprehend, and separating the data from the PDF generation logic. All the data that needs to be put in the resume is present in the data.json file
- Make sure you have python version 3 installed
- Clone this repository
- Create a virtual environment by running the command
python3 -m venv env - Activate the virtual environment by running the
activatescript for your respective operating system - Install all the required libraries by running
pip install -r requirements.txt - Create a
config.inifile as follows:
[global]
debug = false
author = <Your name>
email = <Your email>
address = <Your address>
phone = <Your phone number>
This will set the debug configuration as false, which will generate the resume without any grid lines. If debug is set to true it will generate the resume with gridlines
- Navigate inside the
srcdirectory by runningcd src/ - Run the
main.pyfile by executing the commandpython3 main.py. This will generate a resume in PDF format with the nameoutput.pdfin the current directory - To customize the information in resume, just modify the
data.jsonfile with your required information - Personal information would be picked up from the
config.inifile that is present in the project root
- Install
dockeranddocker-composeon your machine by following the instructions mentioned on the official website of Docker - Configure the
config.inifile in the same way as the old school, but atsrc/constantsdirectory - That's it. Run
docker compose up --buildto fetch the image, install all dependencies, run the code, and generate the resume insidesrc/directory - For changing anything in the resume, just modify the
data/input.jsonfile, and rundocker compose up --buildagain. It will re-run the code and generate your new resume :)
