Skip to main content

DBCrust

A fast psql-style database workbench for your terminal. One CLI for PostgreSQL, MySQL, SQLite, ClickHouse, MongoDB, Elasticsearch, White Dragon search, Redis/Valkey, SQL Server/Azure SQL, Amazon Redshift, libSQL/Turso, InfluxDB, Amazon S3/R2/MinIO object stores, DynamoDB and CloudWatch Logs (opt-in AWS builds), DuckDB/DuckLake (opt-in build), Docker databases, Vault-backed connections, and SQL over Parquet/CSV/JSON files — with optional AI, Django ORM analysis, Python bindings, and a desktop GUI.

CI PyPI Documentation License: MIT

curl -fsSL https://clement-tourriere.github.io/dbcrust/install.sh | sh
dbc postgres://user:pass@localhost/mydb

AI is optional and disabled by default. DBCrust works with zero AI setup. ?? sends schema metadata and your question, not row data; ??? and Django AI investigations can inspect bounded query results. Generated SQL is shown before execution.

Documentation · Quick start · AI/privacy · Django analyzer · Python API

Why DBCrust

  • One workflow across databases — the same REPL, commands, and muscle memory across PostgreSQL, MySQL, SQLite, ClickHouse, MongoDB, and Elasticsearch.
  • Files are databases too — inspect Parquet, CSV, and JSON with SQL via Apache DataFusion, no import step or notebook required.
  • Optional AI you control — type ?? top 10 customers by revenue to generate SQL from schema context, or use ??? for bounded read-only investigations. Supports Anthropic, OpenAI, Gemini, Ollama, and 20+ other providers.
  • DBCrust for Django — catch N+1 queries, missing select_related / prefetch_related, slow views, and index opportunities before production.
  • Production-friendly plumbing — SSH tunnels (with auto-tunnel patterns), HashiCorp Vault dynamic credentials, Docker container auto-discovery, encrypted password storage.
  • A REPL that helps — context-aware autocompletion, syntax highlighting, history search, external editor, EXPLAIN visualization (including an interactive TUI), named queries, saved sessions.
  • Agent-safe connections — a credential broker (dbcrust broker, dbcrust-agent, MCP) keeps database passwords out of AI agents' reach: enrolled aliases, forced read-only, row/time limits and an audit log; it can run as its own OS user. See Agent connections.
  • Scriptable, embeddable, agent-ready — -c/-f/stdin one-shots with -o json|csv output, stable exit codes, a --read-only guard, and a Python API powered by the same Rust core.

Install

# Pre-built binary — macOS & Linux
curl -fsSL https://clement-tourriere.github.io/dbcrust/install.sh | sh

# Pre-built binary — Windows (PowerShell)
irm https://clement-tourriere.github.io/dbcrust/install.ps1 | iex

# Python 3.10+ (ships the same native binary)
uv tool install dbcrust          # or: pipx install dbcrust / pip install dbcrust
uvx dbcrust <url>                # run without installing

# From source (Rust 1.85+)
cargo install --path .

Two binaries are installed: dbcrust and the short alias dbc.

dbcrust --update                 # self-update (detects uv / pipx / pip / cargo / binary installs)
dbcrust --completions zsh        # shell completions (bash, zsh, fish, powershell, ...)

Quick start

dbcrust postgres://user:pass@localhost/mydb     # interactive session
dbcrust recent://                               # pick from recent connections
dbc ./users.csv                                 # infer CSV from the extension
dbcrust sqlite:///path/to/db.sqlite -c "SELECT count(*) FROM users"   # run and exit

Every connection type is a URL:

