--- id: yorm version: "1.6.2" license: MIT license_treatment: permissive maintenance: abandoned --- # YORM — Automatic object-YAML mapping for Python. License: permissive · Maintenance: abandoned · Downloads: 157.6K/mo ## What it is and what it does YORM is a Python object-relational mapper for YAML files that automatically keeps object attributes synchronized with YAML storage on disk. You decorate a class with @yorm.attr() to specify type mappings and @yorm.sync() to define the file path, then changes to the object's attributes are automatically written to the YAML file, and edits to the YAML file are automatically reflected in the object. It handles type inference and conversion for basic Python types, supports nested objects and lists, and preserves file formatting for version control. The package depends on PyYAML, simplejson, parse, and pathlib2. It was last released in March 2019 and is no longer maintained; the repository is archived. While it reached a stable 1.0 release and has a complete feature set for basic object-to-YAML mapping, its age and lack of maintenance mean it may not work with current Python or dependency versions without issues. Use it for: - Store application configuration in human-readable YAML files that automatically sync with Python object state - Persist model objects to version-control-friendly text files without writing custom serialization logic - Build simple data stores where YAML files serve as the backing storage for Python classes - Maintain bidirectional synchronization between in-memory objects and file-based records for small datasets ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. YORM maps Python object attributes bidirectionally to YAML files, automatically synchronizing changes between in-memory objects and text-based storage. No. The package is abandoned (last release 2019-03-23, repository archived) with no active maintenance. While it has low install friction and a permissive MIT license, the lack of updates for over five years means it will not receive security patches, bug fixes, or compatibility updates for modern Python or dependency versions. For new projects, use an actively maintained alternative; for legacy systems already using YORM, proceed with caution and test thoroughly. ## Install pip install yorm uv add yorm poetry add yorm ## Installing YORM Before you install: Low install friction with four straightforward runtime dependencies. However, the package is abandoned as of 2019-03-23 with no active maintenance; the repository is archived and no updates have been released in over five years. License in practice: MIT license is permissive and imposes no significant restrictions on use, modification, or distribution. Quickstart: pip install YORM import yorm from yorm.types import String, Integer, Float @yorm.attr(name=String, year=Integer, gpa=Float) @yorm.sync("students/{self.school}/{self.number}.yml") class Student: def __init__(self, name, school, number, year=2009): self.name = name self.school = school self.number = number self.year = year self.gpa = 0.0 s1 = Student("John Doe", "GVSU", 123) s1.gpa = 3.0 # Automatically written to YAML file Verify before relying: - Whether the package works reliably with modern Python versions beyond 3.7 despite no recent releases - Whether PyYAML 5.1+ security updates (mentioned in 1.6.1) remain effective against current vulnerabilities - Community fork status or maintained alternatives to this abandoned project ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 157.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags object to YAML mapping, bidirectional YAML serialization, Python object persistence, YAML file synchronization, attribute to file mapping, ORM for YAML files, automatic object serialization, yaml-serialization, abandoned [View on SkillFed](https://skillfed.io/packages/yorm) · [View on PyPI](https://pypi.org/project/yorm/)