mindok/contex
69.4
Adequate · 3 October 2026
5.6k
lines of production code
Elixir
primary language
2
measurements over time
What this system is
Contex is a pure Elixir library for generating server-side SVG charts, providing core components for data handling, axis rendering, and layout management. It supports a variety of chart types including bar, line, pie, Gantt, and OHLC plots, with dedicated modules for managing categorical, linear, logarithmic, ordinal, and time-based scales. The system allows for custom styling, color palettes, and interactive event handling, with documentation that includes an interactive gallery of rendered examples.
Features
Add chart example gallery to ExDocs
The library now includes a gallery of example charts (bar, OHLC, pie, and point plots) that are rendered directly within the ExDocs documentation. This allows users to see visual examples of various chart types, including stacked bars with log scales, candlestick and tick OHLC charts, and point plots with different log scale modes, alongside their source code for easy reference.
lib/chart/gallery · high confidence
Added default CSS styles for ExDoc-generated plots
A new stylesheet (assets/contex.css) has been introduced to provide default visual styling for plots generated by ExDocs. This file defines specific CSS classes for chart elements, including tick lines and text, axis lines, grid lines, legend items, titles, subtitles, and bar labels, ensuring a consistent appearance for documentation examples.
assets · high confidence
Initial release of Contex SVG charting library
This change introduces the Contex library, a pure Elixir server-side data-plotting system that generates SVG output. It provides core components for creating charts, including \Contex.Dataset\ for data wrapping, \Contex.BarChart\ for visualization, and \Contex.Plot\ for layout management. The library includes a minimal default CSS stylesheet embedded in the SVG to ensure visibility of lines and text, which can be overridden or disabled via the \:default\_style\ attribute.
lib · high confidence
Initial release of the Contex charting library
Introduces the \Contex\ library for generating SVG charts in Elixir. This release adds core components including \Contex.Dataset\ for data handling, \Contex.Mapping\ for column-to-element association, and \Contex.Axis\ for rendering axes. It provides implementations for several chart types: \BarChart\ (stacked or grouped), \LinePlot\ (with smoothing options), \GanttChart\, \OHLC\ (candlestick/tick styles for stock data), and \PieChart\. The library supports features such as custom color palettes, LiveView event handlers (\phx-click\), axis label rotation, and data labels.
lib/chart · high confidence
Introduce dedicated scale modules for categorical, linear, logarithmic, ordinal, and time data
The charting library now includes a comprehensive set of new scale implementations in \lib/chart/scale\ to handle diverse data types. \CategoryColourScale\ maps categorical values to colors with support for custom palettes and cycling. \ContinuousLinearScale\ and \ContinuousLogScale\ provide linear and logarithmic mappings for numeric data, with the latter supporting configurable bases and negative number handling. \OrdinalScale\ manages discrete categories for bar charts, calculating band widths and padding. \TimeScale\ handles date and time domains, automatically selecting appropriate tick intervals (seconds to years) and formatting. These modules implement the \Scale\ protocol, allowing plots to map data domains to visual ranges consistently.
lib/chart/scale · high confidence
Behavioural changes
ContEx v0.5.0 release with breaking API changes and new features
This release updates the library to version 0.5.0, introducing several breaking changes and new capabilities. The \Dataset\ behavior changes: when created from a list of maps, \column\_names\ now returns supplied headers or map keys from the first row, replacing the previous behavior of always returning map keys. The \PlotContent.get\_svg\_legend\ function is replaced by \PlotContent.get\_legend\_scales\, moving legend rendering responsibility to \Plot\ to support multiple scales and dynamic resizing. New features include \ContinuousLogScale\, \meta\ support in \Dataset\, and \:legend\_top\/\:legend\_bottom\ options. Line plots now support gaps for nil values, and smoothed line coordinates are rounded to two decimal places to reduce SVG size. The changelog and README are also updated to reflect these changes.
(repo-wide) · high confidence
Test coverage
Added comprehensive test suite for plotting components; Added tests for gallery chart SVG validity.
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
Score
- CAI 69 → 69 (+0.5)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 95 → 95 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 50 → 50 (+0.0)
- Readiness 75 → 77 (+1.8)
- Security 98 → 99 (+0.3)
Resolved (4)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Members sharing a duplicated core (4 members, 50+ identical tokens) (lib/chart/barchart.ex)
- Off-boarding risk: anonymized user #1
New (2)
- Members sharing a duplicated core (4 members, 50+ identical tokens) (lib/chart/barchart.ex)
- Off-boarding risk: anonymized user #1
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
mindok/contex 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 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 58b88fff73dc10012cca03941b20330d096d7e7f — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-8fe32cd45d00.