Skip to main content

AI-powered resume parser with parallel processing capabilities

Project description

ResumeParser Pro 🚀

PyPI version Python Support License: MIT

Production-ready AI-powered resume parser with parallel processing capabilities. Extract structured data from resumes in PDF, DOCX, and TXT formats using state-of-the-art language models.

🌟 Features

  • 🤖 AI-Powered: Uses advanced language models (GPT, Gemini, Claude, etc.)
  • ⚡ Parallel Processing: Process multiple resumes simultaneously
  • 📊 Structured Output: Returns clean, validated JSON data
  • 🎯 High Accuracy: Extracts 20+ fields with intelligent categorization
  • 📈 Production Ready: Robust error handling and logging
  • 🔌 Easy Integration: Simple API with just 3 lines of code

🚀 Quick Start

Installation

pip install resumeparser-pro

For full functionality (recommended)

pip install resumeparser-pro[full]

Basic Usage

from resumeparser_pro import ResumeParserPro

Initialize parser
parser = ResumeParserPro(
provider="google_genai",
model_name="gemini-2.0-flash",
api_key="your-api-key"
)

Parse single resume
result = parser.parse_resume("resume.pdf")
print(f"Name: {result.resume_data.contact_info.full_name}")
print(f"Experience: {result.resume_data.total_experience_months} months")

Batch Processing

#Process multiple resumes in parallel
file_paths = ["resume1.pdf", "resume2.docx", "resume3.pdf"]
results = parser.parse_batch(file_paths)

Get successful results
successful_resumes = parser.get_successful_resumes(results)
print(f"Parsed {len(successful_resumes)} resumes successfully")

📊 Extracted Data

ResumeParser Pro extracts 20+ structured fields:

Contact Information

  • Full name, email, phone number
  • Location, LinkedIn, GitHub, portfolio
  • Other social profiles

Professional Data

  • Work experience with integer month durations
  • Education with GPA standardization
  • Skills categorized by type
  • Projects with technologies and outcomes
  • Certifications with dates and organizations

Metadata

  • Total experience in months
  • Industry classification
  • Seniority level assessment

🎯 Supported AI Providers

Since ai-resume-parser uses LangChain's init_chat_model, it supports all LangChain-compatible providers:

Major Providers:

Provider Example Models Setup
Google Gemini 2.0 Flash, Gemini Pro, Gemini 1.5 provider="google_genai"
OpenAI GPT-4o, GPT-4o-mini, GPT-4 Turbo provider="openai"
Anthropic Claude 3.5 Sonnet, Claude 3 Opus provider="anthropic"
Azure OpenAI GPT-4, GPT-3.5-turbo provider="azure_openai"
AWS Bedrock Claude, Llama, Titan provider="bedrock"
Cohere Command, Command-R provider="cohere"
Mistral Mistral Large, Mixtral provider="mistral"
Ollama Local models (Llama, CodeLlama) provider="ollama"
Together Various open-source models provider="together"

Usage Examples:

Google Gemini
parser = ResumeParserPro(
provider="google_genai",
model_name="gemini-2.0-flash",
api_key="your-google-api-key"
)

Azure OpenAI
parser = ResumeParserPro(
provider="azure_openai",
model_name="gpt-4",
api_key="your-azure-key"
)

Local Ollama
parser = ResumeParserPro(
provider="ollama",
model_name="llama2:7b",
api_key="" # No API key needed for local
)

AWS Bedrock
parser = ResumeParserPro(
provider="bedrock",
model_name="anthropic.claude-3-sonnet-20240229-v1:0",
api_key="your-aws-credentials"
)

Full list: See LangChain Model Providers for complete provider support.

📈 Performance

  • Speed: ~3-5 seconds per resume
  • Parallel Processing: 5-10x faster for batch operations
  • Accuracy: 95%+ field extraction accuracy
  • File Support: PDF, DOCX, TXT formats

🛠️ Advanced Features

Custom Configuration

parser = ResumeParserPro(
provider="openai",
model_name="gpt-4o-mini",
api_key="your-api-key",
max_workers=10, # Parallel processing workers
temperature=0.1 # Model consistency
)

Error Handling

results = parser.parse_batch(file_paths, include_failed=True)

Get processing summary
summary = parser.get_summary(results)
print(f"Success rate: {summary['success_rate']:.1f}%")
print(f"Failed files: {len(summary['failed_files'])}")

📋 Requirements

  • Python 3.8+
  • API key from supported provider
  • Optional: PyMuPDF, python-docx for enhanced file support

🤝 Contributing

Contributions welcome! Please read our contributing guidelines.

📄 License

MIT License - see LICENSE file for details.

🆘 Support


Built with ❤️ for the recruitment and HR community

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

ai_resume_parser-1.0.1.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

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

ai_resume_parser-1.0.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file ai_resume_parser-1.0.1.tar.gz.

File metadata

  • Download URL: ai_resume_parser-1.0.1.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for ai_resume_parser-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fcad52b55491a353ffc6d27c9b6265980b8def608b6448ee8e989028932450ee
MD5 68393e481ae492e7a29f4ba6e3ccd191
BLAKE2b-256 8e0380104efa69404aae120b6584b3ce1eb3bb2d9b5630121e5d0780982c7865

See more details on using hashes here.

File details

Details for the file ai_resume_parser-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_resume_parser-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5cfa6b15f3205206b060f232e69a6743372dfa273c4a28e87e62aa5cf1822d92
MD5 56daee772fb557bd957a9233f73aaf8b
BLAKE2b-256 39a3b78307dbdcb64e37f9c612bb7bca76b39a0a60787ae11fd8756eade8357b

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