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:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
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)
| 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)
| File | Actions Reset | |||
|---|---|---|---|---|
| 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logSecurity 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.
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 logA 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.