@nomad-e/bluma-cli 0.1.39 → 0.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,10 +5,12 @@ description: >
|
|
|
5
5
|
Triggers: open, read, edit, create, fix, or convert .xlsx, .xlsm, .csv,
|
|
6
6
|
or .tsv files — including adding columns, computing formulas, formatting,
|
|
7
7
|
charting, cleaning messy data, restructuring tabular data, or building
|
|
8
|
-
financial models.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
financial models. Prefer normal Excel formulas in cells (visible in the
|
|
9
|
+
formula bar, human-auditable), not hidden logic or pasted numeric results.
|
|
10
|
+
Also trigger when the user references a spreadsheet by name or path and
|
|
11
|
+
wants something done to it. The deliverable must be a spreadsheet file.
|
|
12
|
+
Do NOT trigger when the primary deliverable is a Word document, HTML
|
|
13
|
+
report, or standalone script.
|
|
12
14
|
license: Proprietary. LICENSE.txt has complete terms
|
|
13
15
|
---
|
|
14
16
|
|
|
@@ -20,6 +22,28 @@ license: Proprietary. LICENSE.txt has complete terms
|
|
|
20
22
|
> formula so the spreadsheet stays dynamic. Never compute in Python and
|
|
21
23
|
> paste the result into a cell.
|
|
22
24
|
|
|
25
|
+
### Human-readable formulas — everything visible in Excel
|
|
26
|
+
|
|
27
|
+
The workbook must behave like one a **human analyst** would open and audit:
|
|
28
|
+
|
|
29
|
+
- **Visible in the formula bar:** Any cell that depends on other cells MUST
|
|
30
|
+
store a real Excel formula (string starting with `=`). When the user
|
|
31
|
+
selects the cell, they see the formula — not a magic number that was
|
|
32
|
+
computed offline.
|
|
33
|
+
- **No “black box” outputs:** Do not replace formulas with static values
|
|
34
|
+
except for true inputs (assumptions, imported facts). Intermediate and
|
|
35
|
+
final calculated columns = formulas referencing cells/sheets.
|
|
36
|
+
- **Readable structure:** Prefer clear, conventional functions (`SUM`,
|
|
37
|
+
`AVERAGE`, `IF`, `SUMIF`, `XLOOKUP`/`VLOOKUP`, etc.) and broken-out
|
|
38
|
+
helper columns over one impenetrable mega-formula, when that makes the
|
|
39
|
+
model easier to follow — same as a careful human would build.
|
|
40
|
+
- **Auditable trail:** Another person should trace “this total → those
|
|
41
|
+
lines → those inputs” using only Excel (Show Formulas / following
|
|
42
|
+
references), without reading Python.
|
|
43
|
+
- **openpyxl:** Assign formulas as strings, e.g. `ws['D2'] = '=B2*C2'`, so
|
|
44
|
+
they remain formulas in the saved file. Never save a workbook opened with
|
|
45
|
+
`data_only=True` if you need formulas preserved (see Reading section).
|
|
46
|
+
|
|
23
47
|
## Output Quality Standards
|
|
24
48
|
|
|
25
49
|
### Professional Appearance
|
|
@@ -135,6 +159,16 @@ ws['B10'] = '=SUM(B2:B9)'
|
|
|
135
159
|
This applies to ALL calculations: totals, averages, percentages,
|
|
136
160
|
growth rates, ratios, conditional aggregations.
|
|
137
161
|
|
|
162
|
+
### Visibility checklist (model must self-verify)
|
|
163
|
+
|
|
164
|
+
- Opening the file in Excel/LibreOffice: calculated cells show **formulas**
|
|
165
|
+
in the formula bar, not only final numbers with no `=`.
|
|
166
|
+
- Totals, subtotals, ratios, and lookups reference **cell addresses** or
|
|
167
|
+
structured ranges — not constants copied from a script.
|
|
168
|
+
- If the user asked for “Excel they can trust,” err on the side of **more
|
|
169
|
+
rows/columns with simpler formulas** rather than fewer cells with opaque
|
|
170
|
+
nested functions.
|
|
171
|
+
|
|
138
172
|
### Common Formula Patterns
|
|
139
173
|
|
|
140
174
|
| Operation | Formula |
|