File size: 945 Bytes
403ebf9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from typing import List, Optional, Dict, Any
from pydantic import BaseModel, Field

class ProfileData(BaseModel):
    """Structured LinkedIn profile data"""
    full_name: Optional[str] = None
    headline: Optional[str] = None
    about: Optional[str] = None
    location: Optional[str] = None # Added based on scraper output
    profile_url: Optional[str] = None # Added based on scraper output
    experience: List[Dict[str, Any]] = Field(default_factory=list)
    education: List[Dict[str, Any]] = Field(default_factory=list)
    skills: List[str] = Field(default_factory=list)
    recommendations: List[Dict[str, Any]] = Field(default_factory=list)
    accomplishments: List[Dict[str, Any]] = Field(default_factory=list) # Added based on scraper output
    raw_data: Dict[str, Any] = Field(default_factory=dict)

    class Config:
        arbitrary_types_allowed = True

# Add other core, reusable data models here if needed in the future.