red-data-tools/YouPlot
69.0
Adequate · 26 September 2026
1.2k
lines of production code
Ruby
primary language
4
measurements over time
What this system is
Features
Add UnicodePlot backend for text-based plotting
YouPlot now supports rendering plots using the UnicodePlot library, enabling text-based visualizations in the terminal. This includes support for barplots, line plots, histograms, and scatter plots. The implementation includes a workaround for a limitation in the underlying library where specifying a line color as a number triggers an error message. Additionally, barplot labels are formatted as integers when appropriate, and the count functionality supports a reverse option.
lib/youplot/backends · high confidence
YouPlot v0.5.0 release with progressive mode and config file support
YouPlot v0.5.0 introduces an experimental progressive mode that allows the terminal plot to update incrementally as data is read, with cleanup handling on exit. The release also adds support for configuration files (searching for \.youplot.yml\ or \.youplotrc\), enabling users to set default options via a config file. Additionally, the tool now supports a \--pass\ option to pipe input data through, and includes improved error messages and natural sorting for bar plots.
lib/youplot · high confidence
Behavioural changes
Add RBS type definition for YouPlot::Aggregation
A new RBS signature file has been added for the YouPlot::Aggregation module, defining the type signature for the count\_values method which accepts an Enumerable and optional tally and reverse boolean arguments, returning an Array of Arrays.
sig · high confidence
Executable renamed from uplot to youplot
The command-line entry point for the tool has been renamed from 'uplot' to 'youplot'. This change updates the executable file to require the 'youplot' library and invoke the new command structure, reflecting the project's rebranding.
exe · high confidence
Library renamed from Uplot to YouPlot
The library's main entry point has been renamed from 'uplot' to 'youplot'. The 'uplot' module and its associated file have been removed, and a new 'youplot' module has been introduced to replace it. This change affects how the library is required and referenced in user code.
lib · high confidence
Removal of development helper scripts
The 'bin/console' and 'bin/setup' scripts have been removed from the project. This eliminates the ability to launch an interactive Ruby console for experimentation and removes the automated setup script that previously installed dependencies via Bundler.
bin · high confidence
Removed Uplot version constant
The Uplot module's version constant has been removed from the codebase, eliminating the ability to programmatically check the library's version number.
lib/uplot · high confidence
YouPlot renamed from Uplot and migrated to Red Data Tools
The gem has been renamed from 'uplot' to 'youplot' and transferred to the Red Data Tools organization, as reflected in the updated README, LICENSE header, and CI configuration. A new Steepfile has been added to configure static type checking for the 'lib' directory using the 'sig' signature directory. The project's build system has also been updated to use single quotes in the Rakefile and enforce frozen string literals.
(repo-wide) · high confidence
Test coverage
Added comprehensive test coverage for YouPlot core features; Added test coverage for YouPlot and UnicodePlot; Added test fixtures for data visualization and formatting.
Dependencies
Rename gem from 'uplot' to 'youplot' and update dependencies
The gem has been renamed from 'uplot' to 'youplot', with the executable also updated to 'youplot' (while retaining 'uplot' for compatibility). The project now depends on 'csv' and 'unicode\_plot' (\>= 0.0.5). Development dependencies have been reorganized: 'steep' and 'typeprof' are added for Ruby 3.0+, while test dependencies include 'simplecov' and 'test-unit'.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 53 → 69 (+16.0)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 98 (-1.5)
- Architecture 69 → 69 (+0.0)
- Maturity 66 → 66 (+0.0)
- Readiness 35 → 65 (+30.0)
- Security 68 → 90 (+22.2)
Resolved (10)
- Coverage not measured — test suite did not build
- Dimension evaluation failed
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- No tests found
- Test reliability not included
New (16)
- Ambiguous naming for line plotting operations. lineplot takes generic args, kw, while line and lines take structured data, params, fmt. It is unclear if line and lines are distinct operations (e.g., single vs multiple lines) or duplicates. lineplot seems like a higher-level wrapper, but the naming convention is inconsistent with other methods like barplot, scatter, etc.
- FixmeComment (lib/youplot/backends/unicode_plot.rb)
- FixmeComment (lib/youplot/parser.rb)
- FixmeComment (lib/youplot/parser.rb)
- Generic method names plot_xyy and plot_xyxy are unclear. The parameter method1 is also poorly named, suggesting a strategy pattern or command object, but the name gives no hint of its purpose. This makes the API hard to use and understand compared to explicit names like plot_scatter or plot_line.
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Redundant naming and signature for executable execution. YouPlot exposes both a property run_as_executable and a method run_as_executable?(). Additionally, Command has a method run_as_executable(). It is unclear if YouPlot.run_as_executable is a flag or a method, and the presence of both a property and a method with similar names in YouPlot is confusing. Command.run_as_executable() likely duplicates the intent of YouPlot.run_as_executable?() if YouPlot is the main entry point.
- TodoComment (lib/youplot/dsv.rb)
- UnicodePlot.barplot (cognitive 17) (lib/youplot/backends/unicode_plot.rb)
- Workflow token permissions not restricted
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
red-data-tools/YouPlot was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 26 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit e67219ca88ccdc5da9f14c4a346c24b8da8ce25c — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-7c1cb6328e11.