Skip to main content

vibesql-python-bindings

Python bindings for VibeSQL SQL database engine.

Overview

This crate provides Python bindings following DB-API 2.0 conventions, allowing VibeSQL to be used from Python applications for testing, benchmarking, and integration.

Features

  • DB-API 2.0 Compliant: Standard Python database interface
  • Type Conversions: Automatic conversion between Python and SQL types
  • Connection Pooling: Efficient connection management
  • Cursor Support: Full cursor API with fetchone/fetchmany/fetchall
  • Performance Profiling: Built-in profiling utilities for benchmarking
  • Native Speed: Zero-copy access to Rust implementation

Installation

pip install vibesql

Usage

import vibesql

# Create a connection
db = vibesql.connect()

# Get a cursor
cursor = db.cursor()

# Execute DDL
cursor.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name VARCHAR(50))")

# Insert data
cursor.execute("INSERT INTO users VALUES (1, 'Alice')")
cursor.execute("INSERT INTO users VALUES (2, 'Bob')")

# Query data
cursor.execute("SELECT * FROM users WHERE id > ?", [1])
result = cursor.fetchall()
print(result)  # [(2, 'Bob')]

# Close connection
db.close()

Context Manager Support

import vibesql

with vibesql.connect() as db:
    cursor = db.cursor()
    cursor.execute("SELECT 1")
    print(cursor.fetchone())

Building

Note: Python bindings are excluded from the default workspace build to avoid requiring Python development headers. To build the Python bindings, you need Python 3.8+ and development headers installed.

Prerequisites

macOS:

# Python 3.8+ should already include development headers
python3 --version  # Verify Python is installed

Ubuntu/Debian:

sudo apt-get install python3-dev

Fedora/RHEL:

sudo dnf install python3-devel

Building the Package

# 1. Install maturin (Python packaging tool for Rust)
pip install maturin

# 2. Navigate to the Python bindings directory
cd crates/vibesql-python-bindings

# 3. Build and install for local development (recommended for testing)
maturin develop

# 4. Or build a wheel for distribution
maturin build --release
# Wheel will be in: target/wheels/vibesql-0.1.0-*.whl

# 5. Install the wheel
pip install target/wheels/vibesql-0.1.0-*.whl

Quick Build Script

From the repository root:

./scripts/build-python.sh

This script will:

  • Check for Python development headers
  • Install maturin if needed
  • Build the wheel in release mode
  • Show installation instructions

Building with Cargo (Advanced)

If you need to build as part of the workspace:

# From repository root
cargo build --package vibesql-python-bindings --release

Note: This only builds the Rust library, not the Python package. Use maturin for the full Python package.

Documentation

License

This project is licensed under either of:

at your option.

Metadata

Release files for vibesql 0.2.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 vibesql 0.2.0
File Size Uploaded Provenance Actions
vibesql-0.2.0.tar.gz 3.4 MB With provenance Details for vibesql-0.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for vibesql 0.2.0
File Actions
vibesql-0.2.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details for vibesql-0.2.0-cp39-abi3-win_amd64.whl
vibesql-0.2.0-cp39-abi3-manylinux_2_38_x86_64.whl CPython 3.9 abi3 Linux glibc 2.38+ x86-64 Details for vibesql-0.2.0-cp39-abi3-manylinux_2_38_x86_64.whl
vibesql-0.2.0-cp39-abi3-manylinux_2_35_aarch64.whl CPython 3.9 abi3 Linux glibc 2.35+ ARM64 Details for vibesql-0.2.0-cp39-abi3-manylinux_2_35_aarch64.whl
vibesql-0.2.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details for vibesql-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
vibesql-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details for vibesql-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl

Total release size: 43.2 MB

Release files / vibesql-0.2.0.tar.gz

Download URL vibesql-0.2.0.tar.gz
Size 3.4 MB
Tags Source
SHA-256 checksum
How to use checksums
7854652a937a28301972e641002bb056a4c99e037bfbb09ef1012e4f30624141
BLAKE2b-256 checksum
How to use checksums
fc0ae102cf112518c0401d467066800b721a144e9790d299bae4c534cf31cc06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 15, 2026.

Transparency log

Release files / vibesql-0.2.0-cp39-abi3-win_amd64.whl

Download URL vibesql-0.2.0-cp39-abi3-win_amd64.whl
Size 7.6 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
571e018e6e9d4c4ea7be5c00751d4a4afccf171187c209313144c2a7467878e8
BLAKE2b-256 checksum
How to use checksums
20538eccd3d58bc3ae0d92c17c64ff1e192ce193632512d73117ec940837739c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 15, 2026.

Transparency log

Release files / vibesql-0.2.0-cp39-abi3-manylinux_2_38_x86_64.whl

Download URL vibesql-0.2.0-cp39-abi3-manylinux_2_38_x86_64.whl
Size 8.6 MB
Tags CPython 3.9 Linux glibc 2.38+ x86-64 abi3
SHA-256 checksum
How to use checksums
1b13b585cfed929108b17a0ebb068b8a7017079a4e5d1553fadd06b01de6b054
BLAKE2b-256 checksum
How to use checksums
b8903798594f8679cf834455975b67023c199778481354603771b53ffbb263bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 15, 2026.

Transparency log

Release files / vibesql-0.2.0-cp39-abi3-manylinux_2_35_aarch64.whl

Download URL vibesql-0.2.0-cp39-abi3-manylinux_2_35_aarch64.whl
Size 8.2 MB
Tags CPython 3.9 Linux glibc 2.35+ ARM64 abi3
SHA-256 checksum
How to use checksums
d239c53b23b5d9d9848c82e0bb79d928d8a3a8c322e2d8037079b14356023be1
BLAKE2b-256 checksum
How to use checksums
ade77f4196d483af8e6d772142d28d5178e667b3cec00b52048921e6449f6a89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 15, 2026.

Transparency log

Release files / vibesql-0.2.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL vibesql-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
Size 7.5 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
381496e34025a096b8b04e97be6a5cdeac12cbd7955d259610f99f80de5a099b
BLAKE2b-256 checksum
How to use checksums
a43ed3c023abf7dc67a3b5c36185c571d1f06c47a03614b065cd56cc479abc47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 15, 2026.

Transparency log

Release files / vibesql-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL vibesql-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 7.9 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
337f437d81045c4ecea0e7cfb8771614e777b8409b86328157d1eafdd882cefc
BLAKE2b-256 checksum
How to use checksums
0b8c3583fa35039f2385fbd7ef119cbf3db2001984a2397a5bc580a35ba3372e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 15, 2026.

Transparency log

Security for vibesql 0.2.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 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for vibesql-0.2.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 Jun 15, 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