Skip to content

bao1018/pyresparser

 
 

Repository files navigation

pyresparser with Latest Spacy

A simple resume parser used for extracting information from resumes

Built with ❤︎ and ☕ by Omkar Pathak


GitHub stars PyPI Downloads GitHub PyPI - Python Version Say Thanks! Build Status codecov

Features

  • Extract name
  • Extract email
  • Extract mobile numbers
  • Extract skills
  • Extract total experience
  • Extract college name
  • Extract degree
  • Extract designation
  • Extract company names

Installation

Precondition

  • python 3.11
  • Spacy 3.7
  • Poetry

Install dependencies

  • You can install the tool
poetry install
  • For NLP operations we use spacy and nltk. Install them using below commands:
# spaCy
poetry run python -m spacy download en_core_web_sm

# nltk
poetry run python -m nltk.downloader words
poetry run python -m nltk.downloader stopwords

Test

Use below command

poetry run python test_parser.py

Train the Model

Use below command to re-train the spacy model

poetry run python pyresparser/create_spacy_corpus.py

Documentation

Official documentation is available at: https://www.omkarpathak.in/pyresparser/

Supported File Formats

  • PDF and DOCx files are supported on all Operating Systems
  • If you want to extract DOC files you can install textract for your OS (Linux, MacOS)
  • Note: You just have to install textract (and nothing else) and doc files will get parsed easily

Usage

  • Import it in your Python project
from pyresparser import ResumeParser
data = ResumeParser('/path/to/resume/file').get_extracted_data()

CLI

For running the resume extractor you can also use the cli provided

usage: pyresparser [-h] [-f FILE] [-d DIRECTORY] [-r REMOTEFILE]
                   [-re CUSTOM_REGEX] [-sf SKILLSFILE] [-e EXPORT_FORMAT]

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  resume file to be extracted
  -d DIRECTORY, --directory DIRECTORY
                        directory containing all the resumes to be extracted
  -r REMOTEFILE, --remotefile REMOTEFILE
                        remote path for resume file to be extracted
  -re CUSTOM_REGEX, --custom-regex CUSTOM_REGEX
                        custom regex for parsing mobile numbers
  -sf SKILLSFILE, --skillsfile SKILLSFILE
                        custom skills CSV file against which skills are
                        searched for
  -e EXPORT_FORMAT, --export-format EXPORT_FORMAT
                        the information export format (json)

Notes:

  • If you are running the app on windows, then you can only extract .docs and .pdf files

Result

The module would return a list of dictionary objects with result as follows:

[
  {
    'college_name': ['Marathwada Mitra Mandal’s College of Engineering'],
    'company_names': None,
    'degree': ['B.E. IN COMPUTER ENGINEERING'],
    'designation': ['Manager',
                    'TECHNICAL CONTENT WRITER',
                    'DATA ENGINEER'],
    'email': 'omkarpathak27@gmail.com',
    'mobile_number': '8087996634',
    'name': 'Omkar Pathak',
    'no_of_pages': 3,
    'skills': ['Operating systems',
              'Linux',
              'Github',
              'Testing',
              'Content',
              'Automation',
              'Python',
              'Css',
              'Website',
              'Django',
              'Opencv',
              'Programming',
              'C',
              ...],
    'total_experience': 1.83
  }
]

References that helped me get here

Donation

If you have found my softwares to be of any use to you, do consider helping me pay my internet bills. This would encourage me to create many such softwares 😄

PayPal Donate via PayPal!
₹ (INR) Donate via Instamojo

Stargazer over time

Stargazers over time

About

A simple resume parser used for extracting information from resumes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%