Releases: soil-dev/dope-plot
dope-plot 0.2.0
Icon sets, an emoji default, and sharper scatter callouts.
⚠️ Breaking: config key change
[paths] birds_dir is gone. Point icons_set at an icon-set directory instead:
[paths]
icons_set = "icons/emoji" # or "icons/hunt", or your own <dir>/<bird>.png set
output = "charts"Highlights
Icon sets
- Icons live at
icons/<set>/<bird>.png— a set is one artist's collection, and its directory name carries the attribution (icons/huntcredits TICK,icons/emojicredits Noto Emoji, Apache-2.0). - Both sets ship in the wheel (installed next to the package), so installed users can switch sets with one config line.
- emoji is the new default — the chart gallery in the README shows it.
Scatter callouts, refined
- Labels sit centred on their true point; a label is nudged (minimally, one card per overlap) only when another card would actually cover its text — measured from real rendered extents. Cards may softly overlap.
- Small nudges are left unmarked; only a far-displaced card gets a dot on its true point + dashed leader line.
- Per-card shadow stacking: an overlapping card now casts its shadow over the card beneath it.
Hardening
- Service layer validates radar/comparison profiles and unparseable CSV — clean
ValueErrors everywhere (matters for MCP tools fed by an AI client). - CI runs the MCP tests, builds the wheel, asserts its contents, and smoke-tests a clean install.
- Example gallery regenerated (emoji default) and PNG-optimized; removed 20 orphaned stale charts.
Install (from this release)
pip install https://github.com/soil-dev/dope-plot/releases/download/v0.2.0/dope_plot-0.2.0-py3-none-any.whl
# with the MCP server extra:
pip install 'dope-plot[mcp] @ https://github.com/soil-dev/dope-plot/releases/download/v0.2.0/dope_plot-0.2.0-py3-none-any.whl'dope-plot 0.1.1
First release under the dope-plot name (previously bird-plot) — radar, quadrant and comparison charts for TICK four-bird personality profiles (Dove, Eagle, Owl, Peacock).
Highlights
Use it from AI assistants (MCP)
- New
dope-plot-mcpserver (stdio):scatter_chart,radar_chartandcomparison_charttools return the rendered PNG inline — works with Claude Desktop/Code, n8n's MCP node, and any MCP-capable client. - Ships as an optional extra; a friendly hint tells you to install it if missing.
Readable scatter, honest positions
- Gradient label cards blend each person's primary/secondary bird colours in proportion to their scores.
- Every label sits centred on its true point; when text would be covered, only one card is nudged the minimum distance (cards may softly overlap). A card pushed far off its point gets a dot at the true position plus a dashed leader line.
- Per-card shadow stacking, collision detection on real rendered text extents.
Installable anywhere
- Bundled default config + bird assets resolve via
importlib.resources, so the CLI works outside a source checkout — verified by a clean-install smoke test (also wired into CI). - Input validation across CLI, service layer and MCP: invalid data raises clean
ValueErrors instead of deep matplotlib errors. - PEP 621/639 metadata, Python 3.12/3.13, Apache-2.0.
Install (from this release)
pip install https://github.com/soil-dev/dope-plot/releases/download/v0.1.1/dope_plot-0.1.1-py3-none-any.whl
# with the MCP server extra:
pip install 'dope-plot[mcp] @ https://github.com/soil-dev/dope-plot/releases/download/v0.1.1/dope_plot-0.1.1-py3-none-any.whl'Then:
dope-plot --data data.csv --graph radar scatter # charts into ./charts
dope-plot-mcp # MCP server over stdiov2026.02.04
Release Notes
Functional changes
- Safe coordinate scaling: guard against divide‑by‑zero when all scores are zero, preventing NaN plot coordinates.
bird_plot/cli.py - Sanitized names for output paths to avoid unsafe filesystem characters.
bird_plot/cli.py - Comparison filenames standardized to
with_TeamAverage.pngfor team-average overlays.bird_plot/cli.py - Radar title formatting now skips empty/NaN notes instead of always appending.
bird_plot/plots/radar.py - Quadrant color keys now map to the correct corners while preserving the existing visual colors.
bird_plot/plots/base.py,config.toml - Team average labeling cleaned up (
Namenow “Team Average Profile”,Noteempty).bird_plot/cli.py
v2025.02.24
I am pleased to introduce the first release of Bird-Plot – a Python-based visualization tool that converts Tick.com.au personality profiling data into engaging, quadrant-based radar charts.
Key Features in this Release:
-
Individual Radar Charts:
Visualize a single person’s scores across the four "bird" dimensions (Eagle, Dove, Owl, and Peacock) using a radar chart. -
Group Distribution Visualization:
Compare multiple profiles on a quadrant layout to quickly assess team strengths and personality diversity. -
Pairwise Comparison:
Overlay radar charts to highlight similarities and differences between two profiles, including an overlap percentage.
This initial release lays the groundwork for Bird-Plot. Feedback and suggestions are welcome.