Skip to main content

A production-grade, local SQL workbench for querying files (CSV, Parquet, JSON) using DuckDB or Spark.

Project description

Wherewolf

CI PyPI version License: MIT

A production-grade, local SQL workbench for querying files (CSV, Parquet, JSON) using DuckDB or Spark.

Features

  • Multi-Engine Support: Execute SQL via DuckDB (local) or Spark (local[*]). Native support for CSV, Parquet, JSON, and Excel (.xlsx, .xls).
  • 📁 Dataset Catalog: Improved file browser with directory-first sorting, folder icons, and extension filtering for a cleaner experience.
  • 🔗 Multi-Table Queries: Perform JOINs, unions, and subqueries across different file formats in a single session.
  • 📊 Schema & Metadata HUD: Instant visibility of column names and data types for any dataset in your catalog.
  • SQL Translation: Real-time translation between DuckDB and SparkSQL dialects using SQLGlot.
  • Modern UI: Distraction-free interface with a hidden toolbar, reduced whitespace, and clear visual hierarchy.
  • Safe Preview: Scrollable results limited to 1000 rows.
  • Query History: Persists past queries in ~/.wherewolf/history.json.
  • Export: Download query results as CSV, Excel, or Parquet. DataFrame handling and exports are Polars-based. When the preview is truncated, use Prepare full export to re-run the query without a row limit and download the entire result set.
  • Execution Metrics: Tracks row count and execution time.

Wherewolf Screenshot

Installation

Ensure you have uv installed.

From PyPI (Recommended)

uv tool install wherewolf
wherewolf

From Source

git clone https://github.com/beallio/wherewolf.git
cd wherewolf
uv sync

Usage

If running from source:

uv run streamlit run src/wherewolf/app.py
  1. Use the Manage Dataset Catalog section in the sidebar to browse and add files.
  2. Each file is assigned an alias (e.g., users, orders).
  3. Write your SQL query using these aliases in the editor.
  4. Click Run to execute.
  5. View results, execution metrics, or switch the Metadata Focus to inspect other schemas.
  6. Export or view the translated SQL if needed.

Development

Run tests:

uv run pytest

Lint/Format:

ruff check . --fix
ruff format .

Dependencies

  • streamlit
  • duckdb
  • pyspark
  • sqlglot
  • pyarrow
  • polars
  • fastexcel
  • xlsxwriter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wherewolf-0.5.2.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wherewolf-0.5.2-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

Details for the file wherewolf-0.5.2.tar.gz.

File metadata

  • Download URL: wherewolf-0.5.2.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wherewolf-0.5.2.tar.gz
Algorithm Hash digest
SHA256 17ab36aef0fb3fce3a3bb79f1917700bdd5ea00deb4a8aeb318b5c3749a5190f
MD5 c52c6614703733a717a6b166d867e6ed
BLAKE2b-256 bd417931423b5431446ed6d28639df586a6ac29c20445e1ba42902fdb15e68b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for wherewolf-0.5.2.tar.gz:

Publisher: release.yml on beallio/wherewolf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wherewolf-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: wherewolf-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wherewolf-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b838015aa0f30941921bcb69ecc6c0c73255a13b00d0213a8742df9cc0814638
MD5 81f6283f975969f25593ae6a37b64462
BLAKE2b-256 f8ef65162b31400ae3c4ee38e8d792f07874dd17c84abdce9f5e3b02e6ec7d9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for wherewolf-0.5.2-py3-none-any.whl:

Publisher: release.yml on beallio/wherewolf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page