Skip to main content

A simple package for parsing resumes and job descriptions

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.

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

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

Usage

  1. After installing the package, you can use it in your Python script by importing the necessary classes and functions.
from simple_ats import ATS

# Create an instance of ATS
ats = ATS()

# Load resume and job description content
resume_content = "..."
jd_content = "..."
ats.load_resume(resume_content)
ats.load_job_description(jd_content)

# 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)}%")
  1. Alternatively, you can run the main() function from the command line:
python -m simple_ats

This will prompt you to enter the resume content and job description content. The system will process the input, extract relevant information, clean the text, and compute the similarity score, which will be printed to the console.

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.

Example

$ python -m simple_ats

Please enter the resume content: 
[Resume content goes here]

Please enter the job description content:
[Job description content goes here]

The similarity score between the resume and job description is: 75.23%

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-0.2.1.tar.gz (5.9 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-0.2.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for simple_ats-0.2.1.tar.gz
Algorithm Hash digest
SHA256 232086f62ae36293c5c4e6f07756b0a30a948196ca0f11eb652287334b4f0906
MD5 9cd0f0c1271e1129bfe551db545a43b7
BLAKE2b-256 ee64d05ac7112d13e79021cbf5fe09261f4d9ebfa1e1704bb46b56dfa224c9e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simple_ats-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 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-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ff9290d2ee51f67f6b9cc8c980eb911947dca421f288ee818bd0ae02aef7dba
MD5 70b92b19c1b226fc7b4771f88df223af
BLAKE2b-256 8e1f033ca8ff06c6ade70b1939b7c3ee7a006c47fb5bc62d1d5f3867d8ba9523

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