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.26.tar.gz (15.5 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.26-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: simple_module_branding-0.0.26.tar.gz
  • Upload date:
  • Size: 15.5 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.26.tar.gz
Algorithm Hash digest
SHA256 af801fe361f0c7c297f4ea983bf02666894298514c8a6eb76ccade84149798bd
MD5 055975d8a32c23bf650f717aa0da59ab
BLAKE2b-256 76c33c4482f01033c0a666c13f108027fc67e8985aa6ca8cafefecfd1e4ba9a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_module_branding-0.0.26.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.26-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_module_branding-0.0.26-py3-none-any.whl
Algorithm Hash digest
SHA256 ae0e695d36b383682902d29970f7f62492f459b1f37889982a91e5fe5b77b5df
MD5 aef40782897ccd22980c0ac99954cb4c
BLAKE2b-256 21f4c4a5cfa968784a4436b20c4f7f958eec9882ba5594adab7b35eed996914f

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_module_branding-0.0.26-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

This release

0.0.26 This release

2 files

0.0.25

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