fava-theming
A Fava extension that adds a visual theme editor to Fava's web UI. Customize colors, fonts, and layout variables for both light and dark modes with live preview.
Features
- Visual color picker for all of Fava's CSS variables
- Separate light and dark mode controls
- Live preview with system / light / dark toggle
- Font family selection with local font detection
- Organized variable groups: backgrounds, text, borders, header, sidebar, buttons, tables, semantic colors, journal, typography
- Reset to defaults
- Saves as a clean CSS
:root {}block
Installation
uv add fava-theming
Or with pip:
pip install fava-theming
Setup
1. Enable the extension in your beancount file:
2020-01-01 custom "fava-extension" "fava_theming"
2. Open Fava, click Theme in the sidebar, tweak to your liking, and hit Save Theme.
Options
You can optionally configure the nav title and the CSS output file:
2020-01-01 custom "fava-extension" "fava_theming" "{'title': 'Theme', 'file': 'my_custom_theme.css'}"
| Option | Default | Description |
|---|---|---|
title |
"Theme" |
Label shown in Fava's navigation sidebar |
file |
"fava_theme.css" |
Path to the CSS file where theme variables are saved (relative to your beancount file) |
How it works
The extension provides a Tweakpane-based UI that maps every Fava CSS custom property to a color picker or text input. Changes are previewed instantly by injecting a <style> override. When you save, the extension writes a :root {} block to a CSS file next to your beancount ledger.
Light/dark mode support uses the CSS light-dark() function, so a single file handles both schemes.
Contributing
Issues and pull requests are welcome.
License
Metadata
Release files for fava-theming 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fava_theming-0.1.1.tar.gz | 10.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fava_theming-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.6 kB
Release files / fava_theming-0.1.1.tar.gz
| Download URL | fava_theming-0.1.1.tar.gz |
|---|---|
| Size | 10.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
959ef91c17ffab61d2558da224d923ba3b9d0f1d72c49ba3ad8a4304abb8d794
|
|
BLAKE2b-256 checksum How to use checksums |
fab7cc5dc8fcc585e5507932dd294254d74042cf1d88ff70a7edc1dbd7a9af91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / fava_theming-0.1.1-py3-none-any.whl
| Download URL | fava_theming-0.1.1-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68d90eed2bf9d3e65f5997d7659c9ea5e961dc860ec8ab295a89da8034df3f2d
|
|
BLAKE2b-256 checksum How to use checksums |
262caf64825f3128826b5bf2f80bea32344d388d388305c980f3d171ce6aac68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Security for fava-theming 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.