Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .github/demos/rename.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/demos/scope.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ your SQL, so change is safe. It is a free, open-source framework for SQL and Pyt
and it keeps its state in append-only tables in your own warehouse: no external state database, no
manifest files and no paid tier.

<p align="center">
<img src="https://raw.githubusercontent.com/chio-labs/sqlbuild/main/.github/demos/rename.gif" alt="Moving and renaming an incremental model: sqb plan migrates the existing table instead of rebuilding it" width="100%">
</p>

## Quick start

```bash
Expand Down Expand Up @@ -67,6 +71,10 @@ The playground runs on local DuckDB, with no warehouse credentials.
- **Tidy up safely.** The [janitor](https://sqlbuild.com/docs/cli/janitor/) archives stale tables
before anything is deleted.

<p align="center">
<img src="https://raw.githubusercontent.com/chio-labs/sqlbuild/main/.github/demos/scope.gif" alt="sqb scope previews a move: the enum and macro the model uses would be lost, so the move is flagged before anything breaks" width="100%">
</p>

Ingestion with Python loaders, and Python tasks, assets and checks, run in the same graph as your SQL
models. See the [docs](https://sqlbuild.com/docs/) for everything else.

Expand Down
2 changes: 1 addition & 1 deletion website/recordings/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ scripts are the source; the rendered GIF, MP4 and PNG files go to `out/`, which
| `janitor` | `sqb janitor` archives a stale table before anything is deleted. |
| `quickstart` | The playground: `sqb playground`, `sqb build` and `sqb test`. |

Each demo runs locally on DuckDB, using the projects in [`../examples`](../examples).
The README uses `rename.gif` and `scope.gif`, copied into `.github/demos/`. Each demo runs locally on DuckDB, using the projects in [`../examples`](../examples).

## Requirements

Expand Down
5 changes: 4 additions & 1 deletion website/recordings/tapes/scope.tape
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
Source tapes/common.tape
Set FontSize 16
Set Width 1400
Set Height 1100
Output out/scope.gif
Output out/scope.mp4
Hide
Type "cd scratch/scope && export PS1='$ ' && clear"
Enter
Sleep 500ms
Show
Type "find models/marts -name '*.sql' -o -name '*.py'"
Type "find models/marts/_sqlbuild models/marts/daily_revenue.sql -type f"
Enter
Sleep 1500ms
Type "sqb scope model:daily_revenue --as-path models/intermediate/daily_revenue.sql"
Expand Down
Loading