Skip to content

Commit e01dfa1

Browse files
13w13claude
andcommitted
docs: add fork context and features summary to README
Explain why this fork exists (experimental LLM-assisted PBI workflow), list all added visual types, formatting options, data modeling features, and bug fixes. Link to upstream PRs Russell-Shean#29-Russell-Shean#32. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d37c0b1 commit e01dfa1

File tree

1 file changed

+51
-2
lines changed

1 file changed

+51
-2
lines changed

README.md

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,54 @@
1-
# Power Bpy <a id="hex-sticker" href="https://russell-shean.github.io/powerbpy/"><img src="https://github.com/user-attachments/assets/e372239d-5c28-4ed1-acf6-fb96a03b8a1a" align="right" height="240" /></a>
2-
Do you wish you could build dashboards with code, but can't because the client specifically asked for Power BI or your employer only supports publishing Power BI? Do you love Power BI, but wish there was a way to automatically generate parts of your dashboard to speed up your development process?
1+
# Power Bpy <a id="hex-sticker" href="https://russell-shean.github.io/powerbpy/"><img src="https://github.com/user-attachments/assets/e372239d-5c28-4ed1-acf6-fb96a03b8a1a" align="right" height="240" /></a>
2+
3+
> **Fork note** — This is an extended fork of [Russell-Shean/powerbpy](https://github.com/Russell-Shean/powerbpy).
4+
>
5+
> **Why this fork?** This is a quick experimental side quest. Many teams have a backlog of Power BI reports to build but limited analyst capacity. By combining powerbpy with LLM-assisted coding, we can increase the speed of report creation — describe what you need, generate the script, open in Power BI Desktop, polish. To make this workflow practical, powerbpy needed more visual types, formatting control, and data modeling primitives, which is what this fork adds.
6+
>
7+
> **What's next:** Packaging this as a reusable skill or [MCP server](https://modelcontextprotocol.io/) so any team can generate Power BI dashboards from a CSV and a prompt. Or maybe just automating ourselves out of a job — time to consider farm life. 🌾
8+
>
9+
> Core PRs have been submitted upstream ([#29](https://github.com/Russell-Shean/powerbpy/pull/29), [#30](https://github.com/Russell-Shean/powerbpy/pull/30), [#31](https://github.com/Russell-Shean/powerbpy/pull/31), [#32](https://github.com/Russell-Shean/powerbpy/pull/32)).
10+
>
11+
> Install from this fork:
12+
> ```bash
13+
> pip install git+https://github.com/13w13/powerbpy.git
14+
> ```
15+
16+
### Fork features
17+
18+
**New visual types**
19+
20+
| Method | Visual | Notes |
21+
|--------|--------|-------|
22+
| `add_treemap()` | Treemap | Group + value + optional detail drill-down |
23+
| `add_gauge()` | Gauge | Measure + target + min/max (all DAX measures) |
24+
| `add_multi_row_card()` | Multi-Row Card | Mix of measures and column aggregations |
25+
| `add_scatter()` | Scatter / Bubble | X/Y measures + optional category + size |
26+
| `add_matrix()` | Matrix (Pivot Table) | Rows + columns + values (measures or aggregations) |
27+
| `add_kpi()` | KPI | Indicator + goal + trend line |
28+
29+
**New chart types** (via `chart_type` param on `add_chart()`): `lineChart`, `areaChart`, `pieChart`, `donutChart`, `funnel`, `waterfallChart`, `ribbonChart`, `hundredPercentStackedColumnChart`, `hundredPercentStackedBarChart`
30+
31+
**Formatting & styling**
32+
- `show_data_labels`, `bar_color`, `axis_start` on charts
33+
- `legend_var`, `legend_position` for multi-series / stacked charts
34+
- `sort_direction`, `sort_by` for chart sorting
35+
- `slicer_mode` (`"Dropdown"`, `"Tile"`, `"Basic"`), `orientation`, `single_select` on slicers
36+
- `title_font_color`, `title_font_family`, `title_bold` on all visuals
37+
- `border_color`, `border_width` on all visuals
38+
39+
**Data modeling**
40+
- `add_measure(name, expression, format_string)` — DAX measures on any dataset
41+
- `auto_measures()` — auto-detects ID columns and generates `DISTINCTCOUNT` measures
42+
- `add_column(name, expression, data_type)` — calculated columns (DAX) in TMDL
43+
- `add_relationship(from_table, from_col, to_table, to_col)` — relationships in `relationships.tmdl`
44+
- `set_theme(name, data_colors, ...)` — custom theme JSON + report.json binding
45+
- `new_tooltip_page(name)` — tooltip pages + `tooltip_page` param on any visual
46+
47+
**Bug fixes** — chart aggregation on Y axis, `.platform` displayName, CSV encoding (configurable, default UTF-8), lazy imports, f-string syntax, table `column_widths`
48+
49+
---
50+
51+
Do you wish you could build dashboards with code, but can't because the client specifically asked for Power BI or your employer only supports publishing Power BI? Do you love Power BI, but wish there was a way to automatically generate parts of your dashboard to speed up your development process?
352
453
Introducing Power Bpy, a python package that lets you create Power BI dashboards using python. Dashboards created using these functions can be opened, edited and saved normally in Power BI desktop. Power Bpy uses the new .pbip/.pbir format which stores dashboards as directories of text files instead of binary files letting you version control your dashboards!
554

0 commit comments

Comments
 (0)