Python
from pydantic import BaseModel
from automapper import mapper

class SkillA(BaseModel):  # Make SkillA a Pydantic model
    name: str
    level: int
    
class SkillB(BaseModel):  # Make SkillB a Pydantic model
    name: str

class Person(BaseModel):
    name: str
    age: int
    skills: SkillA
    
class PersonB(BaseModel):
    name: str
    skills: SkillB
    
if __name__ == "__main__":
    p = Person(name="test", age=1, skills=SkillA(name="run", level=2))
    print(p)
    
    #not working
    try:
        p2 = mapper.to(PersonB).map(p)
        print(f"P2 with deep mapping{p2}")
    except Exception as e:
        print("Error in mapping")
        pass
    
    #working
    mapper.add(SkillA, SkillB)
    p2 = mapper.to(PersonB).map(p)
    print(p2)
name='test' age=1 skills=SkillA(name='run', level=2)
Error in mapping
name='test' skills=SkillB(name='run')