Giter Site home page Giter Site logo

omkarpathak / resumeparser Goto Github PK

View Code? Open in Web Editor NEW
285.0 16.0 164.0 1.57 MB

A simple resume parser used for extracting information from resumes

License: MIT License

Python 87.11% CSS 0.11% HTML 11.91% Dockerfile 0.87%
resume-parser extract-data gui python3 python parser

resumeparser's Introduction

ResumeParser

A simple Resume Parser used for extracting information from Resumes/CVs

Note: This is just a wrapper around the pyresparser. The actual source code for the parsing can be found here: https://github.com/OmkarPathak/pyresparser

Installation

pip install pyresparser

GUI

  • Django used
  • Easy extraction and interpretation using GUI
  • For running GUI execute:
python resume_parser/manage.py makemigrations
python resume_parser/manage.py migrate
python resume_parser/manage.py runserver
  • Visit 127.0.0.1 to view the GUI

Working:

Working

Running app in Docker

  • Install docker-compose

  • Execute the following commands from the root of the project

    • Build our images

      docker-compose build

    • Starting our containers and services

      docker-compose up -d

  • Visit localhost:8080 in your browser to run the app

Result

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

[
    {
        'education': [('BE', '2014')],
        'email': '[email protected]',
        'mobile_number': '8087996634',
        'name': 'Omkar Pathak',
        'skills': [
            'Flask',
            'Django',
            'Mysql',
            'C',
            'Css',
            'Html',
            'Js',
            'Machine learning',
            'C++',
            'Algorithms',
            'Github',
            'Php',
            'Python',
            'Opencv'
        ]
    }
]

To DO

  • Extracting Experience
  • Extracting Projects
  • Extracting hobbies
  • Extracting universities
  • Extracting month of passing
  • Extracting Awards/ Achievements/ Recognition

References that helped me get here

resumeparser's People

Contributors

dazzag24 avatar dependabot[bot] avatar omkarpathak avatar ramaisgod avatar saiflakhani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

resumeparser's Issues

package Not installing properly ( pyresparser )

I'm using latest version of python which is 3.8.1 , Error takes place while installing this package as shown below ,

Installing backend dependencies: finished with status 'error'