Scheme Example
PostgreSQL postgres://user:pass@localhost:5432/mydb?sslmode=require
MySQL mysql://root:pass@localhost:3306/mydb
SQLite sqlite:///path/to/db.sqlite or ./path/to/db.sqlite
ClickHouse clickhouse://user:pass@localhost:8123/default
MongoDB mongodb://user:pass@localhost:27017/mydb
Elasticsearch elasticsearch://localhost:9200
White Dragon white-dragon://localhost:7700
Redis / Valkey redis://localhost:6379/0 · rediss://user:pass@host:6380 (TLS)
SQL Server / Azure SQL mssql://user:pass@localhost:1433/mydb (TLS verified by default) · mssql://user:pass@host%5CINSTANCE/mydb
Amazon Redshift redshift://user:pass@cluster.abc.eu-west-1.redshift.amazonaws.com:5439/dev (TLS required by default)
libSQL / Turso libsql://my-db-org.turso.io?authToken=… (HTTPS) · libsql+http://localhost:8080 (local sqld)
InfluxDB influxdb://localhost:8086/db (v1, InfluxQL) · influxdb2://:TOKEN@localhost/bucket?org=acme (v2, Flux) · influxdb3://:TOKEN@localhost/db (v3, SQL) · influxdbs://… (TLS)
Amazon DynamoDB (opt-in: --features aws, Rust ≥ 1.94.1) dynamodb://eu-west-1/Orders?profile=prod · dynamodb+http://localhost:8000?region=local — PartiQL SELECT and tables, describe, scan, get, query; bounded reads, capacity reported, no writes
Amazon CloudWatch Logs (opt-in: --features aws, Rust ≥ 1.94.1) cloudwatch://eu-west-1/aws/lambda/orders?profile=prod — Logs Insights over a mandatory time window (since 30m fields @message | filter …), groups, streams, tail; queries are stopped on Ctrl-C and timeout, scanned bytes reported
Amazon S3 / R2 / MinIO (opt-in: --features aws, Rust ≥ 1.94.1) s3://my-bucket/logs/?region=eu-west-1 · s3://KEY:SECRET@bucket?endpoint=https://host:9000 · r2://account/bucket · minio://host:9000/bucket — typed read-only commands: ls, head, get, buckets
DuckDB / DuckLake (opt-in: --features duckdb) duckdb:///data/warehouse.duckdb · duckdb://:memory: · warehouse.duckdb · --read-only is enforced by the engine
Parquet / CSV / JSON ./data.parquet · ./logs/app.csv · file:// picker · json:///events.json
Docker container docker:// (interactive picker) · docker://my-postgres/mydb
Saved session session://production_db
Recent connections recent://
Vault credentials vault://readonly@database/postgres-prod

Full details: URL schemes reference.

Built for AI agents

Coding agents work best with CLIs they can shell out to — no MCP server to run, no per-tool token overhead, composable with pipes and exit codes. DBCrust's one-shot mode gives them one binary for every data service:

dbcrust session://prod -c '\ddl'                            # whole schema as compact DDL, one call
dbcrust session://prod --read-only --no-input -o json \
  -c "SELECT status, count(*) FROM orders GROUP BY status"  # single-line {"columns","rows",...} envelope
echo "SELECT count(*) FROM logs" | dbcrust ./logs.parquet   # stdin scripts; files are databases too

The contract is built for programmatic callers: results-only stdout (status goes to stderr, the pager never engages), JSON errors on stderr under -o json, stable exit codes (0 ok · 1 SQL error · 2 usage · 3 connection · 4 blocked by --read-only), --timeout/--max-rows limits, and --no-input so no prompt can ever hang an agent. The binary documents itself: run dbcrust agents for the full ~130-line contract, and paste the ready-made snippet into your project's CLAUDE.md/AGENTS.md from the agent quickstart.

--read-only is a best-effort statement guard backed by connect-level hardening (SQLite query_only, PostgreSQL default_transaction_read_only); for hard guarantees use a read-only database role — details in safety & guardrails.

For databases that matter, don't hand the agent a password at all: enroll the connection with the credential broker (sudo dbcrust broker install-service, then dbcrust broker enroll …) and give the agent the credential-free dbcrust-agent client (CLI or MCP server). See Agent connections.

SQL over local files

Inspect production exports, logs, and data drops without importing them into a database or opening a notebook.

dbc warehouse/events.parquet      # inferred from extension
dbc 'logs/*.csv?header=true'      # globs work too
dbc file://                       # interactive compatible-file picker
dbc json:///tmp/api-responses.ndjson
SELECT date_trunc('hour', ts) AS hour, count(*)
FROM events
WHERE level = 'ERROR'
GROUP BY hour
ORDER BY hour DESC;

