skillfed

YORM

Automatic object-YAML mapping for Python.

yorm v1.6.2 157.6K downloads/30d#10,752 on PyPI27
Permissive license MIT Abandoned released

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 yorm

uv

uv add yorm

poetry

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 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: DatabaseTopic :: Software Development :: LibrariesTopic :: Software Development :: Version ControlTopic :: System :: FilesystemsTopic :: Text Editors :: Text Processing

Tags

object to YAML mappingbidirectional YAML serializationPython object persistenceYAML file synchronizationattribute to file mappingORM for YAML filesautomatic object serialization
yaml-serializationabandoned

More Libraries packages