# dylanaraps/pywal

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dylanaraps-pywal).**

9,082 stars · 356 forks · Python · MIT · archived

## Links

- GitHub: https://github.com/dylanaraps/pywal
- awesome-repositories: https://awesome-repositories.com/repository/dylanaraps-pywal.md

## Description

Pywal is an image-based theme engine and dynamic color scheme generator that extracts dominant colors from images to create coordinated system-wide color palettes. It functions as a cross-application theme synchronizer and terminal color palette manager, updating interface colors and environment configurations in real-time.

The system synchronizes generated palettes across third-party software, window managers, and supported hardware, including RGB backlight controllers for keyboards and laptops. It integrates wallpaper management by applying a source image as the system background while simultaneously extracting its color palette.

Capabilities include template-driven configuration for exporting colors to specific applications, developer format exports in JSON and CSS, and the execution of post-processing scripts for custom setup tasks. The tool also supports theme library management, color mode switching between light and dark schemes, and the restoration of previously used palettes.

## Tags

### User Interface & Experience

- [Color Palette Generators](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators.md) — Generates system-wide color palettes by analyzing the dominant colors of an image. ([source](https://github.com/dylanaraps/pywal/wiki/Installation))
- [Image Color Extractors](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/image-color-extractors.md) — Extracts dominant colors from images using interchangeable processing libraries to generate system-wide palettes.
- [Color Themes](https://awesome-repositories.com/f/user-interface-experience/color-themes.md) — Updates colors for terminal emulators and compatible programs in real-time across the system. ([source](https://github.com/dylanaraps/pywal#readme))
- [Theme Synchronization Tools](https://awesome-repositories.com/f/user-interface-experience/theme-synchronization-tools.md) — Updates terminal emulators and compatible applications in real-time to maintain a consistent visual style.
- [Theming Engines](https://awesome-repositories.com/f/user-interface-experience/theming-engines.md) — Implements a theme engine that automatically sets desktop wallpapers and generates matching interface colors.
- [Terminal Color Palettes](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/design-utilities/design-systems/color-system-utilities/color-palette-management/terminal-color-palettes.md) — Updates terminal emulator colors and environment configurations in real-time without modifying static config files.
- [Wallpaper Theme Integrations](https://awesome-repositories.com/f/user-interface-experience/wallpaper-theme-integrations.md) — Coordinates the application of a source image as a background while simultaneously extracting its color palette.
- [Theme Export Templates](https://awesome-repositories.com/f/user-interface-experience/color-customization-tools/theme-export-templates.md) — Defines custom template files to control how extracted colors are exported to third-party applications. ([source](https://github.com/dylanaraps/pywal/blob/master/CHANGELOG.md))
- [Extraction Settings](https://awesome-repositories.com/f/user-interface-experience/color-palette-generators/extraction-settings.md) — Provides settings to select extraction backends and adjust saturation levels for generated colors. ([source](https://github.com/dylanaraps/pywal/blob/master/CHANGELOG.md))
- [Desktop Environment Customizers](https://awesome-repositories.com/f/user-interface-experience/desktop-environment-customizers.md) — Defines color templates and runs post-processing scripts to apply coordinated themes to third-party software.
- [Color Modes](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/theme-systems/color-modes.md) — Toggles between light and dark color schemes for the system interface. ([source](https://github.com/dylanaraps/pywal/blob/master/CHANGELOG.md))

### Part of an Awesome List

- [Wallpaper Managers](https://awesome-repositories.com/f/awesome-lists/devtools/wallpaper-managers.md) — Sets a background image and automatically generates a matching color scheme for the surrounding user interface. ([source](https://github.com/dylanaraps/pywal/wiki/Getting-Started))
- [Terminal Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/terminal-utilities.md) — Utility to generate and apply color schemes dynamically.
- [Image Processing](https://awesome-repositories.com/f/awesome-lists/media/image-processing.md) — Generates color schemes from images.

### Development Tools & Productivity

- [Terminal Color Schemes](https://awesome-repositories.com/f/development-tools-productivity/terminal-color-schemes.md) — Writes generated color schemes directly to configuration files for terminal emulators and window managers. ([source](https://github.com/dylanaraps/pywal/blob/master/CHANGELOG.md))

### DevOps & Infrastructure

- [Configuration-Driven Templating Engines](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/template-and-generation-engines/configuration-driven-templating-engines.md) — Generates application-specific configuration files by injecting extracted colors into predefined text templates.

### Hardware & IoT

- [Peripheral Lighting Controllers](https://awesome-repositories.com/f/hardware-iot/peripheral-lighting-controllers.md) — Synchronizes the RGB backlight colors of supported keyboards and laptops with the active system color palette.

### Software Engineering & Architecture

- [Theme Synchronizations](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/workflow-automation-integrations/external-application-integrations/theme-synchronizations.md) — Matches generated color palettes with third-party software via specialized plugins or configuration files. ([source](https://github.com/dylanaraps/pywal/wiki/Customization))
