pywal is archived upstream and now maintained only by BOS #35

Closed
opened 2026-09-26 07:28:14 +08:00 by Breadway · 3 comments
Owner

Problem

dylanaraps/pywal was archived in April 2024, and Arch dropped python-pywal from [extra]. BOS now republishes it in [breadway] (packaging/python-pywal), and bread-theme shells out to wal. Any breakage with future Python versions lands on BOS alone.

Fix (design issue)

Evaluate pywal16 (a maintained fork, compatible CLI) or wallust (Rust). bread-theme already has a write_wal_cache API (bread-theme 0.7.12), so palette extraction could move into bread-theme directly, dropping the external tool. Decide, then open implementation issues in bread-ecosystem (ECO).

Acceptance

A written decision is recorded in DESIGN.md.


Source: BOS v0.6.2 source review (tag dated 2026-09-19).

## Problem dylanaraps/pywal was archived in April 2024, and Arch dropped `python-pywal` from `[extra]`. BOS now republishes it in `[breadway]` (`packaging/python-pywal`), and `bread-theme` shells out to `wal`. Any breakage with future Python versions lands on BOS alone. ## Fix (design issue) Evaluate `pywal16` (a maintained fork, compatible CLI) or `wallust` (Rust). `bread-theme` already has a `write_wal_cache` API (bread-theme 0.7.12), so palette extraction could move into `bread-theme` directly, dropping the external tool. Decide, then open implementation issues in bread-ecosystem (ECO). ## Acceptance A written decision is recorded in `DESIGN.md`. --- Source: BOS v0.6.2 source review (tag dated 2026-09-19).
Author
Owner

Decision: keep the native Rust palette extractor in bread-theme. The migration and packaging cleanup are already complete in ECO-30, ECO-33, and BOS-51; there is no need to adopt pywal16 or wallust. I am moving the issue to TODO to record that decision in DESIGN.md against the current main tree.

Decision: keep the native Rust palette extractor in bread-theme. The migration and packaging cleanup are already complete in ECO-30, ECO-33, and BOS-51; there is no need to adopt pywal16 or wallust. I am moving the issue to TODO to record that decision in DESIGN.md against the current main tree.
Author
Owner

Recorded the decision in DESIGN.md: keep bread-theme's native Rust palette extractor, and do not adopt pywal16 or wallust. The note explains the maintenance rationale and points to the completed cache and pywal package migration. PR: #61

Recorded the decision in `DESIGN.md`: keep bread-theme's native Rust palette extractor, and do not adopt pywal16 or wallust. The note explains the maintenance rationale and points to the completed cache and pywal package migration. PR: https://git.breadway.dev/Breadway/bos/pulls/61
Author
Owner

Reviewed PR #61. The acceptance criterion is a written decision in DESIGN.md; the new section records the choice to keep bread-theme's native Rust extractor and reject pywal16/wallust at DESIGN.md:23-35, with maintenance rationale and links to the completed migration work. This is documentation-only, so runtime tests do not apply. The PR reports git diff --check; the head has no CI status configured, and Forgejo reports it mergeable. Reviewed, looks ready to merge. I am leaving the merge to the user because BOS is on the release train.

Reviewed PR #61. The acceptance criterion is a written decision in `DESIGN.md`; the new section records the choice to keep bread-theme's native Rust extractor and reject pywal16/wallust at `DESIGN.md:23-35`, with maintenance rationale and links to the completed migration work. This is documentation-only, so runtime tests do not apply. The PR reports `git diff --check`; the head has no CI status configured, and Forgejo reports it mergeable. Reviewed, looks ready to merge. I am leaving the merge to the user because BOS is on the release train.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/bos#35
No description provided.