ERROR: Command errored out with exit status 1:
command: 'C:\Users\admin\AppData\Local\Programs\Python\Python38-32\python.exe' 'C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\admin\AppData\Local\Temp\pip-build-env-l7dsek60\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- wheel 'cymem<2.1.0,>=2.0.2' 'thinc<7.4.0,>=7.3.0' 'cython>=0.25' 'preshed<3.1.0,>=3.0.2' 'murmurhash<1.1.0,>=0.28.0'
cwd: None
Complete output (111 lines):
Collecting wheel
Using cached https://files.pythonhosted.org/packages/8c/23/848298cccf8e40f5bbb59009b32848a4c38f4e7f3364297ab3c3e2e2cd14/wheel-0.34.2-py2.py3-none-any.whl
Collecting cymem<2.1.0,>=2.0.2
Using cached https://files.pythonhosted.org/packages/ce/8d/d095bbb109a004351c85c83bc853782fc27692693b305dd7b170c36a1262/cymem-2.0.3.tar.gz
Collecting thinc<7.4.0,>=7.3.0
Using cached https://files.pythonhosted.org/packages/d4/38/f79bb496ced36f8d69cdbdfe57a322205582ed9508bda5bd0227969d5a77/thinc-7.3.1.tar.gz
ERROR: Command errored out with exit status 1:
command: 'C:\Users\admin\AppData\Local\Programs\Python\Python38-32\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\admin\AppData\Local\Temp\pip-install-yspqmof8\thinc\setup.py'"'"'; file='"'"'C:\Users\admin\AppData\Local\Temp\pip-install-yspqmof8\thinc\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: C:\Users\admin\AppData\Local\Temp\pip-install-yspqmof8\thinc
Complete output (97 lines):
Running from numpy source directory.
C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\setup.py:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
run_build = parse_setuppy_commands()
Cythonizing sources
Processing numpy/random_bounded_integers.pxd.in
Processing numpy/random\mtrand.pyx
Traceback (most recent call last):
File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\tools\cythonize.py", line 61, in process_pyx
from Cython.Compiler.Version import version as cython_version
ModuleNotFoundError: No module named 'Cython'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\tools\cythonize.py", line 238, in <module>
      main()
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\tools\cythonize.py", line 234, in main
      find_process_files(root_dir)
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\tools\cythonize.py", line 225, in find_process_files
      process(root_dir, fromfile, tofile, function, hash_db)
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\tools\cythonize.py", line 191, in process
      processor_function(fromfile, tofile)
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\tools\cythonize.py", line 66, in process_pyx
      raise OSError('Cython needs to be installed in Python as a module')
  OSError: Cython needs to be installed in Python as a module
  Traceback (most recent call last):
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 154, in save_modules
      yield saved
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
      yield
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 250, in run_setup
      _execfile(setup_script, ns)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 45, in _execfile
      exec(code, globals, locals)
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\setup.py", line 488, in <module>
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\setup.py", line 469, in setup_package
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\setup.py", line 275, in generate_cython
  RuntimeError: Running cythonize failed!

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\admin\AppData\Local\Temp\pip-install-yspqmof8\thinc\setup.py", line 263, in <module>
      setup_package()
    File "C:\Users\admin\AppData\Local\Temp\pip-install-yspqmof8\thinc\setup.py", line 201, in setup_package
      setup(
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\__init__.py", line 144, in setup
      _install_setup_requires(attrs)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\__init__.py", line 139, in _install_setup_requires
      dist.fetch_build_eggs(dist.setup_requires)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\dist.py", line 716, in fetch_build_eggs
      resolved_dists = pkg_resources.working_set.resolve(
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pkg_resources\__init__.py", line 780, in resolve
      dist = best[req.key] = env.best_match(
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pkg_resources\__init__.py", line 1065, in best_match
      return self.obtain(req, installer)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pkg_resources\__init__.py", line 1077, in obtain
      return installer(requirement)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\dist.py", line 786, in fetch_build_egg
      return cmd.easy_install(req)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 679, in easy_install
      return self.install_item(spec, dist.location, tmpdir, deps)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 705, in install_item
      dists = self.install_eggs(spec, download, tmpdir)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 890, in install_eggs
      return self.build_and_install(setup_script, setup_base)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 1158, in build_and_install
      self.run_setup(setup_script, setup_base, args)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 1144, in run_setup
      run_setup(setup_script, args)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 253, in run_setup
      raise
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\contextlib.py", line 131, in __exit__
      self.gen.throw(type, value, traceback)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
      yield
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\contextlib.py", line 131, in __exit__
      self.gen.throw(type, value, traceback)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 166, in save_modules
      saved_exc.resume()
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 141, in resume
      six.reraise(type, exc, self._tb)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\_vendor\six.py", line 685, in reraise
      raise value.with_traceback(tb)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 154, in save_modules
      yield saved
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
      yield
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 250, in run_setup
      _execfile(setup_script, ns)
    File "C:\Users\admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 45, in _execfile
      exec(code, globals, locals)
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\setup.py", line 488, in <module>
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\setup.py", line 469, in setup_package
    File "C:\Users\admin\AppData\Local\Temp\easy_install-m_723050\numpy-1.18.1\setup.py", line 275, in generate_cython
  RuntimeError: Running cythonize failed!
  ----------------------------------------

Please tell me how to solve this problem

Edited

I have uninstalled the latest version of python and downloaded 3.7.3 , its working fine.

How do I run this code

I have some pdfs and docx files. How can I extract the necessary informations from it?

Can't find how to solve this

There is an issue and I cannot find how to solve it. Below are the steps I followed:

Firstly, I cloned this repo and then created a virtual venv in the directory. Secondly, I simply pip installed the requirements.txt. Later, I ran 3 commands:

python resume_parser/manage.py makemigrations
python resume_parser/manage.py migrate
python resume_parser/manage.py runserver

After visiting 127.0.0.1 and submitting a CV the below error shows up. Could anyone please help me with that?

image

image

Different results when running parser directly

Omkar,
Hi, great script here. I did run into a mysterious bug.

I tried parsing other PDF files, using pyresparser in command line, and running it directly under the https://github.com/OmkarPathak/pyresparser project, but I am getting different results strangely, I have not been able to figure out why.
For example,
In this project, when I run:
pyresparser -f newResume.pdf,
it correctly parse the mobile no:
'mobile_number': '+6225########',
but when I run it using this command, under the https://github.com/OmkarPathak/pyresparser directly using:
python command_line.py -f newResume.pdf,
I instead get the year as the mobile_number, e.g.
'mobile_number': '001 1995'

It somehow gets confused with the year instead of the mobile. Initially I ran it under different OS, I though it was OS related but apparently its not. Can you point me to what may have gone wrong? Thanks.

Upload a file

Hi @OmkarPathak ,
I am using flask framework i am trying to upload file and extract the info from that file but i am facing an issue related to that i.e, i was only able to upload the files which are present in the same folder i.e, where app.py is located when ever i was trying to upload from different location it was not uploading it was showing an error
can you help me to resolve this issue...
Thanks and Regards,
Manikantha Sekhar..

ValueError: Table django_admin_log does not exist

while using the docker-compose up -d build .I find this error

ERROR: No such service: build

So i use the below command:But still i am facing issue. Please help

user:/home/user/Downloads/ResumeParser-master/resume_parser# docker build .
Sending build context to Docker daemon 393.7kB
.......

[nltk_data] Downloading package maxent_ne_chunker to
[nltk_data] /root/nltk_data...
[nltk_data] Unzipping chunkers/maxent_ne_chunker.zip.
[nltk_data] Downloading package words to /root/nltk_data...
[nltk_data] Unzipping corpora/words.zip.
[nltk_data] Downloading package stopwords to /root/nltk_data...
[nltk_data] Unzipping corpora/stopwords.zip.
[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data] Unzipping tokenizers/punkt.zip.
[nltk_data] Downloading package wordnet to /root/nltk_data...
[nltk_data] Unzipping corpora/wordnet.zip.
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data] /root/nltk_data...
[nltk_data] Unzipping taggers/averaged_perceptron_tagger.zip.
Removing intermediate container c2e9af2cebb0
---> 3ad6c7dd7482
Step 9/11 : RUN python /usr/src/app/manage.py flush --no-input
---> Running in a095170ee199
Traceback (most recent call last):
File "/usr/src/app/manage.py", line 15, in

File "/usr/local/lib/python3.7/site-packages/django/db/backends/sqlite3/introspection.py", line 187, in get_primary_key_column
raise ValueError("Table %s does not exist" % table_name)
ValueError: Table django_admin_log does not exist
The command '/bin/sh -c python /usr/src/app/manage.py flush --no-input' returned a non-zero code: 1

nltk error

Resource stopwords not found.
Please use the NLTK Downloader to obtain the resource:

import nltk
nltk.download('stopwords')

For more information see: https://www.nltk.org/data.html

Attempted to load corpora/stopwords

Flow

Can you help me with the flow of the code?

The syntax of the command is incorrect.

C:\Users\moham\Desktop\Resume Parser\ResumeParser-master>python cli.py -f <C:\Users\moham\Desktop\Resume Parser\ResumeParser-master\resumes\Saad.pdf>
The syntax of the command is incorrect.

Syntax Error

@OmkarPathak When I run the cli.py, I encountered with this error
Traceback (most recent call last):
File "resume_parser/cli.py", line 6, in
from resume_parser.ResumeParser import ResumeParser
ModuleNotFoundError: No module named 'resume_parser.ResumeParser'

Im using windows 10, Python 3.7.3
please help me

Error on docker-compose up

I am getting the following error while running the docker-compose

(python3.5) 671207523NB001:ResumeParser mnoordeen$ sudo docker-compose up -d
Building web
Step 1/11 : FROM python:3
---> e497dabd8450
Step 2/11 : ENV PYTHONUNBUFFERED 1
---> Using cache
---> de3d41caadda
Step 3/11 : RUN mkdir -p /usr/src/app
---> Using cache
---> 55792868cd3a
Step 4/11 : WORKDIR /usr/src/app
---> Using cache
---> 1c9b6d2112a8
Step 5/11 : COPY requirements.txt /usr/src/app
---> Using cache
---> 1514ca91001f
Step 6/11 : RUN pip install -r /usr/src/app/requirements.txt
---> Using cache
---> e38f9f560c17
Step 7/11 : COPY . /usr/src/app
---> Using cache
---> e8c9407a8c34
Step 8/11 : RUN python /usr/src/app/pre_requisites.py
---> Using cache
---> be5a2b962d6c
Step 9/11 : RUN python /usr/src/app/manage.py makemigrations
---> Running in 442789c1879c
Traceback (most recent call last):
File "/usr/src/app/manage.py", line 8, in
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/app/manage.py", line 14, in
) from exc
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
ERROR: Service 'web' failed to build: The command '/bin/sh -c python /usr/src/app/manage.py makemigrations' returned a non-zero code: 1

Extract Info

Hi @OmkarPathak @dazzag24 ,
I had clone your data and started parsing the resume but i found some difficulty in extracting the experience and company names can you tell how it works from utils.py file from the functions extract_experience and extract_competencies
and actually for parsing i had given my resume in that i mentioned as experience and company as side headings but also i was unable to get it

Thanks and Regards,
Manikantha Sekhar

exception when try to load more than 25 resumes

Hello Omkar, I am getting error like this

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "resume_parser/resume_parser.py", line 80, in
results = [p.get() for p in results]
File "resume_parser/resume_parser.py", line 80, in
results = [p.get() for p in results]
File "C:\Users\EDUBRIDGE.conda\envs\resume_parser_working\lib\multiprocessing\pool.py", line 644, in get
raise self._value
IndexError: list index out of range

SyntaxError: Non-ASCII character

@OmkarPathak When I run the cli.py, I encountered with this error

Traceback (most recent call last):
File "cli.py", line 6, in
from resume_parser.resume_parser import ResumeParser
File "/home/AnacondaProjects/jupyter/Pdf_Extractor/ResumeParser-master/resume_parser/resume_parser.py", line 4, in
from . import utils
File "/home/AnacondaProjects/jupyter/Pdf_Extractor/ResumeParser-master/resume_parser/utils.py", line 10, in
from . import constants as cs
File "/home/AnacondaProjects/jupyter/Pdf_Extractor/ResumeParser-master/resume_parser/constants.py", line 201
SyntaxError: Non-ASCII character '\xc2' in file /home/AnacondaProjects/jupyter/Pdf_Extractor/ResumeParser-master/resume_parser/constants.py on line 201, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

Im using Ubuntu 16.04, Python 2.7

Issue on python 3:10

I've tried to start the project via docker-compose, which downloaded me the current python 3.10 version. This has caused some issued during build.

#10 133.0   running build_ext
#10 133.0   building 'spacy.parts_of_speech' extension
#10 133.0   creating build/temp.linux-x86_64-3.10
#10 133.0   creating build/temp.linux-x86_64-3.10/spacy
#10 133.0   gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-w0iqws3t/overlay/lib/python3.10/site-packages/numpy/core/include -I/usr/local/include/python3.10 -I/tmp/pip-install-bpv4_10g/spacy_6709c77e37d2427fb60a9297bb34f718/include -I/usr/local/include/python3.10 -c spacy/parts_of_speech.cpp -o build/temp.linux-x86_64-3.10/spacy/parts_of_speech.o -O2 -Wno-strict-prototypes -Wno-unused-function
#10 133.0   cc1plus: warning: command-line option ‘-Wno-strict-prototypes’ is valid for C/ObjC but not for C++
#10 133.0   g++ -pthread -shared build/temp.linux-x86_64-3.10/spacy/parts_of_speech.o -L/usr/local/lib -o build/lib.linux-x86_64-3.10/spacy/parts_of_speech.cpython-310-x86_64-linux-gnu.so
#10 133.0   building 'spacy.strings' extension
#10 133.0   gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-w0iqws3t/overlay/lib/python3.10/site-packages/numpy/core/include -I/usr/local/include/python3.10 -I/tmp/pip-install-bpv4_10g/spacy_6709c77e37d2427fb60a9297bb34f718/include -I/usr/local/include/python3.10 -c spacy/strings.cpp -o build/temp.linux-x86_64-3.10/spacy/strings.o -O2 -Wno-strict-prototypes -Wno-unused-function
#10 133.0   cc1plus: warning: command-line option ‘-Wno-strict-prototypes’ is valid for C/ObjC but not for C++
#10 133.0   spacy/strings.cpp: In function ‘int __pyx_pf_5spacy_7strings_11StringStore_12__contains__(__pyx_obj_5spacy_7strings_StringStore*, PyObject*)’:
#10 133.0   spacy/strings.cpp:4280:29: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5spacy_8typedefs_hash_t’ {aka ‘long unsigned int’} and ‘Py_ssize_t’ {aka ‘long int’} [-Wsign-compare]
#10 133.0    4280 |   __pyx_t_1 = ((__pyx_v_key < __pyx_t_6) != 0);
#10 133.0         |                 ~~~~~~~~~~~~^~~~~~~~~~~
#10 133.0   spacy/strings.cpp: In function ‘PyObject* __pyx_gb_5spacy_7strings_11StringStore_16generator(__pyx_CoroutineObject*, PyThreadState*, PyObject*)’:
#10 133.0   spacy/strings.cpp:4443:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<long unsigned int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
#10 133.0    4443 |   for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
#10 133.0         |                       ~~~~~~~~~~^~~~~~~~~~~
#10 133.0   spacy/strings.cpp: In function ‘PyObject* __Pyx_Coroutine_Send(PyObject*, PyObject*)’:
#10 133.0   spacy/strings.cpp:10123:19: error: ‘_PyGen_Send’ was not declared in this scope; did you mean ‘_PyGen_yf’?
#10 133.0   10123 |             ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
#10 133.0         |                   ^~~~~~~~~~~
#10 133.0         |                   _PyGen_yf
#10 133.0   spacy/strings.cpp:10128:19: error: ‘_PyGen_Send’ was not declared in this scope; did you mean ‘_PyGen_yf’?
#10 133.0   10128 |             ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
#10 133.0         |                   ^~~~~~~~~~~
#10 133.0         |                   _PyGen_yf
#10 133.0   spacy/strings.cpp: In function ‘PyObject* __Pyx_Generator_Next(PyObject*)’:
#10 133.0   spacy/strings.cpp:10212:19: error: ‘_PyGen_Send’ was not declared in this scope; did you mean ‘_PyGen_yf’?
#10 133.0   10212 |             ret = _PyGen_Send((PyGenObject*)yf, NULL);
#10 133.0         |                   ^~~~~~~~~~~
#10 133.0         |                   _PyGen_yf
#10 133.0   error: command '/usr/bin/gcc' failed with exit code 1
#10 133.0   ----------------------------------------
#10 133.0   ERROR: Failed building wheel for spacy
#10 133.0   Building wheel for docx2txt (setup.py): started
#10 133.3   Building wheel for docx2txt (setup.py): finished with status 'done'
#10 133.3   Created wheel for docx2txt: filename=docx2txt-0.8-py3-none-any.whl size=3980 sha256=c93dde0c8a74119652f77642208ea0338bec8a37e78b9ade60b641838938c475
#10 133.3   Stored in directory: /root/.cache/pip/wheels/22/58/cf/093d0a6c3ecfdfc5f6ddd5524043b88e59a9a199cb02352966
#10 133.3   Building wheel for pyrsistent (PEP 517): started
#10 134.3   Building wheel for pyrsistent (PEP 517): finished with status 'done'
#10 134.3   Created wheel for pyrsistent: filename=pyrsistent-0.18.0-cp310-cp310-linux_x86_64.whl size=115450 sha256=9d592650fe4462af4c30e3ce2867a25bd5adcce6f5605b6ede3105677bdaeeb9
#10 134.3   Stored in directory: /root/.cache/pip/wheels/bf/ee/17/b548a960bb9e20daf7987f316c326e8a368603809ace3b2374
#10 134.3 Successfully built docx2txt pyrsistent
#10 134.3 Failed to build spacy
#10 134.3 ERROR: Could not build wheels for spacy which use PEP 517 and cannot be installed directly
#10 134.3 WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
#10 134.3 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.

How to permanently store the data from this website into a sqlite3 database?

Hi, thanks for the website. It works well.I just wanted to ask one question regarding the database in which the resume data is being stored. The parsed data from the previous resumes gets removed every time I refresh the website. What I want is for this data to be stored and not get removed even when I refresh the website. I am new to Django, so could someone help as to what changes I need to make in the code for it to permanently store data in the database.

Multi column resume

Can you suggest a way by which multiple columns resume can be parsed?
Thanks

Add social profiles

Can you add a functionality to extract social accounts :
Facebook, twitter, LinkedIn

Fix Regex to Extract phone number

I tested your regex expression to extract phone numbers and I found that it is very restrictive and somewhat inconsistent, per example:

+911234567890 matches to +9112345678

+929 929929929 matches to +929 9299299

I came up with this expression
(?:(?:\()?\+([0-9]*)(?:\))?((?:[\s-]*[0-9]+)+))

which matches numbers in two groups, per example:

(+91) 1234567890 matches to (+91) 1234567890 with group 1 as 91 and group 2 as 1234567890
1234567890

if there are no '(' or ')' it'll match the whole number to one group.

What do you think of this, should I make a pull request on this?

AttributeError: module 'utils' has no attribute 'extract_text'

@OmkarPathak, I am getting this error.

C:\Users\moham\Desktop\Resume_Parser\ResumeParser-master>python cli.py -f C:\Users\moham\Desktop\Resume_Parser\ResumeParser-master\resumes\a2.pdf
C:\Users\moham\AppData\Local\Programs\Python\Python37-32\lib\importlib_bootstrap.py:219: RuntimeWarning: cymem.cymem.Pool size changed, may indicate binary incompatibility. Expected 24 from C header, got 32 from PyObject
return f(*args, **kwds)
C:\Users\moham\AppData\Local\Programs\Python\Python37-32\lib\importlib_bootstrap.py:219: RuntimeWarning: cymem.cymem.Address size changed, may indicate binary incompatibility. Expected 12 from C header, got 20 from PyObject
return f(*args, **kwds)
C:\Users\moham\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests_init_.py:91: RequestsDependencyWarning: urllib3 (1.24.1) or chardet (2.3.0) doesn't match a supported version!
RequestsDependencyWarning)
�[96m Extracting data from: C:\Users\moham\Desktop\Resume_Parser\ResumeParser-master\resumes\a2.pdf�[00m
C:\Users\moham\AppData\Local\Programs\Python\Python37-32\lib\importlib_bootstrap.py:219: RuntimeWarning: cymem.cymem.Pool size changed, may indicate binary incompatibility. Expected 24 from C header, got 32 from PyObject
return f(*args, **kwds)
C:\Users\moham\AppData\Local\Programs\Python\Python37-32\lib\importlib_bootstrap.py:219: RuntimeWarning: cymem.cymem.Address size changed, may indicate binary incompatibility. Expected 12 from C header, got 20 from PyObject
return f(*args, **kwds)
Traceback (most recent call last):
File "cli.py", line 63, in
pprint(cli_obj.extract_resume_data())
File "cli.py", line 23, in extract_resume_data
return self.__extract_from_file(args.file)
File "cli.py", line 32, in __extract_from_file
resume_parser = ResumeParser(file)
File "C:\Users\moham\Desktop\Resume_Parser\ResumeParser-master\resume_parser\resume_parser.py", line 23, in init
self.__text_raw = utils.extract_text(self.__resume, os.path.splitext(self.__resume)[1])
AttributeError: module 'utils' has no attribute 'extract_text'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.