Resume Models
resume
Data models for resume information.
This module defines Pydantic models representing structured resume data, including contact information, work experience, education, certifications, and other resume sections.
Classes
ContactLocation
Bases: BaseModel
Geographic location information.
Attributes:
| Name | Type | Description |
|---|---|---|
city |
str | None
|
City name. |
state |
str | None
|
State or province name. |
country |
str | None
|
Country name. |
postal_code |
str | None
|
Postal or ZIP code. |
ContactInformation
Bases: BaseModel
Contact information for a person.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str | None
|
Full name of the person. |
location |
ContactLocation | None
|
Geographic location information. |
email |
str | None
|
Email address. |
phone |
str | None
|
Phone number. |
linkedin |
str | None
|
LinkedIn profile URL. |
EducationEntry
Bases: BaseModel
Education history entry.
Attributes:
| Name | Type | Description |
|---|---|---|
degree |
str | None
|
Degree name (e.g., "Bachelor of Science in Computer Science"). |
institution |
str | None
|
Name of the educational institution. |
years |
str | None
|
Years attended or duration. |
description |
str | None
|
Additional description or details. |
graduated_date |
str | None
|
Graduation date (as string). |
WorkExperienceEntry
Bases: BaseModel
Work experience entry.
Attributes:
| Name | Type | Description |
|---|---|---|
role |
str | None
|
Job title or role name. |
company |
str | None
|
Company name. |
location |
ContactLocation | None
|
Work location. |
duration |
str | None
|
Duration of employment (e.g., "2 years"). |
achievements |
list[str] | None
|
List of achievements or accomplishments. |
responsibilities |
list[str] | None
|
List of job responsibilities. |
start_date |
str | None
|
Employment start date (as string). |
end_date |
str | None
|
Employment end date (as string). |
CertificationEntry
Bases: BaseModel
Certification entry.
Attributes:
| Name | Type | Description |
|---|---|---|
certificate |
str | None
|
Name of the certification. |
issuer |
str | None
|
Organization that issued the certification. |
year |
str | None
|
Year obtained (as string). |
ProjectEntry
Bases: BaseModel
Project entry.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str | None
|
Project name. |
description |
str | None
|
Project description. |
technologies |
list[str] | None
|
List of technologies used in the project. |
ResumeData
Bases: BaseModel
Complete resume data structure.
This is the main model representing a parsed resume with all its sections. It aggregates all resume information into a structured format suitable for scoring and analysis.
Attributes:
| Name | Type | Description |
|---|---|---|
executive_summary |
str | None
|
Professional summary or objective statement. |
skills |
list[str]
|
List of skills (technical, soft skills, etc.). |
contact_information |
ContactInformation | None
|
Contact details and location. |
education |
list[EducationEntry]
|
List of education entries. |
work_experience |
list[WorkExperienceEntry]
|
List of work experience entries. |
certifications |
list[CertificationEntry]
|
List of certification entries. |
projects |
list[ProjectEntry]
|
List of project entries. |
languages |
list[str]
|
List of languages spoken. |
other_sections |
dict | None
|
Additional sections as a dictionary (flexible structure). |
Example
resume = ResumeData(
executive_summary="Experienced software engineer...",
skills=["Python", "FastAPI", "PostgreSQL"],
work_experience=[
WorkExperienceEntry(
role="Senior Software Engineer",
company="Tech Corp",
achievements=["Led team of 5 developers"]
)
],
education=[
EducationEntry(
degree="BS Computer Science",
institution="University"
)
]
)
Functions
Concatenate key textual fields for keyword-style analysis.
Combines all text content from the resume into a single string for keyword matching and text analysis. Includes summary, skills, education, work experience, certifications, projects, and languages.
Returns:
| Type | Description |
|---|---|
str
|
Single string containing all resume text content, with fields |
str
|
separated by spaces. |