Repository navigation
v0.2.0 — First release: bilingual CLI, English-first docs
pixellogo 0.2.0 is the first tagged release: a command line tool that turns a title, a few subtitle lines and a footnote into real 8-bit / retro-terminal pixel art — PNG and SVG from the same geometry, five canvases, ten palettes, and mixed Latin / Chinese / Japanese / Korean text without missing glyphs.
Highlights
- Real pixels, not a filter. Text is rasterized into a binary mask and merged per row into integer-coordinate rectangles. Every edge stays a whole block at any zoom: no anti-aliasing, no gradients, no feathering.
- One geometry, two formats. PNG and SVG are produced from the same
Scene, so they match pixel for pixel. The SVG is self-contained and needs no font files. - Five canvases.
poster1080×1440,card1440×1080,banner1280×640,slide1920×1080,square1080×1080, each with its own layout strategy. - Ten palettes. From retro terminal to paper journal; every preset passes a WCAG contrast check (
--list presetsprints the ratio). - CJK-ready. A Chinese pixel font ships in the box, so mixed Latin/Chinese lines keep one stroke weight; Traditional Chinese, Japanese and Korean download on demand.
- Bilingual CLI. Help page, option tables, font status, warnings and errors in English or Simplified Chinese — automatic from the terminal locale, or forced with
--ui-lang. - No browser dependency. Pure Python and Pillow rasterization; runs on servers and in CI.
- Reusable configuration. JSONC files with comments and trailing commas, dot-path overrides, batch mode, and a
--dry-runsnapshot of the merged result.
New in 0.2.0
Bilingual command line
All terminal output now exists in English and Simplified Chinese: the help page, --list modes|presets|fonts, fonts status, warnings, and every error message (including argparse's own argument errors).
- Automatic:
LC_ALL→LC_MESSAGES→LANG→LANGUAGE→ Windows UI language → English.C/POSIXcount as English. - Explicit:
--ui-lang auto|en|zhfor a single run, orPIXELLOGO_UI_LANGas a persistent default. Precedence is flag > environment > locale. --ui-lang(CLI wording) is independent of--lang(glyph variant used for the image):--ui-lang en --lang jagives an English interface with Japanese glyphs.
English-first documentation
README.mdis now English and is the default entry point.README.zh-CN.mdholds the Chinese version; the two are cross-linked.pyproject.tomlmetadata and the GitHub repository description are in English.
Packaging and robustness
- Built distribution: wheel, source distribution, and a portable zip (see the asset table below).
- Missing Pillow no longer breaks the query commands: if Pillow is absent,
--version,--help,--listandfontsstill work, and rendering exits with code2plus an instruction to install it.
Install
From this release:
pipx install pixellogo-0.2.0-py3-none-any.whl
# or
pip install pixellogo-0.2.0-py3-none-any.whlFrom source at this tag:
pipx install git+https://github.com/sogeisetsu/pixel-logo-toolkit.git@v0.2.0Release assets
| File | What it is |
|---|---|
pixellogo-0.2.0-py3-none-any.whl |
Wheel. pip install this for a normal install; it adds the pixellogo command and bundles the five fonts, license texts and JSON schema. |
pixellogo-0.2.0.tar.gz |
Source distribution (sdist), for packagers or pip install from source. |
pixellogo-0.2.0-portable.zip |
No installation needed. Unpack and run pixellogo.cmd (Windows) or ./pixellogo.sh (macOS / Linux). Contains the package, fonts, licenses, both READMEs and RUNNING.txt. |
GitHub also generates "Source code (zip)" and "Source code (tar.gz)" archives for every release. Those are raw repository snapshots and contain no built package — use the assets above if you just want to install and run the tool.
Quick start
# One cover image, both formats, into out/
pixellogo -t "REA" -s "REVERSE ENGINEER" -d "One CLI for agents"
# A 16:9 slide cover in the cyber palette with a grid texture
pixellogo -t "PIXEL" -m slide -p cyber --bg-pattern grid
# Inspect what is available
pixellogo --list modes
pixellogo --list presets
pixellogo fontsRunning pixellogo with no arguments prints the help page; --help, -h and pixellogo help are equivalent.
Command line at a glance
| Flag | Effect |
|---|---|
-t, --title |
Main title (required) |
-s, --subtitle / -d, --desc |
Subtitle and footnote lines, one flag per line |
-m, --mode |
poster / card / banner / slide / square |
-p, --preset |
One of the ten palettes |
--bg --fg --primary --accent --shadow-color |
Single-color overrides |
-f, --format |
png / svg / both (default both) |
-o, --out |
Output file or directory |
-c, --config / --set |
JSONC config and dot-path overrides |
--ui-lang |
CLI output language: auto / en / zh |
--lang |
Glyph variant: zh-hans / zh-hant / ja / ko |
--json / --dry-run / --open |
Machine-readable output / merged config / open the result |
Exit codes: 0 success, 2 invalid arguments or configuration.
Python API
from pixellogo import render, make_image, make_scene, to_svg_text
paths = render(title="REA", mode="banner", preset="cyber", format="png", out="out/")
image = make_image(title="REA", mode="square", scale=1)
scene = make_scene(title="REA", mode="poster")
svg = to_svg_text(title="REA", mode="slide")Keyword names match the JSONC config keys exactly, so anything valid in a config file is valid here.
Requirements
- Python 3.9 or newer
- Pillow 9.0 or newer (only runtime dependency)
Testing
- 143 unit and integration tests (
PYTHONPATH=src python -m unittest discover -s tests). - CI runs the suite on Python 3.9, 3.10, 3.11 and 3.12, plus a job that renders real images on Linux.
Known limitations
- The background must be a solid color; image backgrounds are excluded by design. Use
--bg-patternfor graph paper, dots or scanlines. docs/gallery.md,docs/design.mdanddocs/style-spec.mdare currently Chinese only.- The GitHub social preview image has to be uploaded manually (Settings → Social preview); a
bannerrender at 1280×640 is the right size.
Changelog
Work merged up to this release, in order: repository restructure, CJK font support, render core (mask → rectangles), canvas modes and layout, JSONC configuration, output formats, CI tests, typography, semantic mode names, ten presets, help page, Python API, background patterns, multilingual fonts, documentation, command gallery, bilingual CLI, and the Pillow-optional startup fix.
Full Changelog: https://github.com/sogeisetsu/pixel-logo-toolkit/commits/v0.2.0