{"library":"py-automapper","title":"py-automapper: Object Mapping Library","description":"py-automapper is a Python library designed for automatically mapping data from one object to another, reducing boilerplate code in data transfer operations. It is currently at version 2.2.0 and receives active maintenance with several releases per year.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install py-automapper"],"cli":null},"imports":["from py_automapper import automap"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from py_automapper import automap\n\nclass SourceDTO:\n    def __init__(self, first_name: str, last_name: str, age: int):\n        self.first_name = first_name\n        self.last_name = last_name\n        self.age = age\n\nclass UserDomainModel:\n    def __init__(self, full_name: str, years_old: int):\n        self.full_name = full_name\n        self.years_old = years_old\n\nsource_data = SourceDTO(first_name=\"Alice\", last_name=\"Smith\", age=30)\n\n# Map with custom field names and a transformation function\ndomain_model = automap(\n    source_data,\n    UserDomainModel,\n    mapping_cfg={\n        \"first_name\": \"full_name\",\n        \"last_name\": lambda src: src.last_name, # Can also use lambdas for complex transformations\n        \"age\": \"years_old\"\n    },\n    func_cfg={\n        \"full_name\": lambda src: f\"{src.first_name} {src.last_name}\"\n    }\n)\n\nprint(f\"Full Name: {domain_model.full_name}\")\nprint(f\"Years Old: {domain_model.years_old}\")","lang":"python","description":"This quickstart demonstrates how to map a SourceDTO object to a UserDomainModel. It includes mapping configuration for different field names and a function configuration for custom value transformations, specifically concatenating first and last names into a full name.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}