Skip to main content

simple_module_branding

Customisable application branding for simple_module_python apps.

An administrator can set the application name, logo, favicon and primary brand colour from the admin UI (/branding), and those values are applied everywhere the framework would otherwise show the default identity — the sidebar/header logo and name, the browser tab title, the favicon, and the primary accent colour.

Screenshots

The admin page at /branding, and the same app rebranded as "Acme Analytics" (custom logo + name + primary colour) across the sidebar and dashboard:

Admin page Branding applied Across the app
Branding admin Branding applied Branded dashboard

Install

The module ships with the default app. To add it to a custom host, declare it as a dependency and let entry-point discovery pick it up:

# host/pyproject.toml
dependencies = ["simple_module_branding"]

[tool.uv.sources]
simple_module_branding = { workspace = true }

Then uv sync --all-packages. It requires the Settings and FileStorage modules to be installed too.

Usage

  1. Sign in as an admin and open Branding in the sidebar (or visit /branding).
  2. Set the application name, pick a primary colour, and upload a logo and/or favicon. Changes apply immediately across the app.

Programmatically, the current branding is available on every page through the branding Inertia shared prop (appName, primaryColor, logoUrl, faviconUrl).

How it works

  • Storage. The four values are persisted via the settings module's store (SYSTEM scope) — there is no branding database table. They hydrate into app.state.branding.settings at boot and hot-swap on save.
  • Images. Logo and favicon uploads are stored through the file_storage module (referenced by UUID) and served from its download endpoint.
  • Delivery. A registered Inertia shared-props provider injects a branding block into every page's shared props (authenticated and guest), which the frontend reads for the name, logo, favicon and colour.

Permissions

  • branding.view — view the branding admin page.
  • branding.manage — change branding (name, colour, logo, favicon).

Dependencies

Depends on the Settings and FileStorage modules.

Notes

  • Branding is currently SYSTEM-scoped (one identity per deployment). The settings store already supports tenant/user scope, leaving room for per-tenant branding later.
  • The primary colour overrides the --primary / --sidebar-primary CSS variables from a single hex; the full OKLCH colour scale is not regenerated.

License: MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_module_branding-0.0.25.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_module_branding-0.0.25-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file simple_module_branding-0.0.25.tar.gz.

File metadata

  • Download URL: simple_module_branding-0.0.25.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for simple_module_branding-0.0.25.tar.gz
Algorithm Hash digest
SHA256 202eaf80728db826ab098d1fbb89a1b3fc657aaa9c27fb8f445fc37d73a857db
MD5 8f2b625cd050837c59c923de906c1884
BLAKE2b-256 18a927e36ff30b888faa14088e204ad707c922afc20bc1b9d0c1fa80e338162e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_module_branding-0.0.25.tar.gz:

Publisher: release.yml on antosubash/simple_module_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_module_branding-0.0.25-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_module_branding-0.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 e852a6f8f27e96e947d02a41c2e3931f168b29a7fa8e8ce92c96cfb63cbbefd8
MD5 c927ebfef0a428b95eeead9fe771b82a
BLAKE2b-256 7e1b305fcfc404d30cff5052f350b624315619a17ccde9d469607fbae0379134

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_module_branding-0.0.25-py3-none-any.whl:

Publisher: release.yml on antosubash/simple_module_python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.0.33

2 files

0.0.32

2 files

0.0.31

2 files

0.0.30

2 files

0.0.29

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

This release

0.0.25 This release

2 files

0.0.24

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page