A document is assembled from blocks — 38 content types in four groups: text, utilities, data and charts. Every block takes 1 to 24 columns of the document grid and is dragged with the mouse.
Text
- MarkdownContent — formatted text: explanations, conclusions, links;
- NotebookContent — a full Jupyter Notebook as a report block (details in Jupyter Notebooks).
Utilities
- BookmarksContent — bookmark cards with links to other reports and pages;
- SectionContent — a section heading: groups blocks in long reports;
- DetailsContent — an entity property list: a compact “key — value” card.
Data
- TableContent — an interactive table: pinned header and first columns on scroll, pagination, sorting, a total row, a mini-chart inside a cell, colored badges by rules (for example, only the top 10% in red) and links from cells;
- MetricContent — a single metric/KPI as a big number — with a caption, a target, a change over the period, a state and a mini sparkline;
- GaugeContent — a speedometer gauge with value zones;
- BarGaugeContent — a bar gauge: a ranked series of values, each colored by thresholds — handy for ratings and norms;
- AlertsContent — a live list of firing alerts: states and label filters, updating in real time.
Charts
- LineChartContent — line chart: how a value changes over time;
- BarChartContent — bar chart: comparing categories side by side;
- ComboChartContent — combo chart: bars for one measure and a line for another on two axes;
- ScatterChartContent — scatter plot: the relationship of two numeric columns and outliers;
- DumbbellChartContent — dumbbell chart: two values of one entity and the gap between them (plan and actual);
- SlopeChartContent — slope chart: how values or rankings changed between two periods;
- BulletChartContent — bullet chart: a value against a target with tolerance bands;
- ParetoChartContent — Pareto chart: a ranking of categories with a cumulative share line;
- DoughnutChartContent — doughnut chart: shares of a whole;
- TreemapChartContent — treemap: rectangle areas instead of pie shares, with category nesting;
- WaterfallChartContent — waterfall chart: what the total is made of — from the starting sum to the final one;
- SankeyChartContent — flow diagram: where money or goods flow, ribbon width is volume;
- HistogramChartContent — histogram of a value distribution;
- BoxPlotChartContent — box plot with quartiles and outliers;
- ViolinChartContent — violin plot: the full distribution shape for each group;
- HeatmapContent — heatmap: value density across two columns;
- CalendarHeatmapContent — calendar heatmap: every day in a cell of the year grid, colored by value;
- FunnelChartContent — funnel: how many people reach each stage and where they drop off;
- GanttChartContent — Gantt chart: what starts and ends when, with a today marker;
- TornadoChartContent — tornado chart: which factor moves the result the most;
- RadarChartContent — radar chart: an object’s profile across several criteria at once;
- ParallelCoordinatesChartContent — parallel coordinates: profiles of many objects across several measures;
- VennChartContent — Venn diagram: the overlap of two or three groups;
- MapChartContent — region map: each region of Russia or country of the world colored by value;
- NodeGraphChartContent — node graph: nodes and edges from a list of connections, who is linked to whom;
- StateTimelineChartContent — state timeline: colored state intervals for each label;
- StatusHistoryChartContent — status history over time: discrete period cells for each label;
- CandlestickChartContent — OHLC candlesticks with trading volume: financial series.
What each chart shows and when to use it — in the Charts section.
The document grid
- block width — 1 to 24 columns; a width outside the range is caught by the validator (
INVALID_BLOCK_WIDTH); - blocks are dragged with the mouse (drag & drop);
- every block has a unique ID of the form
block_{timestamp}_{random}; - a block’s configuration is a dictionary of parameters: title, sizes, content type, data, queries, styling overrides.
The Notebook block
A notebook is stored in two ways: as embedded JSON right in the block, or as a reference to an external .ipynb file. The block shows a cell counter and the time of the last save.