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

Uploaded Python 3

File details

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

File metadata

  • Download URL: simple_ats-0.2.2.tar.gz
  • Upload date:
  • Size: 6.1 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.2.tar.gz
Algorithm Hash digest
SHA256 2d364bcff606e5d05bb39b39662a8b65073b92d315c8be91009c1a5999780b19
MD5 d0495af48d87115049f2713ff093e231
BLAKE2b-256 b7005864bc758dbe010d8c56fd454ef4a6690db485b86755042a5c9749fda18d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simple_ats-0.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1ff128ce1889fc912bb8101805b7d52c8228fa56886936bd5c79819f4af3c7db
MD5 112c7261faab927e0c86c4d62d6eec3b
BLAKE2b-256 d04c01b8ea380531183b685b975ae626b2fddf5acb733f173e69d45702b25e88

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