Catalog PyPI
Back to packageRELEASE DETAILS

0.5.0

PyPI

advanced-yaml

A suite of tools to advance your usage of yaml. YASL provides schema definition and verification. YAQL let's you query your yalm as if it were a database. YARL provides analysis and reporting. And YATL allows you to transform yaml from one structure (schema) to another.

Published7 Jan 2026
Direct dependencies37
Transitive dependenciesNot calculated

README

Version 0.5.0 documentation

Advanced YAML

Advanced YAML is a suite of tools that streamline data management of structured data in YAML.

These tools include:

  • YASL - YAML Advanced Schema Language
  • YAQL - YAML Advanced Query Language
  • YARL - YAML Advanced Reporting Language

Vision & Inspiration

Teams and organizations often manage a diverse, complex set data as they collaborate to achieve their objectives. This data is commonly persisted in a database. When the data evolves rapidly (i.e. has high transaction rates), this makes sense. But often our data may be considered 'semi-static', changing infrequently over time. Visibility into and integrity of changes to this 'semi-static' data as it evolves can be valuable. What changed? Who made the change? Was the change valid? Establishing this visibility within databases can become complex and costly.

The vision of advanced-yaml is to allow for 'semi-static' data to be persisted in structured human and machine readable files that can be validated for correctness and referential integrity. We see clear examples of this concept in infrastructure-as-code tools. advanced-yaml seeks to explore that paradigm for data in a highly flexible manner, suitable for a variety of domains. This would allow teams to leverage robust version control systems to rigorously manage change. Teams can create automations to ensure data validity and integrity. And this could be done without compromising the common user experiences teams are accustomed to when working with their data.

advanced-yaml attempts to enable this by providing robust solutions for defining and validating data structure and integrity through schemas in the yasl tool. The yaql tool builds upon this by providing a query language and database fascade for your data. And the yarl tool further enhances this by enabling analysis and reporting for your data. Over time additional tools will be added to support other use cases and streamline development of products that utilize this 'semi-static' data management concept.

Developer Setup

Advanced YAML is written in python and managed with the UV tool.

  • Install UV:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • Clone the advanced-yaml repo

    git clone git@github.com:jondavid-black/advanced-yaml.git
    cd advanced-yaml
    
  • Setup the virtual environment and install dependencies

    uv venv
    source .venv/bin/activate
    uv pip install -e .[dev]
    
  • Run tests w/ coverage

    uv run pytest
    
  • Run linter

    uv run ruff check .
    
  • Run formatter

    uv run ruff format .
    
  • Run type checks

    uv run pyright
    

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 37

Native requirements
37 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
astropy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
astropy>=7.2.0runtime
email-validator
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
email-validator==2.3.0runtime
markdown-it-py
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
markdown-it-py==4.0.0runtime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pydantic==2.11.7runtime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
requests==2.32.5runtime
ruamel-yaml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
ruamel-yaml==0.18.15runtime
sqlmodel
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
sqlmodel>=0.0.31runtime
typing-extensions
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
typing-extensions==4.15.0runtime
annotated-types
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
annotated-types==0.7.0; extra == "dev"runtime
behave
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
behave==1.3.2; extra == "dev"runtime
build
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
build==1.3.0; extra == "dev"runtime
certifi
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
certifi==2025.8.3; extra == "dev"runtime
charset-normalizer
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
charset-normalizer==3.4.3; extra == "dev"runtime
colorama
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
colorama==0.4.6; extra == "dev"runtime
coverage
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
coverage==7.10.6; extra == "dev"runtime
cucumber-expressions
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
cucumber-expressions==18.0.1; extra == "dev"runtime
cucumber-tag-expressions
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
cucumber-tag-expressions==6.2.0; extra == "dev"runtime
dnspython
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
dnspython==2.8.0; extra == "dev"runtime
idna
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
idna==3.10; extra == "dev"runtime
iniconfig
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
iniconfig==2.1.0; extra == "dev"runtime
mkdocs
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
mkdocs==1.6.1; extra == "dev"runtime
mkdocs-material
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
mkdocs-material==9.6.22; extra == "dev"runtime
packaging
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
packaging==25.0; extra == "dev"runtime
parse
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
parse==1.20.2; extra == "dev"runtime
parse-type
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
parse-type==0.6.6; extra == "dev"runtime
pluggy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pluggy==1.6.0; extra == "dev"runtime
pydantic-core
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pydantic-core==2.33.2; extra == "dev"runtime
pygments
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pygments==2.19.2; extra == "dev"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest==8.4.1; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov==7.0.0; extra == "dev"runtime
ruamel-yaml-clib
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
ruamel-yaml-clib==0.2.12; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
ruff==0.13.0; extra == "dev"runtime
setuptools
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
setuptools>=80.9.0; extra == "dev"runtime
six
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
six==1.17.0; extra == "dev"runtime
toml
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
toml==0.10.2; extra == "dev"runtime
typing-inspection
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
typing-inspection==0.4.1; extra == "dev"runtime
urllib3
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.12",
  "evaluation": "NOT_EVALUATED"
}
urllib3==2.6.0; extra == "dev"runtime

Distribution files

2 collected
advanced_yaml-0.5.0-py3-none-any.whl

bdist_wheel · 43.68 KB · Python py3

Source file
advanced_yaml-0.5.0.tar.gz

sdist · 39.09 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:59 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:5225bf4339ed1daa93c5e1ec374f533cde4f06bc52195e1a90cc8044d1e60eef

Other collected versions

View all collected versions →