Skip to main content

Resume Analysis using Ai

Project description

Resume Analyzer with Google Gemini API

This project is a Flask-based web application designed to process and analyze resumes using the Google Gemini API. It extracts key details such as Name, Email, Phone Number, Education, Skills, Projects, and Experience from resumes in PDF format. The application also supports handling resumes in bulk and filtering resumes related to mechanical engineering based on specific skills and background.

Features

  • Resume Extraction: Extracts information like Name, Email, Phone, Education, Skills, Projects, and Experience.
  • Mechanical Engineering Filter: Identifies resumes with a mechanical engineering background and specific skills such as AutoCAD, SolidWorks, and more.
  • Single Resume Upload: Allows users to upload a single resume for analysis.
  • Bulk Resume Upload: Process all resumes in a folder.
  • CSV Export: Exports extracted resume data into CSV files.
  • Interaction with Gemini: Interact with Google Gemini API to generate insights or summaries based on the extracted resume data.

Requirements

  • Python 3.x
  • Flask
  • Google Generative AI SDK (google.generativeai)
  • PyPDF2
  • Markdown
  • Other Python dependencies can be installed using the requirements.txt.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/resume-analyzer.git
    cd resume-analyzer
    
  2. Set up a virtual environment (recommended):

    python -m venv venv
    source venv/bin/activate   # For Windows: venv\Scripts\activate
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. Get a Google API key for Gemini. Configure it in your app by setting the api_key in the following line of the app.py:

    genai.configure(api_key="your-google-api-key")
    

Running the Application

  1. Start the Flask development server:

    python app.py
    
  2. Open your browser and navigate to http://127.0.0.1:5000/.

Usage

1. Upload a Resume

  • Go to the homepage.
  • Choose a PDF resume to upload.
  • The system will extract the details and display them on the webpage.

2. Process Multiple Resumes from a Folder

  • Upload a folder URL containing multiple resumes.
  • The system will process all PDFs within the folder and extract relevant data from them.

3. Filter Mechanical Engineering Resumes

  • The system filters resumes with a mechanical engineering background based on education, experience, and specific mechanical skills.
  • The filtered data is exported to a separate CSV file.

4. CSV Export

  • After extraction, all extracted data can be downloaded in CSV format.
  • Mechanical resumes are stored in a separate CSV file if applicable.

5. Interact with Gemini API

  • You can use the interact feature to send prompts to the Gemini API, including querying the extracted resume data.
  • Responses can be in JSON, Markdown, or plain text format.

File Structure

  • app.py: Main application file containing logic and routes.
  • uploads/: Folder where uploaded resumes are stored.
  • templates/: Folder containing HTML templates.
  • static/: Folder for static assets (e.g., CSS, JS).
  • requirements.txt: List of dependencies for the project.

Dependencies

To install the necessary dependencies, you can use:

pip install -r requirements.txt

The requirements.txt includes dependencies like:

  • Flask
  • google.generativeai
  • PyPDF2
  • markdown

Future Improvements

  • Support for more document formats (e.g., DOCX).
  • Enhanced user interface for better user experience.
  • Additional data extraction for more complex resume structures.
  • Integration with a database for storing extracted resume data.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • This project uses Google Gemini API.
  • The project leverages the PyPDF2 library for PDF processing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

resume-analysis-ai-0.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

resume_analysis_ai-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file resume-analysis-ai-0.1.0.tar.gz.

File metadata

  • Download URL: resume-analysis-ai-0.1.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.9

File hashes

Hashes for resume-analysis-ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6328b9be15e62f2775d6d116bd14d51bb023750856c43c45ac2915d94b189bbd
MD5 c2a8cfeb45786ccd273b45a8a6bee017
BLAKE2b-256 31dcc12d0ff4a2525ee5df88854304d7e8152ad7de607c3db6eed0bb12e21ce2

See more details on using hashes here.

File details

Details for the file resume_analysis_ai-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for resume_analysis_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f298672987c2b5113fd34d1964811d9049adad384773297becef93f06aff1039
MD5 ebd301f4e88b7a46bc1be46f14089ff1
BLAKE2b-256 6d77771f6f31e40d41868c6f7d9931ed3474bdafa121151c3fc8e79274ddbf92

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page