A simple data project using dbt, DuckDB and Evidence to analyse your electricity data from Belgian smart meters.
Thanks to Jacob Matson for his blog post which inspired all of this.
The dbt documentation is available at https://sdebruyn.github.io/inzight.
- Python 3.8 or newer (dbt & DuckDB)
- NPM 7 or newer and Node.JS 14 or newer (Evidence)
- Your source data (see below)
-
Clone the repo:
git clone https://github.com/sdebruyn/inzight.git
-
Install the dependencies:
pip install -r requirements.txt npm install
-
Create a profile named
inzight
in~/.dbt/profiles.yml
with the following content:inzight: target: dev outputs: dev: type: duckdb threads: 12 # should be the number of cores in your system (or double if you have hyperthreading) database: /path_to_the_project/inzight.duckdb # point to the project folder
The project expects an export from Mijn Fluvius with Kwartierwaarden. The export should go in assets/fluvius.csv
.
My column names are in Dutch, I have no idea what you get if you have a different language setting for Fluvius. Please create an issue with your column names if yours are not in Dutch.
- Make sure your source data has been added as a file named
assets/fluvius.csv
- Run
dbt deps
to install the dbt package dependencies - Run
dbt build
to create all models - Run
npm run dev
to start the Evidence server and open the dashboards in your browser
It's (like most hobby projects) a never-ending work in progress. Contributions are welcome!
MIT License