Metadata-Version: 2.5
Name: duckpad
Version: 0.3.0
Summary: A local SQL canvas with reproducible execution and cell lineage
Project-URL: Homepage, https://github.com/hugues31/duckpad
Project-URL: Repository, https://github.com/hugues31/duckpad
Project-URL: Issues, https://github.com/hugues31/duckpad/issues
Project-URL: Changelog, https://github.com/hugues31/duckpad/releases
License-Expression: MIT
License-File: LICENSE
Keywords: data-lineage,data-pipeline,duckdb,etl,sql
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Requires-Python: >=3.11
Requires-Dist: authlib<2,>=1.9.1
Requires-Dist: duckdb>=2.0
Requires-Dist: fastapi>=0.115
Requires-Dist: filelock>=3.18
Requires-Dist: httpx2<3,>=2.4
Requires-Dist: joserfc<2,>=1.7.7
Requires-Dist: psutil>=7.2
Requires-Dist: pydantic>=2.10
Requires-Dist: python-multipart>=0.0.20
Requires-Dist: pytz>=2024.1
Requires-Dist: sqlglot>=27
Requires-Dist: uvicorn>=0.34
Description-Content-Type: text/markdown

# Duckpad

[![Tests](https://github.com/hugues31/duckpad/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/hugues31/duckpad/actions/workflows/ci.yml)
[![PyPI version](https://img.shields.io/pypi/v/duckpad.svg)](https://pypi.org/project/duckpad/)
[![Python versions](https://img.shields.io/pypi/pyversions/duckpad.svg)](https://pypi.org/project/duckpad/)
[![License: MIT](https://img.shields.io/github/license/hugues31/duckpad.svg)](LICENSE)

### See the flow. Trust the result.

An open-source SQL workspace powered by **DuckDB 2.0**. Turn scattered data into
visual pipelines, explore the results and trace a number all the way back to its
source.

[Website & docs](https://hugues31.github.io/duckpad/) ·
[**Get started →**](https://hugues31.github.io/duckpad/docs/quickstart/) ·
[Take the tour](docs/EXAMPLE.md) · [Contribute](CONTRIBUTING.md)

![Duckpad: the Northstar pipeline and its revenue results](docs/images/workspace.png)

- **Compose visually.** Connect sources, joins and reusable components. Use guided
  forms or write SQL in the integrated editor.
- **Understand the result.** Click a valid cell to explore its contributing source
  values, with [explicit lineage coverage](docs/LINEAGE.md).
- **Iterate with confidence.** Save to Git, branch independently, compare changes
  visually and review a merge before applying it.
- **Keep control.** Run on your infrastructure, configure connections per
  environment and manage project access for your team.

## Try it

With Python 3.11+ and Git installed:

```sh
pip install duckpad
duckpad start
```

SQL execution requires Linux with Landlock ABI 2+ (Linux 5.19+ with Landlock
enabled). Open the printed local address and sign in with the initial admin
password from the terminal. Choose **Open example project**, then **Run pipeline**.

The package includes the interface; Node.js is only needed for development.
See the [quickstart](docs/QUICKSTART.md) for the complete first-run walkthrough.

## Go further

[Installation & accounts](docs/INSTALLATION.md) · [Pipelines & SQL](docs/AUTHORING.md) ·
[Single sign-on](docs/SSO.md) · [Version control](docs/GIT.md) · [Connections](docs/CONNECTORS.md) ·
[Architecture](docs/ARCHITECTURE.md) · [Validation](docs/VALIDATION.md) ·
[Releases](docs/RELEASING.md) · [Security](SECURITY.md)

The [website and documentation guide](docs/WEBSITE.md) explains local preview,
Playwright demo recording and GitHub Pages publishing. Developer checks live in
[CONTRIBUTING.md](CONTRIBUTING.md). Private issue workflows and preview tooling
are maintained in operator-owned configuration outside Git.

**MIT licensed.** Built for the open-source community.
