{"id":19963242,"url":"https://github.com/bilbottom/billiam-database","last_synced_at":"2025-05-03T22:31:58.271Z","repository":{"id":153230582,"uuid":"615860048","full_name":"Bilbottom/billiam-database","owner":"Bilbottom","description":"OLAP database project for life admin (feat. dbt).","archived":false,"fork":false,"pushed_at":"2024-08-10T09:03:08.000Z","size":6942,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-10T10:22:20.844Z","etag":null,"topics":["dbt","duckdb","sql"],"latest_commit_sha":null,"homepage":"https://bilbottom.github.io/billiam-database/","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bilbottom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-18T22:08:31.000Z","updated_at":"2024-08-10T09:02:30.000Z","dependencies_parsed_at":"2023-10-03T12:10:20.142Z","dependency_job_id":"ec0ed932-9864-4ff5-b2eb-0661c58e44e6","html_url":"https://github.com/Bilbottom/billiam-database","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilbottom%2Fbilliam-database","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilbottom%2Fbilliam-database/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilbottom%2Fbilliam-database/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bilbottom%2Fbilliam-database/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bilbottom","download_url":"https://codeload.github.com/Bilbottom/billiam-database/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224374655,"owners_count":17300691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dbt","duckdb","sql"],"created_at":"2024-11-13T02:15:21.947Z","updated_at":"2025-05-03T22:31:58.231Z","avatar_url":"https://github.com/Bilbottom.png","language":"Shell","readme":"\u003cdiv align=\"center\"\u003e\n\n[![Python](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)\n[![Docker](https://img.shields.io/badge/Docker-24.0.6-blue.svg)](https://www.docker.com/)\n[![tests](https://github.com/Bilbottom/billiam-database/actions/workflows/tests.yaml/badge.svg)](https://github.com/Bilbottom/billiam-database/actions/workflows/tests.yaml)\n[![GitHub last commit](https://img.shields.io/github/last-commit/Bilbottom/billiam-database)](https://shields.io/badges/git-hub-last-commit)\n\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Bilbottom/billiam-database/main.svg)](https://results.pre-commit.ci/latest/github/Bilbottom/billiam-database/main)\n[![DuckDB](https://img.shields.io/badge/DuckDB-1.1.1-teal.svg)](https://duckdb.org/)\n[![Metabase](https://img.shields.io/badge/Metabase-0.47-teal.svg)](https://www.metabase.com/)\n\n\u003c/div\u003e\n\n---\n\n# Billiam's Database 🧙‍♂️\n\nOLAP database project for life admin.\n\n## About\n\nAs part of my life admin, I keep track of:\n\n- Every transaction I make at an item level (since 2018-01-18)\n- On the job, what I'm working on every 15 minutes (since 2019-04-23)\n\nNote that the job tracker is my [daily-tracker](https://github.com/Bilbottom/daily-tracker) project.\n\nDocumentation is hosted at:\n\n- https://bilbottom.github.io/billiam-database\n\n## Setup\n\nSince this is a personal project, I don't expect anyone else to do this, but I'm still documenting it for myself (I have a very, very bad memory).\n\n### Pre-requisites\n\nThis project requires the following three tools to be installed:\n\n- [Python](https://www.python.org/downloads/)\n- [uv](https://docs.astral.sh/uv/getting-started/installation/)\n- [Docker](https://www.docker.com/) (only if you want to use [Metabase](https://www.metabase.com/))\n\nThe required versions are specified in the badges at the top of this README.\n\n### Installation (SQLMesh)\n\nAfter cloning the repo, install the dependencies and enable [pre-commit](https://pre-commit.com/):\n\n```shell\nuv sync --all-groups\npre-commit install --install-hooks\n```\n\nPipeline changes need to be applied via a plan:\n\n```\nsqlmesh -p billiam_database plan\n```\n\n...and the pipeline can be run with the `run` command:\n\n```\nsqlmesh -p billiam_database run\n```\n\nThe SQLMesh UI is great for doing these with a GUI:\n\n```\nsqlmesh -p billiam_database ui\n```\n\n### Installation (Metabase)\n\n\u003e [!WARNING]\n\u003e\n\u003e The DuckDB driver for Metabase is a community driver. This means that it might not work in all circumstances.\n\n[Metabase](https://www.metabase.com/) is a tool for visualising data.\n\nIn this project, Metabase is run in a Docker container; run the following command:\n\n```shell\n# start\ndocker-compose --file docker-compose.yaml --project-name billiam-database up --detach\n\n# stop\ndocker-compose --file docker-compose.yaml --project-name billiam-database down --remove-orphans\n```\n\nThis will make Metabase available at:\n\n- [http://localhost:3000](http://localhost:3000)\n\n\u003e [!WARNING]\n\u003e\n\u003e There are two important notes about the current Metabase configuration:\n\u003e\n\u003e - Since [DuckDB](https://duckdb.org/) only supports one connection at a time, you can't use Metabase and run the pipelines at the same time.\n\u003e - The Metabase data is stored locally in the `dockerfiles/metaduck-data` directory so that it persists between container restarts.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbilbottom%2Fbilliam-database","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbilbottom%2Fbilliam-database","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbilbottom%2Fbilliam-database/lists"}