YORM
Automatic object-YAML mapping for Python.
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 on this page — 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
yorm on PyPI
pip
pip install yormuv
uv add yormpoetry
poetry add yormInstalling 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 | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — PyYAML, simplejson, parse, pathlib2 |
| Maintenance | abandoned — 2,701 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 157,556/month — #10,752 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: YORM-1.6.2-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
datafilesDatafiles is a file-based ORM that…
permissive · top 15,000 on PyPI
pyactiveresourcePyActiveResource maps Python classes to remote…
permissive · top 5,000 on PyPI
smmap2Smmap2 is a mirror package that wraps…
unclear · top 15,000 on PyPI
SQLAlchemySQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
yaml-rsA high-performance YAML v1.2 parser for Python,…
permissive · top 15,000 on PyPI
xattrxattr is a Python wrapper for reading and…
permissive · top 5,000 on PyPI
smmapSmmap provides a sliding-window memory map…
permissive · top 1,000 on PyPI
immutablesProvides an immutable mapping type backed by a…
permissive · top 5,000 on PyPI
yamlableConverts Python objects to YAML and back using…
permissive · top 15,000 on PyPI