Skip to content

Commit fb9f049

Browse files
committed
doc
1 parent 7966c3f commit fb9f049

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

README.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,23 @@
11
# grafana-dashboard-python
2-
Write Grafana dashboards in Python + download and customize all existing dashboards
2+
3+
Write Grafana dashboards in Python, while enjoying all existing dashboards (tiny utility)
34

45
## Why?
56

67
I have been enjoying [grafanalib](https://github.com/weaveworks/grafanalib) in my system. However, I also want to use (download and customize) the dashboards (https://grafana.com/grafana/dashboards/) created by other people - which does not seem to be very easy with grafanalib. Therefore, I create this tiny utility.
78

89
Related issue: https://github.com/weaveworks/grafanalib/issues/608
10+
11+
## [TODO]
12+
13+
**Why use scripts**: Grafana's [official best practice](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/best-practices/#high---optimized-use) recommends to use scripts to generate the dashboards, instead of creating it in GUI manually. This ensures consistency in pattern and style, and can remove a lot of repetition.
14+
15+
## Stability / bugs / tests
16+
17+
Firstly, it works well for my own cases, and I have ensured the parts that I use looks correct. However, there are definitely rough edges that I have not manually optimized, since Grafana's auto-generated schema will not solve everything.
18+
19+
As you know, my philosophy is that, if a tool that I use internally may also be useful for others, I will open source it to help people - that's why this tiny utility is on GitHub. However, I am too busy recently, and thus do not have that much time to cover every rough edge of Grafana features that I have not used.
20+
21+
If you see a bug, feel free to create an issue or PR, and I usually reply quickly (within minutes or hours, except sleeping). From my experience, it is very trivial to solve the hard edges. Anyway, this is nothing but a series of Pydantic models with almost *no logic*. How can it have hard-to-fix bugs? ;)
22+
23+
More importantly, you can always check the output JSON to see whether there is an unexpected output. For example, in my own workflow, I let Git track the JSON. Then, if anything changes, I have a clear diff.

test/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
The logic is so simple (only some Pydantic models and thin utilities) that it is hard to have bugs. More importantly, you can always check the output JSON to see whether there is a problem. For example, I let Git to track those JSON, thus if anything changes, I have a clear diff and history. However, I may add some tests later if I have some time.
1+
Please see the `test` section of the primary README on GitHub.

0 commit comments

Comments
 (0)