Skip to content

whoisalan/Resume-Ranker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resume Ranker

This package serves as a small CLI utility to rank resumes, or other files, based on keyword criteria. The utility reviews files and assigns a score based on percentile match of the file's content. Valid file types include .docx, .pdf, and .txt. Any other filetype will be skipped automatically.

Resume Ranker will rename each valid file with a prefixed calculated percentile rank and matching total word count by default (unless explicitly told not to).

Use the script's built-in help command to view extended usages and argument definition.

Requirements

Please see the requirements documentation for system requirements and more information about the supported operating systems.

Installation

This program does not require installation. Instead, it is meant to perform the necessary resume processing at runtime. The only necessary setup is python package installation; which are found within the included pip requirements.txt file. To install the packages, you will need pip installed on your computer, and issue the following command from the project root folder:

$ pip install -r requirements.txt

Usage

Resume Ranker is a CLI script built on Python 2.7.10 and is executed using the syntax formation below. Where the required arguments --dir references the directory where the files to iterate are found, and --keyword_file references a valid keyword file.

$ python ranker.py --dir=directory/containing/files/to/rank --keyword-file=directory/containing/keyword_file.txt

The Keyword File

The keyword file is a runtime requirement and must be supplied as an argument of the script at the time of execution. A sample file can be found here: keyword_file.

The example provides keywords, separated by line breaks (with spaces allowed in the keyword(s)) followed by a keyword weight, if desired. The weight is multiplied by the total occurrences of the word in the file to produce a heavier weight for each weighted word, compared to other words.

Bachelor *2
Master
SQL
C#
Python
Software Developer
Black Belt Ninja *5

In the example above, Bachelor is weighted twice as heavy as other 'non-weighted' words. While Black Belt Ninja is weighted five times heavier.

The formatting of each word is normalized to an all uppercase format upon load within the script; therefore, word capitalization will not have any bearing.

Contributing

Resume Ranker is an open source project and we are very happy to accept community contributions. Please refer to CONTRIBUTING.md for details.

Caveats

As of this time, Resume Ranker only iterates over the following file types .pdf, .docx, .txt. Older Microsoft Office versions producing .doc file types require ancillary system level packages that are out of the scope of this original project.

Note:

  • This project is accepting merge requests to extend functionality.
  • Please review the CONTRIBUTING.md documentation before beginning development.

About

Reviews resumes and assigns a score based on percentile matching file content.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%