Resume Parser Written in Python3
Project description
Introduction
pyresumize is a python module to extract useful information from resume and generate a json string out of it. Currently it supports only pdf file as input .
Todo
- Proper Logging to be added
- Support for other formats
- Performance Improvements
- Bug Fixes
- Custom configuration of input data
Note
The Skills , Employers and Education is given as .csv inputs to the engine and you can see a reference implementation in the data folder.
Todo
Log Integration custom model
Design
I have changed the Design in such a way that the developers can create own parsing rules and set those to the Parser to bring in flexibility.
Currently we have the below interfaces exposed and the developers can override the process method to bring in custom processing rules.
- EmployerBaseInterface:
Searches for company information in the resume and identifies the employers
- EducationBaseInterface
Process Education Details together with universities .The results are stored in a map
- EmailBaseInterface
Check for email addresses in the resume and returns if found one.
- PhoneBaseInterface
Process phone numbers in the resume text, if there are more than one phone number found , returns a concatenated string with commas.
- NameBaseInterface
Proces the Name of the candidate .
- SkillBaseInterface:
Process the skills section . returns a list of identified skills in a resume.
One of these interfaces can be implemented like below .
class RemoteCompaniesChecker (EmployerBaseInterface):
def process(self,resumetext):
#Call a remote API and pass the text info
return list[]
The ResumeEngine class has below member functions and with one of these you can apply your custom engine
set_skills_engine(self, engine):
set_name_engine(self, engine):
set_name_engine(self, engine):
set_email_engine(self, engine):
set_education_engine(self, engine):
set_employer_engine(self, engine):
Usage
https://pypi.org/project/pyresumize/ . The module can be install using
pip install pyresumize
Then do the below
python -m spacy download en_core_web_sm
python -m nltk.downloader words
python -m nltk.downloader stopwords
from pyresumize import ResumeEngine
r_parser=ResumeEngine()
r_parser.set_custom_keywords_folder("data")
json=r_parser.process_resume(file)
print(json)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyresumize-0.1.8.tar.gz.
File metadata
- Download URL: pyresumize-0.1.8.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b777e7e5c40687b9292eec7744104ba60fe0f54069c834857e5183e6f74be87
|
|
| MD5 |
1c3749e1e8b573e5b257ab42eb1b1f71
|
|
| BLAKE2b-256 |
cc5cc1fd9e55dba6b00c823edd7dfce1c430c0652eb6304705a397dc8fa79253
|
File details
Details for the file pyresumize-0.1.8-py3-none-any.whl.
File metadata
- Download URL: pyresumize-0.1.8-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a30d9d7766f2714ae0e77e8f453beef07a25c2d908ca7b6865fd9b2ad5e6872
|
|
| MD5 |
1fbbbfeea1f45832cb007459cdffdec1
|
|
| BLAKE2b-256 |
c75d6a10f1a2225f4416415eba647f41a223ecb03ace78182b4d8ea4509ffa16
|