create-dql-app 1.0.1 → 1.0.4
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.
- package/README.md +3 -3
- package/bin/create-dql-app.mjs +1 -1
- package/package.json +2 -2
- package/templates/empty/README.md +1 -1
- package/templates/empty/notebooks/welcome.dqlnb +2 -1
- package/templates/jaffle-shop/README.md +6 -6
- package/templates/jaffle-shop/blocks/revenue_by_segment.dql +0 -3
- package/templates/jaffle-shop/dashboards/overview.dql +0 -2
- package/templates/jaffle-shop/notebooks/welcome.dqlnb +4 -3
package/README.md
CHANGED
|
@@ -31,9 +31,9 @@ npx create-dql-app finance-reports --template empty
|
|
|
31
31
|
|
|
32
32
|
## Docs
|
|
33
33
|
|
|
34
|
-
- [Quickstart](https://
|
|
35
|
-
- [Concepts](https://
|
|
36
|
-
- [Connect your own warehouse](https://
|
|
34
|
+
- [Quickstart](https://github.com/duckcode-ai/dql/blob/main/docs/01-quickstart.md)
|
|
35
|
+
- [Concepts](https://github.com/duckcode-ai/dql/blob/main/docs/02-concepts.md)
|
|
36
|
+
- [Connect your own warehouse](https://github.com/duckcode-ai/dql/blob/main/docs/guides/connect-warehouse.md)
|
|
37
37
|
|
|
38
38
|
## License
|
|
39
39
|
|
package/bin/create-dql-app.mjs
CHANGED
|
@@ -171,7 +171,7 @@ ${c.green('✓ Ready.')} Next steps:
|
|
|
171
171
|
|
|
172
172
|
Your notebook will open at ${c.cyan('http://localhost:5173')}.
|
|
173
173
|
|
|
174
|
-
Docs: ${c.cyan('https://
|
|
174
|
+
Docs: ${c.cyan('https://github.com/duckcode-ai/dql')}
|
|
175
175
|
Issues: ${c.cyan('https://github.com/duckcode-ai/dql/issues')}
|
|
176
176
|
`);
|
|
177
177
|
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-dql-app",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Scaffold a new DQL project. Run with: npx create-dql-app <name>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "DuckCode AI Labs",
|
|
7
|
-
"homepage": "https://
|
|
7
|
+
"homepage": "https://github.com/duckcode-ai/dql",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "https://github.com/duckcode-ai/dql.git",
|
|
@@ -5,7 +5,7 @@ An empty DQL project, scaffolded by `create-dql-app --template empty`.
|
|
|
5
5
|
## Connect your warehouse
|
|
6
6
|
|
|
7
7
|
Edit `cdql.yaml` — DQL ships 15 drivers out of the box:
|
|
8
|
-
[docs
|
|
8
|
+
[docs/reference/connectors.md](https://github.com/duckcode-ai/dql/blob/main/docs/reference/connectors.md).
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
11
|
npx @duckcodeailabs/dql-cli test-connection
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"dqlnbVersion": 1,
|
|
2
3
|
"version": 1,
|
|
3
4
|
"metadata": {
|
|
4
5
|
"title": "{{PROJECT_NAME}} — Welcome",
|
|
@@ -11,9 +12,9 @@
|
|
|
11
12
|
"source": "# {{PROJECT_NAME}}\n\nWelcome to DQL. Connect a warehouse in `dql.config.json`, then edit the cell below."
|
|
12
13
|
},
|
|
13
14
|
{
|
|
15
|
+
"title": "First query",
|
|
14
16
|
"id": "first_query",
|
|
15
17
|
"type": "sql",
|
|
16
|
-
"title": "First query",
|
|
17
18
|
"source": "select 1 as hello"
|
|
18
19
|
}
|
|
19
20
|
]
|
|
@@ -37,12 +37,12 @@ npm run compile # builds dql-manifest.json with lineage
|
|
|
37
37
|
## Next steps
|
|
38
38
|
|
|
39
39
|
1. **Run the welcome notebook** — `notebooks/welcome.dqlnb`
|
|
40
|
-
2. **Connect your warehouse** — [docs
|
|
41
|
-
3. **Import your dbt project** — [docs
|
|
42
|
-
4. **Author a certified block** — [docs
|
|
40
|
+
2. **Connect your warehouse** — [docs/guides/connect-warehouse.md](https://github.com/duckcode-ai/dql/blob/main/docs/guides/connect-warehouse.md)
|
|
41
|
+
3. **Import your dbt project** — [docs/guides/import-dbt.md](https://github.com/duckcode-ai/dql/blob/main/docs/guides/import-dbt.md)
|
|
42
|
+
4. **Author a certified block** — [docs/guides/authoring-blocks.md](https://github.com/duckcode-ai/dql/blob/main/docs/guides/authoring-blocks.md)
|
|
43
43
|
|
|
44
44
|
## Learn
|
|
45
45
|
|
|
46
|
-
- [Quickstart](https://
|
|
47
|
-
- [Concepts](https://
|
|
48
|
-
- [CLI reference](https://
|
|
46
|
+
- [Quickstart](https://github.com/duckcode-ai/dql/blob/main/docs/01-quickstart.md)
|
|
47
|
+
- [Concepts](https://github.com/duckcode-ai/dql/blob/main/docs/02-concepts.md)
|
|
48
|
+
- [CLI reference](https://github.com/duckcode-ai/dql/blob/main/docs/reference/cli.md)
|
|
@@ -5,7 +5,6 @@ block "Revenue by segment" {
|
|
|
5
5
|
type = "custom"
|
|
6
6
|
description = "Gross revenue grouped by customer segment."
|
|
7
7
|
tags = ["revenue", "sample"]
|
|
8
|
-
|
|
9
8
|
query = """
|
|
10
9
|
SELECT
|
|
11
10
|
c.customer_segment AS segment,
|
|
@@ -16,13 +15,11 @@ block "Revenue by segment" {
|
|
|
16
15
|
GROUP BY 1
|
|
17
16
|
ORDER BY revenue DESC
|
|
18
17
|
"""
|
|
19
|
-
|
|
20
18
|
visualization {
|
|
21
19
|
chart = "bar"
|
|
22
20
|
x = segment
|
|
23
21
|
y = revenue
|
|
24
22
|
}
|
|
25
|
-
|
|
26
23
|
tests {
|
|
27
24
|
assert row_count > 0
|
|
28
25
|
}
|
|
@@ -5,7 +5,6 @@ dashboard "{{PROJECT_NAME}} — Overview" {
|
|
|
5
5
|
SELECT SUM(amount) as revenue FROM orders,
|
|
6
6
|
metrics = ["revenue"]
|
|
7
7
|
)
|
|
8
|
-
|
|
9
8
|
chart.bar(
|
|
10
9
|
SELECT customer_id, SUM(amount) as spend
|
|
11
10
|
FROM orders
|
|
@@ -16,7 +15,6 @@ dashboard "{{PROJECT_NAME}} — Overview" {
|
|
|
16
15
|
y = spend,
|
|
17
16
|
title = "Top 10 customers by spend"
|
|
18
17
|
)
|
|
19
|
-
|
|
20
18
|
chart.line(
|
|
21
19
|
SELECT order_date, SUM(amount) as revenue
|
|
22
20
|
FROM orders
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"dqlnbVersion": 1,
|
|
2
3
|
"version": 1,
|
|
3
4
|
"metadata": {
|
|
4
5
|
"title": "{{PROJECT_NAME}} — Welcome",
|
|
@@ -11,21 +12,21 @@
|
|
|
11
12
|
"source": "# Welcome to {{PROJECT_NAME}}\n\nThis notebook runs against a DuckDB-backed Jaffle Shop dataset — the same demo data dbt ships.\n\n- Run each cell with `Cmd/Ctrl + Enter`.\n- Charts render inline from SQL results.\n- The certified block in cell 4 lives in `blocks/revenue_by_segment.dql` and can be reused across notebooks and dashboards."
|
|
12
13
|
},
|
|
13
14
|
{
|
|
15
|
+
"title": "Orders overview",
|
|
14
16
|
"id": "orders_overview",
|
|
15
17
|
"type": "sql",
|
|
16
|
-
"title": "Orders overview",
|
|
17
18
|
"source": "select\n count(*) as total_orders,\n count(distinct customer_id) as unique_customers,\n sum(amount) as lifetime_revenue\nfrom orders"
|
|
18
19
|
},
|
|
19
20
|
{
|
|
21
|
+
"title": "Daily revenue",
|
|
20
22
|
"id": "daily_revenue",
|
|
21
23
|
"type": "sql",
|
|
22
|
-
"title": "Daily revenue",
|
|
23
24
|
"source": "select\n order_date,\n sum(amount) as revenue\nfrom orders\ngroup by 1\norder by 1"
|
|
24
25
|
},
|
|
25
26
|
{
|
|
27
|
+
"title": "Revenue by segment (certified block)",
|
|
26
28
|
"id": "revenue_by_segment",
|
|
27
29
|
"type": "dql",
|
|
28
|
-
"title": "Revenue by segment (certified block)",
|
|
29
30
|
"source": "@block(\"Revenue by segment\")"
|
|
30
31
|
}
|
|
31
32
|
]
|