Pyresparser
A simple resume parser used for extracting information from resumes
Install / Use
/learn @OmkarPathak/PyresparserREADME
pyresparser
A simple resume parser used for extracting information from resumes
Built with ❤︎ and :coffee: by Omkar Pathak
Features
- Extract name
- Extract email
- Extract mobile numbers
- Extract skills
- Extract total experience
- Extract college name
- Extract degree
- Extract designation
- Extract company names
Installation
- You can install this package using
pip install pyresparser
- For NLP operations we use spacy and nltk. Install them using below commands:
# spaCy
python -m spacy download en_core_web_sm
# nltk
python -m nltk.downloader words
python -m nltk.downloader stopwords
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
-
Some of the core concepts behind the algorithm have been taken from https://github.com/divapriya/Language_Processing which has been summed up in this blog https://medium.com/@divalicious.priya/information-extraction-from-cv-acec216c3f48. Thanks to Priya for sharing this concept
-
https://www.kaggle.com/nirant/hitchhiker-s-guide-to-nlp-in-spacy
-
Special thanks to dataturks for their annotated dataset
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 :smile:
| PayPal | <a href="https://paypal.me/omkarpathak27" target="_blank"><img src="https://www.paypalobjects.com/webstatic/mktg/logo/AM_mc_vs_dc_ae.jpg" alt="Donate via PayPal!" title="Donate via PayPal!" /></a> | |:-------------------------------------------:|:-------------------------------------------------------------:| | ₹ (INR) | <a href="https://www.instamojo.com/@omkarpathak27/" target="_blank"><img src="https://www.soldermall.com/images/pic-online-payment.jpg" alt="Donate via Instamojo" title="Donate via instamojo" /></a> |
Stargazer over time
Related Skills
openai-image-gen
328.7kBatch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
claude-opus-4-5-migration
81.0kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
model-usage
328.7kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
TrendRadar
49.5k⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。
