ResumeGPT
80 % complete
github.com/takline/ResumeGPT: ResumeGPT is an open-source python library that allows you to simply provide your resume and a job posting link, and it will produce a formatted ATS friendly PDF resume that is optimized and personalize your resume to align with the specific requirements and keywords of the job.
Features · Install · Usage · Discussions · Contributors
Tailor your resume to match any job posting effortlessly with ResumeGPT.
ResumeGPT allows you to simply provide your resume and a job posting link, and it will produce a formatted ATS friendly PDF resume that is optimized and personalize your resume to align with the specific requirements and keywords of the job. ## Features - Extracts relevant skills, qualifications, and keywords from a job posting. - Tailors your current resume to match job requirements. - Generates professional ATS friendly PDF resumes. - Allows for user verification and customization before finalizing the resume. ## Installation To install ResumeGPT, clone the repository and install the required dependencies: ```bash git clone https://github.com/takline/ResumeGPT.git cd ResumeGPT pip install -r requirements.txt ``` ## Usage - Add your resume to `ResumeGPT/data/sample_resume.yaml` (make sure `ResumeGPT.config.YOUR_RESUME_NAME` is set to your resume filename in the `.data/` folder) - Update `ResumeGPT/config/config.ini` with your name and info that will be included in your resume - Provide ResumeGPT with the link to a job posting and it will tailor your resume to the job: ### Single job posting usage ```python url = "https://[link to your job posting]" resume_improver = ResumeGPT.services.ResumeImprover(url) resume_improver.create_draft_tailored_resume() ``` ResumeGPT then creates a new resume YAML file in a new folder named after the job posting (`ResumeGPT/data/[Company_Name_Job_Title]/resume.yaml`) with a YAML key/value: `editing: true`. ResumeGPT will wait for you to update this key to verify the resume updates and allow them to make their own updates until users set `editing=false`. Then ResumeGPT will create a PDF version of their resume. ### Custom resume location usage Initialize `ResumeImprover` via a `.yaml` filepath: ```python resume_improver = ResumeGPT.services.ResumeImprover(url=url, resume_location="custom/path/to/resume.yaml") resume_improver.create_draft_tailored_resume() ``` ### Post-initialization usage ```python resume_improver.update_resume("./new_resume.yaml") resume_improver.url = "https://[new link to your job posting]" resume_improver.download_and_parse_job_post() resume_improver.create_draft_tailored_resume() ``` ### Background usage You can run multiple ResumeGPT.services.ResumeImprover's concurrently via ResumeGPT's BackgroundRunner class (as it takes a couple of minutes for ResumeImprover to complete a single run): ```python background_configs = [ { "url": "https://[link to your job posting 1]", "auto_open": True, "manual_review": True, "resume_location": "/path/to/resume1.yaml", }, { "url": "https://[link to your job posting 2]", "auto_open": False, "manual_review": False, "resume_location": "/path/to/resume2.yaml", }, { "url": "https://[link to your job posting 3]", "auto_open": True, "manual_review": True, "resume_location": "/path/to/resume3.yaml", }, ] background_runner = ResumeGPT.services.ResumeImprover.create_draft_tailored_resumes_in_background(background_configs=background_configs) # Check the status of background tasks (saves the output to `ResumeGPT/data/background_tasks/tasks.log`) background_runner["background_runner"].check_status() # Stop all running tasks background_runner["background_runner"].stop_all_tasks() # Extract a ResumeImprover first_resume_improver = background_runner["ResumeImprovers"][0] ``` You will follow the same workflow when using ResumeGPT's BackgroundRunner (ex: verify the resume updates via `editing=false` in each `ResumeGPT/data/[Company_Name_Job_Title]/resume.yaml` file). You can also find logs for the BackgroundRunner in `ResumeGPT/data/background_tasks/tasks.log`. ### ResumeGPT PDF Output Here is an example ATS friendly resume created by ResumeGPT: