ats-optimizer / data_models /job_description.py
CapProj's picture
Upload 25 files
5dec17e verified
raw
history blame contribute delete
854 Bytes
from dataclasses import dataclass
from typing import Dict, List
@dataclass
class JobDescription:
# raw_text: str
# extracted_keywords: List[str]
# keyterms: List[tuple]
# entities: List[str]
raw_text: str
extracted_keywords: list
keyterms: list
entities: list
@property
def required_skills(self) -> List[str]:
return [kw for kw in self.extracted_keywords if 'skill' in kw.lower()]
@property
def experience_requirements(self) -> Dict:
return {
'years': self._extract_years(),
'technologies': self._extract_tech()
}
def _extract_years(self) -> int:
# Extract years requirement using regex
pass
def _extract_tech(self) -> List[str]:
# Extract required technologies
pass