Skip to main content

det (Data Engineering Tool)

PyPI Version CI License: MIT Python: 3.14+ Engine: DuckDB 2.0 In-Memory: Apache Arrow Architecture: Local--First

det is a lightweight, local-first SQL ETL orchestration framework and data transformation workspace powered by DuckDB 2.0.

det offers data engineers the familiar ergonomics of declarative SQL modeling—automatic dependency resolution, {{ ref() }} and {{ source() }} lineage, and schema testing—combined with an embedded vectorized analytical engine and a built-in zero-dependency Web IDE.


🚀 Key Highlights & Capabilities

  • ⚡ Embedded Vectorized Execution (DuckDB 2.0 & Arrow):
    • High-throughput analytical SQL execution directly in-process.
    • Zero cloud serialization overhead, SIMD parallelism, and multi-threaded query execution for local and on-premises workloads.
  • 🔌 Unified Multi-Tier Catalog:
    • Relational Databases: PostgreSQL, MySQL, SQLite, Microsoft SQL Server / Fabric SQL endpoints.
    • Open Lakehouse Formats: Delta Lake (read-only source scanner with time-travel snapshot querying), Apache Iceberg, Microsoft Fabric OneLake (abfss://).
    • Object Storage & Flat Files: AWS S3, Cloudflare R2, Parquet, CSV, JSON, and Excel (.xlsx).
  • 🧩 Declarative SQL Modeling & DAG Resolution:
    • {{ ref('model_name') }}: Declare model lineage and automatically generate topological execution DAGs.
    • {{ source('connection', 'target') }}: Read directly from any catalog connection using vectorized scanners.
    • {{ env_var('VAR_NAME', 'default_value') }}: Substitute environment tokens at compilation time.
  • 🛡️ Resilient Data Quality & Row Quarantine:
    • Declarative assertions: not_null, unique, accepted_values, expression, relationships (referential integrity), row_count, and custom_sql.
    • Non-blocking row quarantine: Isolate violating data rows into persistent quarantine sinks for audit and remediation without crashing downstream pipeline runs.
  • 📊 Granular Monitoring & Pluggable Telemetry:
    • Track individual model execution stages: status, start timestamps, millisecond durations, rows processed, and error diagnostics.
    • Swappable storage sinks: Local DuckDB (.det/telemetry.duckdb), append-only flat-file JSONL (.det/telemetry/), or external database audit tables.
    • One-click run export to JSON for external log ingestion and auditing.
    • Built-in performance guard capping log queries to keep UI navigation responsive.
  • 📚 Self-Contained Interactive Documentation:
    • Automatic column and schema introspection with live documentation editing.
    • Interactive Mermaid DAG lineage diagrams.
    • Static self-contained HTML portal export via det docs generate.
  • 💻 Dual Interface:
    • Full headless CLI and Python SDK for headless automation and CI/CD.
    • Built-in, zero-dependency browser Web IDE (det gui).

🛠️ CLI Quickstart

1. Initialize a Workspace

det init my_pipeline
cd my_pipeline

2. Verify Catalog Connections

det catalog list
det catalog test

3. Execute Pipeline Models

det run

4. Run Data Quality Assertions

det test

5. Generate and Serve Documentation

det docs generate

6. Launch the Local Web IDE

det gui --port 8080

Open http://localhost:8080 to explore the visual DAG canvas, models, documentation portal, and execution telemetry.


🐍 Python SDK Example

from pathlib import Path
from det import Workspace

# Open active workspace
ws = Workspace(Path("."))

# Test catalog connections
health = ws.test_catalog()
print("Catalog Health:", health)

# Execute topological pipeline DAG
report = ws.run()
print(f"Executed {report.total_models} models in {report.duration_ms:.1f}ms")

# Run data quality tests with automatic quarantine routing
test_suite = ws.test()
print(f"Passed: {test_suite.passed_count}, Failed: {test_suite.failed_count}")

# Generate interactive HTML documentation
docs_path = ws.generate_docs()
print("Documentation portal generated at:", docs_path)

🔮 Roadmap & Upcoming Features

We are actively developing the following enhancements:

  • ✍️ Intelligent SQL Editor Autocompletion & Language Server (LSP):
    • Context-Aware {{ ref() }} Completion: Instant autocomplete suggestions for all model names defined across active pipelines.
    • Catalog Source Suggestion: Live autocompletion for {{ source('connection', 'table') }} referencing catalog items and mounted views.
    • Column-Level Suggestions: Schema-aware column autocompletion introspected from upstream models and catalog connections.
    • In-Browser Syntax Validation: Real-time SQL syntax highlighting, linting, and error hints within the Web IDE.
  • 📦 Pluggable Extension Ecosystem: Dynamic third-party connector packaging and community plugins.
  • ⚡ Streaming Ingestion Adapters: Incremental real-time micro-batch processing with DuckDB append-only appenders.

🧪 Running Tests

det includes a comprehensive automated test suite covering catalog mounting, DAG parsing, topological execution, quarantine routing, documentation extraction, and telemetry sinks:

pytest

108 passing unit and integration tests.


📦 Building Distribution Packages

python -m build
python -m twine check dist/*

📄 License & Attribution

Maintained by Saurabh Rai (saurabhr2@gmail.com) and det-Labs.

Licensed under the MIT License.

Metadata

Release files for det-core 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for det-core 0.3.0
File Size Uploaded Provenance
det_core-0.3.0.tar.gz 94.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for det-core 0.3.0
File Interpreter ABI Platform
det_core-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 197.1 kB

Release files / det_core-0.3.0.tar.gz

Download URL det_core-0.3.0.tar.gz
Size 94.8 kB
Tags Source
SHA-256 checksum
How to use checksums
928774179767b38177a3694ad2b631d387d23aa591fa9798ce001ef5c1c4c78b
BLAKE2b-256 checksum
How to use checksums
c8ddffd6cc9a8271f44122a146fa9c19d2fc59eadf621dc223e68f67b92abd42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / det_core-0.3.0-py3-none-any.whl

Download URL det_core-0.3.0-py3-none-any.whl
Size 102.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d58bcdada196de54db5c5cd1401ed1f9261a89b6b273564359054360a1f897a
BLAKE2b-256 checksum
How to use checksums
473609531dc0c23ff1d38526717d72cc33f82b1e82aaae5df9e5e708641877d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for det-core 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for det_core-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page