skillfed

brand-yml

Read brand yaml files, a unified way to store brand information.

brand-yml v0.2.0 119.1K downloads/30d#12,089 on PyPI108
Permissive license Active released

What it is and what it does

brand.yml is a Python package that reads and structures brand guidelines stored in a portable YAML format. It parses metadata, color palettes, typography rules, and other branding elements into typed Python objects, making them accessible programmatically. The package is designed to work alongside Quarto and Shiny for Python to apply consistent branding across reports, dashboards, and web applications.

You define your company's brand once in a `_brand.yml` file—colors, fonts, logos, and other guidelines—and then load it into Python using the `Brand` class. The structured data can then be consumed by downstream tools to automatically theme outputs. It's part of Posit's effort to unify branding across their open-source ecosystem.

Use it for:

  • Load a company brand file and extract color palettes to apply to plots or dashboards.
  • Provide brand metadata (name, logo, link) to Shiny applications for consistent header/footer branding.
  • Validate brand YAML files against a schema before using them in production rendering pipelines.
  • Share a single `_brand.yml` across Python, R, and Quarto projects for unified visual identity.
  • Programmatically access typography rules to style text in generated reports or web outputs.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Parses and manages brand guidelines from a YAML file, providing structured access to logos, colors, fonts, and typography for use in Quarto, Shiny, and other tools.

Yes. The package is actively maintained, has no security vulnerabilities, and solves a real problem for teams using Posit tools. Install friction is low, and it integrates cleanly with Quarto and Shiny. Useful if you manage branded outputs across multiple projects or tools; less critical if you only need ad-hoc theming.

Install

brand-yml on PyPI

pip

pip install brand-yml

uv

uv add brand-yml

poetry

poetry add brand-yml

Installing brand-yml

Before you install

Low friction install with four runtime dependencies. Active maintenance: last commit 2026-08-11, released 2026-05-21. Supports current Python versions (3.10–3.13). No known vulnerabilities.

License in practice

MIT license (permissive). No restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install brand_yml

from brand_yml import Brand

brand = Brand.from_yaml_str("""
meta:
  name: My Company
color:
  palette:
    primary: "#447099"
  primary: primary
""")

print(brand.meta.name)

Requires Python 3.10 or later.

Verify before relying

  • Whether brand.yml integrates directly with Shiny for Python or requires additional setup.
  • Whether the package can serialize modified brand objects back to YAML.
  • Performance characteristics when parsing large or complex brand files.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 4 — eval-type-backport, htmltools, pydantic, ruamel-yaml
Maintenance actively maintained — 85 days since the last release
Last repo commit
First released
Downloads 119,105/month — #12,089 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: brand_yml-0.2.0-py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13

Tags

brand guidelines yaml parserbrand theming configurationcompany branding standardsunified brand managementyaml brand file readerbrand color and typographybranded output theming
brand-managementyaml-configtheming

More Application Frameworks packages