DBCrust registers matching files as SQL tables and lets DataFusion handle filtering, aggregations, joins, nested JSON fields, and glob patterns. See the file formats guide.

The interactive session

Connecting drops you into a REPL with context-aware SQL autocompletion, syntax highlighting, searchable history, and 60+ psql-style backslash commands. The most used:

Commands
Explore \l databases · \c <db> switch · \dt tables · \d <table> describe · \ddl schema dump
Display \x expanded · \cs column selection · \e EXPLAIN mode · \ev interactive EXPLAIN TUI
Edit & run \ed open $EDITOR · \i <file> run SQL file · \w <file> write last query
Named queries \n list · \ns <name> <sql> save · \nd <name> delete
Connections \ss <name> save session · \s list sessions · \r recent · \docker containers
Credentials \savepass store password · \vc Vault cache status
Meta \ai AI assistant · \config settings editor · \h help · \q quit

Named queries support positional parameters ($1, $*, $@) and scopes — global, per-database-type, or session-local.

See the full command reference.

AI assistant

Turn natural language into SQL without leaving your session. The assistant uses your database's real schema as context, streams its answer, and always shows the SQL before running it (writes default to "No").

\ai setup                                        -- one-time wizard: provider, model, API key

?? top 10 customers by total order value this year
?? now only the active ones                      -- follow-ups keep conversation context
  • Providers: Anthropic, OpenAI, Gemini, Ollama, Groq, DeepSeek, xAI, OpenRouter, and more — 25+ via genai, including any OpenAI-compatible endpoint for self-hosted models.
  • Privacy controls: AI is opt-in. ?? sends schema metadata and your prompt/history; query results stay local. ??? and Django "Investigate with AI" can send bounded result rows, query plans, captured SQL, and source context. API keys live in the secret store (OS keychain, or a passphrase-encrypted file on Linux) or environment variables.

More in the AI assistant guide and privacy notes.

Tunnels, Vault & Docker

SSH tunneling — reach databases behind a jump host, explicitly or automatically via config patterns:

dbcrust postgres://user@db.internal/app --ssh-tunnel jumphost.example.com
# ~/.config/dbcrust/config.toml — auto-tunnel any host matching the pattern
[ssh_tunnel_patterns]
"^db\\.internal\\..*\\.com$" = "user@jumphost.example.com:2222"

HashiCorp Vault — dynamic database credentials with an encrypted local cache: dbcrust vault://readonly@database/postgres-prod. An optional AWS-style vault_credential_process can obtain authentication lazily, so ordinary PostgreSQL/MySQL connections never start a Vault login flow. The helper is provider-neutral: any command that prints a token or JSON { "token": "…", "vault_addr": "…" } works.

Docker — dbcrust docker:// lists running database containers and connects without you hunting for ports or credentials.

Python API & DBCrust for Django

The Python package wraps the same Rust core via PyO3 — identical URLs, commands, and behavior.

import dbcrust

dbcrust.run_command("postgres://user:pass@localhost/mydb", "SELECT * FROM users LIMIT 5")
dbcrust.run_cli("postgres://user:pass@localhost/mydb")     # full interactive REPL

from dbcrust import PostgresClient
client = PostgresClient(host="localhost", user="postgres", dbname="myapp")
tables = client.list_tables()

DBCrust for Django catches ORM performance bugs before production: N+1 queries, duplicate queries, missing select_related / prefetch_related, slow views, and index opportunities, with recommendations tied back to code locations.

# settings.py
MIDDLEWARE = ["dbcrust.django.PerformanceAnalysisMiddleware", ...]

# or analyze a block of code explicitly
from dbcrust.django import analyzer
with analyzer.analyze() as analysis:
    for book in Book.objects.all():
        print(book.author.name)        # N+1 detected
results = analysis.get_results()
python manage.py dbcrust               # connect using your Django DB settings

Guides: Python API · Django analyzer.

Desktop GUI

A native, GPU-accelerated desktop app built with GPUI Kit, pure Rust on the same core as the CLI (built from source for now). See the GUI guide.

