Skip to main content

A simple package to return a similarity score between a resume and a job description.

Project description

Simple Applicant Tracking System (simple_ats)

The Simple Applicant Tracking System (simple_ats) is a Python application designed to parse resumes and job descriptions, extract relevant information, and compute the similarity between them. This system can be useful for recruiters and job seekers to assess the suitability of a candidate for a particular job role.

You can view the PyPI package and the latest version here.

Features

  • Resume Parsing: The system can extract the work experience and skills sections from a resume.
  • Text Cleaning: The extracted text is cleaned by removing stopwords, punctuation, and performing lemmatization.
  • Job Description Cleaning: The job description text is also cleaned using the same text cleaning techniques.
  • Similarity Computation: The system computes the similarity score between the cleaned resume text (experience and skills) and the cleaned job description text using the SentenceTransformer model.

Installation

To install the simple_ats package, follow these steps:

Windows

  1. Open the Command Prompt (cmd.exe).
  2. Navigate to the directory where you want to install the package using the cd command.
  3. Run the following command to install the package:
pip install simple-ats
python

This will open the Python shell where you can write the Python commands

from simple_ats.ats import ATS
resume_content = """<copy-paste your resume text here>"""
jd_content = """<copy-paste the job description text here>"""

ats.load_resume(resume_content)
ats.load_job_description(jd_content)

experience = ats.extract_experience()
ats.clean_experience(experience)

skills = " ".join(ats.extract_skills())
ats.clean_skills(skills)

similarity_score = ats.compute_similarity()

print(f"The similarity score between the resume and job description is: {round(similarity_score.item() * 100, 2)}%")

Linux/macOS

  1. Open the Terminal.
  2. Navigate to the directory where you want to install the package using the cd command.
  3. Run the following command to install the package:
pip3 install simple-ats
python

This will open the Python shell where you can write the Python commands

from simple_ats.ats import ATS
resume_content = """<copy-paste your resume text here>"""
jd_content = """<copy-paste the job description text here>"""

ats.load_resume(resume_content)
ats.load_job_description(jd_content)

experience = ats.extract_experience()
ats.clean_experience(experience)

skills = " ".join(ats.extract_skills())
ats.clean_skills(skills)

similarity_score = ats.compute_similarity()

print(f"The similarity score between the resume and job description is: {round(similarity_score.item() * 100, 2)}%")

To run on Jupyter notebook or Google Colab

  1. After installing the package, you can use it in your Python script by importing the necessary classes and functions.
!pip install simple-ats
from simple_ats import ATS
# Load resume and job description content
resume_content = """<copy-paste your resume text here>"""
jd_content = """<copy-paste the job description text here>"""
# add the resume content (copy-paste from your resume here)
ats.load_resume(resume_content)
# add the job description content (copy-paste from the job description from the job board here)
ats.load_job_description(jd_content)
# Create an instance of ATS
ats = ATS()
# Extract and clean experience
experience = ats.extract_experience()
ats.clean_experience(experience)

# Extract and clean skills
skills = " ".join(ats.extract_skills())
ats.clean_skills(skills)

# Compute and print the similarity score
similarity_score = ats.compute_similarity()
print(f"The similarity score between the resume and job description is: {round(similarity_score.item() * 100, 2)}%")

Code Structure

  • TextCleaner class: Responsible for cleaning text by removing stopwords, punctuation, and performing lemmatization.
  • ATS class: The main class that handles resume and job description parsing, text cleaning, and similarity computation.
    • load_resume(): Loads the resume content from a string.
    • load_job_description(): Loads the job description content from a string.
    • extract_skills(): Extracts skills from the resume content.
    • extract_experience(): Extracts the work experience section from the resume content.
    • clean_experience(): Cleans the extracted experience text from the resume.
    • clean_skills(): Cleans the extracted skills text from the resume.
    • clean_jd(): Cleans the job description text.
    • compute_similarity(): Computes the similarity score between the cleaned resume and cleaned job description text using the SentenceTransformer model.

Dependencies

The following Python libraries are required to run the simple_ats system:

  • re: For regular expression operations.
  • spacy: For natural language processing tasks.
  • sentence_transformers: For computing sentence embeddings and similarity scores.
  • string: For string operations.
  • nltk: For natural language processing tasks, such as tokenization, stopword removal, and lemmatization.

These dependencies will be automatically installed when you install the simple-ats package.

In this example, the user runs the simple-ats package from the command line. The system prompts the user to enter the resume content and job description content. After processing the input, the system computes the similarity score and prints the result to the console.

Contributing

Contributions to this project are welcome. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_ats-3.0.0.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_ats-3.0.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file simple_ats-3.0.0.tar.gz.

File metadata

  • Download URL: simple_ats-3.0.0.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.8

File hashes

Hashes for simple_ats-3.0.0.tar.gz
Algorithm Hash digest
SHA256 144dd83c5acd04901176a7a8445ff66aa790176b43d38e80af1692d2f9a1f376
MD5 9689b66265b560b28cb5b2596686c460
BLAKE2b-256 d5818802380a83d962eca7cd884c71b81dda791dab027e248e655fcc2aaa2a13

See more details on using hashes here.

File details

Details for the file simple_ats-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: simple_ats-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.8

File hashes

Hashes for simple_ats-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95e0e7e10d4d7c3c768ac727cea556b62fac1cf18f5d4931eb85afdbe1dd1bff
MD5 3d3d896ffbf9959558f610c7cc835472
BLAKE2b-256 b827369eda94e2ced3e83e75ff8de1f40bbb0f80ce55ced27d6940f75f6c8833

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page