{"id":24854,"library":"yasoo","title":"yasoo","description":"yasoo is a Python object serialization library (Yet Another Serializer Of Objects) that provides declarative serialization and deserialization for Python objects, with support for nested structures, type coercion, and custom serializers. Current version 0.12.6, requires Python >=3.6. Development appears low-cadence, with last release in 2021.","status":"active","version":"0.12.6","language":"python","source_language":"en","source_url":"https://github.com/drorvinkler/yasoo","tags":["serialization","deserialization","object-mapping","python3"],"install":[{"cmd":"pip install yasoo","lang":"bash","label":"pip install"}],"dependencies":[],"imports":[{"note":"","wrong":"","symbol":"Serializer","correct":"from yasoo import Serializer"},{"note":"","wrong":"","symbol":"fields","correct":"from yasoo import fields"}],"quickstart":{"code":"from yasoo import Serializer, fields\n\nclass UserSerializer(Serializer):\n    name = fields.String()\n    age = fields.Integer()\n\nobj = UserSerializer(name='Alice', age=30)\ndata = obj.serialize()\nprint(data)  # {'name': 'Alice', 'age': 30}\n\n# Deserialize\ndata = {'name': 'Bob', 'age': '25'}\nobj = UserSerializer.deserialize(data)\nprint(obj.name, obj.age)  # Bob 25 (age coerced to int)","lang":"python","description":"Define a serializer class with fields, then serialize/deserialize objects."},"warnings":[{"fix":"Use `raise_on_unknown=True` in the Serializer class Meta or when calling deserialize.","message":"Deserialization does not raise errors on extra keys by default; extra keys are silently ignored.","severity":"gotcha","affected_versions":"all"},{"fix":"import json; json_str = json.dumps(obj.serialize())","message":"Serialized output is a plain dict, not JSON. You must call json.dumps separately if you need JSON string.","severity":"gotcha","affected_versions":"all"},{"fix":"Use `field.OrderField` or configure Meta ordering if needed.","message":"Field order in serialized dict may not match class definition order (it follows Python's dict ordering in 3.7+).","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `from yasoo import Serializer`","cause":"Incorrect import path; attempted `import yasoo` and then `yasoo.Serializer`.","error":"AttributeError: module 'yasoo' has no attribute 'Serializer'"},{"fix":"Use `UserSerializer.deserialize(data, many=True)` for lists.","cause":"Deserializing from a list of dicts without using `many=True`.","error":"KeyError: 'name'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}