Server status ...

magogi/prod/: mgf-brand-web-0.5.2 metadata and description

Simple index

The Magogi Foundation brand-web kit as an installable package — tokenized CSS + components + self-hosted fonts + logo/pattern assets, shipped as package data so every MGF web surface shares one source of truth. Sibling of mgf-common under the mgf.* namespace.

author Bassam Alsanie, mgf-brand-web contributors
classifiers
  • Development Status :: 3 - Alpha
  • Intended Audience :: Developers
  • License :: OSI Approved :: Apache Software License
  • Operating System :: OS Independent
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Programming Language :: Python :: 3.13
  • Topic :: Software Development :: User Interfaces
  • Typing :: Typed
description_content_type text/markdown
keywords brand, css, design-system, fonts, magogi, web
license Apache-2.0
license_file
  • LICENSE
  • LICENSE-APACHE.txt
  • NOTICE
project_urls
  • Homepage, https://codeberg.org/magogi-admin/mgf-brand-web
  • Issues, https://codeberg.org/magogi-admin/mgf-brand-web/issues
  • Changelog, https://codeberg.org/magogi-admin/mgf-brand-web/src/branch/main/CHANGELOG.md
requires_dist
  • import-linter>=2.0; extra == 'dev'
  • jinja2<4,>=3.1; extra == 'dev'
  • mgf-standard<0.2,>=0.1.6; extra == 'dev'
  • mgf-test-supervisor<0.2,>=0.1.3; extra == 'dev'
  • mypy>=1.10; extra == 'dev'
  • pytest-cov>=5.0; extra == 'dev'
  • pytest-timeout<3,>=2.3; extra == 'dev'
  • pytest>=8.0; extra == 'dev'
  • ruff<0.16,>=0.4; extra == 'dev'
  • mgf-common[standards]<1.0,>=0.47; extra == 'standards'
requires_python >=3.11

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
mgf_brand_web-0.5.2-py3-none-any.whl
Size
274 KB
Type
Python Wheel
Python
3
mgf_brand_web-0.5.2.tar.gz
Size
353 KB
Type
Source

mgf-brand-web

The Magogi Foundation brand-web kit as an installable package — the CSS implementation of the [Magogi Brand Book][bb] (tokenized colours + typography + components) plus the self-hosted OFL fonts, Cornerstone-Orbit logo marks, Federation-Lattice patterns, the 42-icon sprite, the .mgf-console operator shell, and a Jinja template pack, shipped as package data.

mgf-brand ships only design tokens + prose; mgf-brand-web fills the component-CSS gap so every MGF web surface (the cloud console, internal tools, …) consumes one source of truth instead of copying CSS — the drift the federation kept hitting. Sibling of mgf-common under the mgf.* namespace.

Use it

pip install mgf-brand-web   # resolves from the self-hosted devpi index

Mount the kit's static directory (FastAPI/Starlette example):

from fastapi.staticfiles import StaticFiles
from mgf.brand_web import static_dir

app.mount("/static/brand", StaticFiles(directory=static_dir()), name="brand")

Then load it in your <head> (load order matters: tokens → fonts → base → components):

<link rel="icon" href="/static/brand/logo/magogi-favicon.svg" />
<link rel="preload" as="font" type="font/woff2" crossorigin
      href="/static/brand/fonts/inter-latin.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin
      href="/static/brand/fonts/space-grotesk-latin.woff2" />
<link rel="stylesheet" href="/static/brand/tokens.css" />
<link rel="stylesheet" href="/static/brand/fonts.css" />
<link rel="stylesheet" href="/static/brand/base.css" />
<link rel="stylesheet" href="/static/brand/components.css" />
<!-- operator tools only: control-surface components + the app shell -->
<link rel="stylesheet" href="/static/brand/instruments.css" />
<link rel="stylesheet" href="/static/brand/console.css" />

instruments.css (state chips, a dark streaming console, the telemetry live-pane, …) and console.css (the .mgf-console shell: dark top bar + nav rail + legend + printable readout + skip link) are optional, additive operator layers. Load them after components.css; pure content/marketing surfaces skip both.

Operator consoles skip the hand-written <head> + shell markup entirely with the Jinja template pack (plain package data — the kit still imports no framework):

from mgf.brand_web import static_dir, templates_dir
templates = Jinja2Templates(directory=[str(MY_TEMPLATES), str(templates_dir())])
{% extends "mgf/console.html" %}          {# the shell, blocks for your chrome #}
{% import "mgf/macros.html" as mgf %}     {# chips, icons, absence, … #}
{{ mgf.sync_chip('IN_SYNC') }} {{ mgf.icon('proof', label='Verified') }}

See src/mgf/brand_web/static/README.md for the full class vocabulary, the icon usage law, and the brand rules baked in (one gold flame per view, colour+dot+label status, automatic dark mode). The living styleguide — the shell + every family + all 42 icons + the type ramp, rendered from the shipped templates — is served by the kit's demo app: python demo/app.pyhttp://127.0.0.1:8791/.

What's inside

tokens.css · base.css · components.css · instruments.css · console.css · fonts.css + fonts/ (Inter, Space Grotesk, JetBrains Mono) · logo/ (Cornerstone Orbit + favicon) · pattern/ (Federation Lattice) · icons/ (the 42-symbol sprite, vendored byte-identical from mgf-brand) · templates/mgf/ (console shell + macro pack + styleguide, via templates_dir()). It is framework-free (enforced by an import-linter contract) so any web stack can depend on it.

Provenance

The token set is reconciled to the Brand Book and kept in step with the flagship mgf-website's global.css. First consumer: mgf-cloud-app.

[bb]: https://codeberg.org/magogi-admin/mgf-brandbrand/MAGOGI_BRAND_BOOK.md