Python YAML

Open-source Python projects categorized as YAML

YAML is a digestible data serialization language that is often utilized to create configuration files and works in concurrence with any programming language. YAML targets many of the same communications applications as Extensible Markup Language but has a minimal syntax which intentionally differs from SGML.

Top 23 Python YAML Projects

  • jc

    CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

    Project mention: Human redable multiline string into Json. | reddit.com/r/json | 2023-01-26

    As others have mentioned you can use YAML to create the values and then convert the YAML to JSON. Here's how you can do that at the command line with jc:

  • tmuxp

    :computer: tmux session manager. built on libtmux

    Project mention: Getting started with tmux | reddit.com/r/linux | 2022-12-11
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • dynaconf

    Configuration Management for Python ⚙

    Project mention: Dynamic s3 path while reading pyspark | reddit.com/r/dataengineering | 2022-05-29
  • yamllint

    A linter for YAML files.

    Project mention: IT Pro Tuesday #227 - Notification Tool, SPF/DKIM/DMARC Tutorial, YAML Linter & More | reddit.com/r/ITProTuesday | 2022-11-15

    yamllint, as the name suggests, is a linter for YAML files. It checks syntax validity, as well as looking for more-complex errors like key repetition and cosmetic problems such as line length, trailing spaces, indentation etc. This one was indly recommended by yankdevil.

  • yq

    Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents (by kislyuk)

    Project mention: The YAML Document from Hell | news.ycombinator.com | 2023-01-12
  • pyyaml

    Canonical source repository for PyYAML

    Project mention: is there any difference between using string.format() or an fstring? | reddit.com/r/Python | 2022-10-10

    They did finally change the default, in PyYAML 6, after many many bugs pointing out that their previous approach is broken (including one by yours truly), so the default is now safe.

  • kapitan

    Generic templated configuration management for Kubernetes, Terraform and other things

  • Sonar

    Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • JobFunnel

    Scrape job websites into a single spreadsheet with no duplicates.

  • omegaconf

    Flexible Python configuration system. The last one you will ever need.

    Project mention: OmegaConf module not found: Deforum_Stable_Diffusion.ipynb | reddit.com/r/StableDiffusion | 2022-12-22

    !pip install -e git+https://github.com/omry/omegaconf.git#egg=omegaconf

  • datamodel-code-generator

    Pydantic model generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources.

    Project mention: Create Pydantic datamodel from huge JSON file with local datamodel-code-generator | reddit.com/r/learnpython | 2022-12-22

    The site also provide a link to the github repo of the underlying program.

  • strictyaml

    Type-safe YAML parser and validator.

    Project mention: DO YOU YAML? | dev.to | 2023-01-16

    YAML stands for "YAML Ain’t Markup Language" - this is known as a recursive acronym. YAML is often used for writing configuration files. It’s human readable, easy to understand and can be used with other programming languages. Although YAML is commonly used in many disciplines, it has received criticism on the amoutn of whitespace .yml files have, difficulty in editing, and complexity of the standard. Despite the criticism, properly using YAML ensures that you can reproduce the results of a project and makes sure that the virtual environment packages play nicely with system packages. (If you're looking for another way to share environments there are other alternatives to YAML which include StrictYAML (a type-safe YAML parser) and NestedText)

  • python-benedict

    :blue_book: dict subclass with keylist/keypath support, built-in I/O operations (base64, csv, ini, json, pickle, plist, query-string, toml, xls, xml, yaml), s3 support and many utilities.

    Project mention: What are the best Python libraries to learn for beginners? | reddit.com/r/learnpython | 2023-01-30

    python-benedict: Dictionary manipulation library

  • shyaml

    YAML for command line

  • Yamale

    A schema and validator for YAML.

    Project mention: Recommended ways to catch missing environment variables in github actions? | reddit.com/r/devops | 2023-01-10

    For example https://github.com/23andMe/Yamale and more broadly https://json-schema-everywhere.github.io/yaml

  • remarshal

    Convert between CBOR, JSON, MessagePack, TOML, and YAML

  • mashumaro

    Fast and well tested serialization framework on top of dataclasses

  • themes

    Custom themes repository for Warp, a blazingly fast modern terminal built in Rust. (by warpdotdev)

    Project mention: Show HN: Warp, a Rust-based terminal for the modern age | news.ycombinator.com | 2022-04-05
  • jinja2-cli

    CLI for Jinja2

  • confuse

    painless YAML config files for Python

  • gitlabform

    🏗 Specialized configuration as a code tool for GitLab

    Project mention: Gitlab User Management | reddit.com/r/gitlab | 2022-05-20
  • nestedtext

    Human Readable and Writable Data Interchange Format

    Project mention: The yaml document from hell | reddit.com/r/programming | 2023-01-12

    As /u/astatine said, an excellent but under-recognized alternative syntax for configuration files is NestedText, where everything is a string unless the ingesting code says otherwise, and there is no escaping needed ever.

  • python-frontmatter

    Parse and manage posts with YAML (or other) frontmatter

    Project mention: How I load Markdown in Python | dev.to | 2022-03-23

    ❯ inspect(frontmatter.load("pages/til/python-frontmatter.md")) ╭────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────╮ │ A post contains content and metadata from Front Matter. This is what gets │ │ returned by :py:func:`load ` and :py:func:`loads `. │ │ Passing this to :py:func:`dump ` or :py:func:`dumps ` │ │ will turn it back into text. │ │ │ │ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ │ │ │ │ │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ content = "I use a package\n[eyeseast/python-frontmatter](https://github.com/eyeseast/python-frontmatter)\nto load files with frontmatter in │ │ them. Its a handy package that allows you to\nload files with structured frontmatter (yaml, json, or toml).\n\n## Install\n\nIt's │ │ on pypi, so you can install it into your virtual environment with pip.\n\n``` {% endraw %} bash\npython -m pip install │ │ python-frontmatter\n {% raw %} ```\n\n## 🙋 What's Frontmatter\n\nFrontmatter is a handy way to add metadata to your plain text files. │ │ It's\nquite common to have yaml frontmatter in markdown. All of my blog posts have\nyaml frontmatter to give the post metadata such │ │ as post date, tags, title, and\ntemplate. dev.to is a popular developer blogging platform that also builds all\nof its posts with │ │ markdown and yaml frontmatter.\n\n## Let's see an example\n\nHere is the exact frontmatter for this post you are reading on my │ │ site.\n\n``` {% endraw %} markdown\n---\ndate: 2022-03-24 03:18:48.631729\ntemplateKey: til\ntitle: How I load Markdown in Python\ntags:\n - │ │ linux\n - python\n\n---\n\nThis is where the markdown content for the post goes.\n {% raw %} ```\n\n## So it's yaml\n\nyaml is the most │ │ commmon, but\n[eyeseast/python-frontmatter](https://github.com/eyeseast/python-frontmatter)\nalso │ │ supports\n[Handlers](https://python-frontmatter.readthedocs.io/en/latest/handlers.html?highlight=toml#module-frontmatter.default_ha… │ │ toml and json.\n\nIf you want a good set of examples of yaml\n[learnxinyminutes](https://learnxinyminutes.com/docs/yaml/) has a │ │ fantastic set\nof examples in one page.\n\n## How to load yaml frontmatter in python" │ │ handler = │ │ metadata = { │ │ 'date': datetime.datetime(2022, 3, 24, 3, 18, 48, 631729), │ │ 'templateKey': 'til', │ │ 'title': 'How I load Markdown in Python', │ │ 'tags': ['linux', 'python', 'python'] │ │ } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

  • vcspull

    :arrows_counterclockwise: Synchronize projects via yaml/json manifest. Built using `libvcs`.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-01-30.

Python YAML related posts

Index

What are some of the best open-source YAML projects in Python? This list will help you:

Project Stars
1 jc 6,000
2 tmuxp 3,596
3 dynaconf 2,874
4 yamllint 2,254
5 yq 2,075
6 pyyaml 2,063
7 kapitan 1,625
8 JobFunnel 1,614
9 omegaconf 1,386
10 datamodel-code-generator 1,379
11 strictyaml 1,191
12 python-benedict 892
13 shyaml 737
14 Yamale 540
15 remarshal 486
16 mashumaro 474
17 themes 398
18 jinja2-cli 392
19 confuse 388
20 gitlabform 342
21 nestedtext 290
22 python-frontmatter 258
23 vcspull 201
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com