Thank you for your interest in contributing! This project is community-driven and welcomes contributions of all kinds — bug fixes, new dashboard tabs, documentation improvements, and more.
| Type | Examples |
|---|---|
| Bug fix | Fix a broken query, UI glitch, or deployment issue |
| New tab / feature | Add a new dashboard tab (e.g. Serverless Cost, Unity Catalog Audit) |
| Mock data | Add more realistic sample data for a tab |
| Documentation | Improve the README, add setup guides, write a blog post |
| Cloud-specific | Test and fix issues on Azure / GCP |
| Tests | Add smoke tests or integration tests |
Click Fork at the top of the GitHub page. This creates your own copy at github.com/<your-username>/databricks-cost-observability.
git clone https://github.com/<your-username>/databricks-cost-observability.git
cd databricks-cost-observabilitypip install -r requirements.txt
export DATABRICKS_HOST=https://your-workspace.azuredatabricks.net
export DATABRICKS_TOKEN=dapi...
export DATABRICKS_WAREHOUSE_ID=your-warehouse-id
export MOCK_MODE=true
uvicorn app:app --reload --port 8000git checkout -b feat/your-feature-name
# or
git checkout -b fix/your-bug-descriptionPush your branch and open a PR against main.
- One PR per change — keep PRs focused and small
- Describe what and why — not just what the code does
- MOCK_MODE compatibility — if you add a new SQL query, make sure it works with
MOCK_MODE=true(add a mock table entry inscripts/setup_mock_tables.pyif needed) - No org-specific values — no hardcoded emails, workspace IDs, or company names in committed code
- Test it — run the app locally before submitting
| Prefix | Use for |
|---|---|
feat/ |
New feature or tab |
fix/ |
Bug fix |
docs/ |
Documentation only |
chore/ |
Tooling, deps, CI |
mock/ |
Mock data improvements |
- Create
services/your_service.py— SQL queries + analysis logic - Create
api/v1/your_tab.py— FastAPI router - Register the router in
api/router.py - Add mock table entries to
scripts/setup_mock_tables.pyfor any newsystem.Xtables - Add the new
system.Xschema to_MOCK_TABLE_MAPincore/sql_executor.py - Add the tab to the frontend in
static/index.html
Use the Bug Report issue template. Include:
- Databricks cloud (AWS / Azure / GCP)
- Whether you're using
MOCK_MODE=trueor real system tables - The full error message from the app logs or browser console
- Python: follow PEP 8, no unused imports
- SQL: uppercase keywords, one clause per line for readability
- No comments explaining what the code does — only why if non-obvious
- No print statements in production paths — use
logging
This project is licensed under the Elastic License 2.0 — source available, not open source.
By contributing, you agree your contributions will be covered by the same license.
You may:
- Fork this repo to contribute back via Pull Request
- Deploy it internally within your own organisation
- Reference, cite, or link to this project
You may not:
- Offer this software as a hosted or managed service to third parties
- Fork and redistribute it independently under a different name or brand
- Remove or alter the license or copyright notices
If you want to showcase or reference this project publicly, please link to this repository rather than copying the code independently.