DBCrust desktop app

  • Connect: one searchable list of saved connections, recent ones and Docker containers, with Test / Save / Connect, environment labels and a Vault wizard. Docker containers connect even when their port isn't published or a VPN blocks the container network: DBCrust relays through Docker itself. Open several connections at once, read-only if you like.
  • Explore: a schema explorer with a cross-connection filter, and a table inspector showing columns, indexes, constraints, references, a data preview and DDL.
  • Edit: a SQL editor with schema-aware completion (aliases and CTEs resolved). Run the statement under the caret, run all, really cancel, format, keep history, and use named queries and .sql files.
  • Results: a virtualized results grid with distinct NULLs and numeric sorting, copy/export as CSV, TSV, JSON or Markdown, and a row inspector.
  • Plans: an EXPLAIN visualizer with plan tree, cost shares, row-estimate checks and recommendations.
  • Navigate: a command palette (⌘K), native menus, full keyboard shortcuts, light/dark themes following the OS plus bundled themes, and drafts that are autosaved and restored.
  • Stays at hand: closing the window keeps DBCrust in the menu bar / system tray with its connections and running queries; reopen or connect from there.

Connect page EXPLAIN visualizer

mise run gui:dev                       # run the app
mise run gui:build                     # optimised build (target/gui-release/dbcrust-gui)
mise run gui:bundle                    # macOS DBCrust.app

Configuration

Settings live in ~/.config/dbcrust/ by default (override with DBCRUST_CONFIG_DIR=/path/to/dbcrust-config-dir), with user data kept in dedicated files:

File Contents
config.toml App settings (display, limits, SSH patterns, AI, logging, ...)
sessions.toml Saved sessions
recent.toml Recent connections
named_queries.toml Named queries
vault_credentials.enc Encrypted Vault credential cache
~/.dbcrust Stored passwords (pgpass-style)

Edit configuration interactively or from scripts — no connection required:

dbcrust config                         # interactive menu (also \config inside the REPL)
dbcrust config get logging.level
dbcrust config set logging.level debug
dbcrust config edit                    # open config.toml in $EDITOR

Full list of options: configuration reference.

Development

DBCrust uses mise 2026.8.16+ for toolchain and task management. mise install installs Bun (docs site), Commitizen, and Mr Boxington, which puts a shared, self-pruning cache behind Cargo commands run through mise. No mise? Run ./bin/mise instead of mise: the committed wrapper downloads a pinned mise on first use.

mise install
mise run build:dev        # debug build          mise run build      # release build
mise run test             # cargo test           mise run check      # fmt + lint + test
mise run py:dev           # maturin develop      mise run py:test    # Python tests
mise run gui:dev          # desktop app         mise run docs       # docs dev server
mise run cache:stats      # mbx cache savings    mbx doctor          # verify the Rust build cache

With mise activated, plain cargo commands use the same cache. Set MBX_DISABLE=1 for a one-off uncached Cargo command.

src/                Rust core — CLI, REPL, database backends, AI assistant
├── commands.rs     backslash command system (enum + strum)
├── database_*.rs   per-database implementations
└── explain_tui/    interactive EXPLAIN visualizer (ratatui)
gui/                desktop app (GPUI Kit) — core/ is the GPUI-free backend
python/             Python bindings (PyO3 + maturin) and Django integration
docs/               documentation site (Astro Starlight)

More in the development guide.

License

MIT — see LICENSE.

Metadata

Release files for dbcrust 0.39.1

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

Built distributions (wheels)

Table of built distributions (wheels) for dbcrust 0.39.1
File Actions
dbcrust-0.39.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for dbcrust-0.39.1-cp310-abi3-win_amd64.whl
dbcrust-0.39.1-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details for dbcrust-0.39.1-cp310-abi3-musllinux_1_2_x86_64.whl
dbcrust-0.39.1-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details for dbcrust-0.39.1-cp310-abi3-musllinux_1_2_aarch64.whl
dbcrust-0.39.1-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details for dbcrust-0.39.1-cp310-abi3-manylinux_2_28_aarch64.whl
dbcrust-0.39.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for dbcrust-0.39.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dbcrust-0.39.1-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-32 Details for dbcrust-0.39.1-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
dbcrust-0.39.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for dbcrust-0.39.1-cp310-abi3-macosx_11_0_arm64.whl
dbcrust-0.39.1-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details for dbcrust-0.39.1-cp310-abi3-macosx_10_12_x86_64.whl

