oyaml
Ordered YAML: drop-in replacement for PyYAML which preserves dict ordering
Decision gist · record as of 2026-08-14
Yes-with-conditions. Install if you need ordered YAML output and cannot rely on standard PyYAML. Be aware the package is unmaintained since 2020-08-18 and may not work reliably with recent PyYAML releases. If you can use modern Python versions where dict ordering is guaranteed, standard PyYAML may suffice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation is straightforward with low friction—a pure-Python wheel with a single runtime dependency on pyyaml.
- However, the package is dormant: the latest release was 2020-08-18, and no commits have landed since 2024-11-05, so it receives no active maintenance.
License · maintenance · safety
MIT (permissive) — MIT is a permissive license with minimal restrictions, allowing commercial and private use without obligation to share modifications.
last release 2020-08-18 (2187 days) · last repo commit 2024-11-05 · 185 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,703,010 downloads/mo, #2,934 on PyPI
Alternatives
Verify before relying
pip install oyaml
import oyaml as yaml
data = yaml.safe_load(open('config.yaml'))
yaml.safe_dump(data)- Whether dict ordering preservation is still necessary given Python 3.7+ guarantees insertion order for built-in dicts
- Compatibility with recent PyYAML versions and modern Python releases beyond what the fact sheet specifies
What it is and what it does
oyaml wraps PyYAML to preserve the order of keys in dictionaries during YAML serialization and deserialization. In scenarios where standard PyYAML could scramble dictionary key order, oyaml maintains insertion order throughout the round-trip. You import it as a drop-in replacement (import oyaml as yaml) and use it identically to PyYAML.
The package depends only on pyyaml and installs as a pure-Python wheel, making setup trivial. It is dormant—last released in 2020-08-18 with no recent commits—so it receives no active development or bug fixes. This matters most if you rely on it with newer PyYAML versions or encounter edge cases that require upstream fixes.
Use it for
- Preserving YAML key order in configuration files where the sequence of settings matters for readability
- Round-tripping YAML data structures without losing the original key ordering
- Ensuring consistent, predictable YAML dumps for version control or diff-friendly configuration management
- Legacy codebases that need ordered YAML output before dict ordering became standard
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes-with-conditions.
Install if you need ordered YAML output and cannot rely on standard PyYAML. Be aware the package is unmaintained since 2020-08-18 and may not work reliably with recent PyYAML releases. If you can use modern Python versions where dict ordering is guaranteed, standard PyYAML may suffice.
Install
oyaml on PyPI
Before you install
Installation is straightforward with low friction—a pure-Python wheel with a single runtime dependency on pyyaml. However, the package is dormant: the latest release was 2020-08-18, and no commits have landed since 2024-11-05, so it receives no active maintenance.
License in practice
MIT is a permissive license with minimal restrictions, allowing commercial and private use without obligation to share modifications.
Quickstart
pip install oyaml
import oyaml as yaml
data = yaml.safe_load(open('config.yaml'))
yaml.safe_dump(data)
Verify before relying
- Whether dict ordering preservation is still necessary given Python 3.7+ guarantees insertion order for built-in dicts
- Compatibility with recent PyYAML versions and modern Python releases beyond what the fact sheet specifies
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepyyaml |
| Maintenance | Dormant 2,187 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,703,010 / month, #2,934 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: oyaml-1.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “yaml dict ordering”
- oyamloyaml is a drop-in replacement for PyYAML that preserves dictionary…
- aspy.yamlProvides order-preserving YAML loading and dumping functions that…
- yamlloaderProvides specialized loaders and dumpers for pyyaml that preserve key…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also aspy.yaml · saneyaml · yamlloader · yamlordereddictloader · pyaml · HyperPyYAML · yamlable · yaml-rs · PyYAML-ft