Total release size: 141.7 MB

Release files / dbcrust-0.39.1-cp310-abi3-win_amd64.whl

Download URL dbcrust-0.39.1-cp310-abi3-win_amd64.whl
Size 14.7 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
f7cf82f88b23a4ecf738b02495964b86ae95fdf173476dc1e21c795f0b6db4b7
BLAKE2b-256 checksum
How to use checksums
73c7532151b3226f4c5e555ff2649c2c724f9e41fcff58f6df7365850cedd91a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Release files / dbcrust-0.39.1-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL dbcrust-0.39.1-cp310-abi3-musllinux_1_2_x86_64.whl
Size 19.4 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
0b1a5ba3b33c62151423688e2757cd823c910b01ac7d78501d8364ba5d490bfa
BLAKE2b-256 checksum
How to use checksums
40043b897b314e5f09a9e10f5a0d0e4b8529af3e0150aa472b6212db2a0b80f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Release files / dbcrust-0.39.1-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL dbcrust-0.39.1-cp310-abi3-musllinux_1_2_aarch64.whl
Size 19.4 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
9f0ff685a813dc094e02e6c7b006257f5eb88d8359177179c68da45335d2408b
BLAKE2b-256 checksum
How to use checksums
60bb18d99d2bde5f043b369790f157a9b1f66bc1670a6b3fdd565c2abce65967
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Release files / dbcrust-0.39.1-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL dbcrust-0.39.1-cp310-abi3-manylinux_2_28_aarch64.whl
Size 19.2 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
d922a772a0c3469440465ef832662a9ab39cd2e2aa660b444d23147e35429b17
BLAKE2b-256 checksum
How to use checksums
119b70d6beac1a64ab5727e579d4d90ec930cab589c653854ce830531992916c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Release files / dbcrust-0.39.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL dbcrust-0.39.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 18.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
db38d8bb17b859fd0bcaa65e2d6ccf88117faf4ee78e0a3f31bb3f5a0271ad0f
BLAKE2b-256 checksum
How to use checksums
19f253b32ead5a344586a1f13a86773c61e0631cc7a422d1c8dba3e075aa3574
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Release files / dbcrust-0.39.1-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL dbcrust-0.39.1-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Size 19.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
6a186496c28cd457890d3a96e5d0d05bc2db22dd080ed339fc8c25ecf65133cf
BLAKE2b-256 checksum
How to use checksums
334c764e0a3c5c0ec6fcc30c07521e507dce20d13e66cc1ea89449901c6fa137
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Release files / dbcrust-0.39.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL dbcrust-0.39.1-cp310-abi3-macosx_11_0_arm64.whl
Size 15.5 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f80302a3a7d98e0d0d687ae244e7c24b4dd8c9f7c5ce8c2f66de2b0abf8da412
BLAKE2b-256 checksum
How to use checksums
579e7a476c90bcded6c5cef4156d716664878c6672a4ca34b283a54da5511723
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Release files / dbcrust-0.39.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL dbcrust-0.39.1-cp310-abi3-macosx_10_12_x86_64.whl
Size 15.2 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8e8662da60231e9ff6a7acc7cc4358ed975f92d865b76e4838fd9c889132950e
BLAKE2b-256 checksum
How to use checksums
4ca67d6abbea459670182287af6cdb21de1830979a087e52b6cbe03958b3a547
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 17, 2026.

Transparency log

Security for dbcrust 0.39.1

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 8 files in this release have been uploaded with provenance metadata.

Select from 8 files

Attestation for dbcrust-0.39.1-cp310-abi3-win_amd64.whl

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 17, 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.

Release history Release notifications | RSS feed

This release

0.39.1 This release

8 release files Full provenance

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