# DBCrust
**The modern database CLI that speaks your language β PostgreSQL, MySQL, SQLite with zero compromises.**
[](https://www.rust-lang.org/)
[](LICENSE)
[](https://clement-tourriere.github.io/dbcrust/)
[](https://pypi.org/project/dbcrust/)
## Why DBCrust?
DBCrust brings the power of modern CLI tools to database management. Built in Rust for maximum performance, it provides
an intuitive interface for PostgreSQL, MySQL, and SQLite with features that boost developer productivity.
## π Key Features
- **Multi-Database Support** - PostgreSQL, MySQL, SQLite in one tool
- **Smart Autocompletion** - Context-aware suggestions for tables, columns, and SQL keywords
- **Django ORM Analyzer** - Detect N+1 queries and optimization opportunities in Django applications
- **Query Visualization** - Beautiful EXPLAIN output with execution plans
- **Enterprise Security** - SSH tunneling, HashiCorp Vault integration, and encrypted connections
- **Docker Integration** - Connect to databases in Docker containers with automatic port detection and OrbStack DNS
support
- **Python Integration** - Use as a library in your Python applications
- **Developer Experience** - History, syntax highlighting, and external editor support
## Quick Start
```bash
# Quick run with uv (no installation needed)
uvx dbcrust postgres://user:pass@localhost/mydb
# Or install globally
uv tool install dbcrust
dbcrust postgres://user:pass@localhost/mydb
# Short alias also available
dbc postgres://user:pass@localhost/mydb
# Multi-database support
dbcrust mysql://user:pass@localhost/mydb
dbcrust sqlite:///path/to/database.db
# Docker container databases
dbcrust docker://postgres-container
dbcrust docker:// # Interactive container selection
```
## Installation
### Prerequisites
- Rust 2024 edition or later (for building from source)
- [uv](https://github.com/astral-sh/uv) (recommended for Python installation)
### Quick Install with uv (Recommended)
```bash
# Install globally as a tool
uv tool install dbcrust
# Or run directly without installation
uvx dbcrust postgres://user:pass@localhost/mydb
```
### Install from PyPI
```bash
# Using uv
uv pip install dbcrust
# Using pip (if you prefer)
pip install dbcrust
```
### Install from Source
```bash
git clone git@gitlab.gitguardian.ovh:clement-tourriere/dbcrust.git
cd dbcrust
cargo install --path .
```
## Usage Examples
### Basic Connection
```bash
# PostgreSQL
dbcrust postgres://postgres:pass@localhost/myapp
# MySQL
dbcrust mysql://root:pass@localhost:3306/myapp
# SQLite
dbcrust sqlite:///./myapp.db
# Docker containers
dbcrust docker://my-postgres-container
dbcrust docker://user:pass@container-name/database
```
### Interactive Commands
```sql
-- List databases
\l
-- List tables
\
dt
-- Describe table structure
\d users
-- Switch database
\c analytics
-- List Docker containers
\docker
-- Query with autocompletion
SELECT id, name, email
FROM users
WHERE active = true;
```
### Query Visualization
Enable EXPLAIN mode to see execution plans:
```
\e
SELECT * FROM users WHERE email = 'user@example.com';
```
Output:
```
β Execution Time: 1.23 ms
β Planning Time: 0.15 ms
Index Scan
β Finds relevant records based on an Index. Index Scans perform 2 read operations: one to read the index and another to read the actual value from the table.
β β Duration: 0.96 ms
β β Cost: 4
β β Rows: 1
β on users
β using email_idx
β filter (email = 'user@example.com')
ββΊ id + name + email + created_at
```
### SSH Tunneling
```bash
# Connect through SSH tunnel
dbcrust postgres://user:pass@db.internal.com/myapp \
--ssh-tunnel jumphost.example.com
# With SSH credentials
dbcrust postgres://user:pass@db.internal.com/myapp \
--ssh-tunnel user:pass@jumphost.example.com:2222
```
### Vault Integration
```bash
# Connect using HashiCorp Vault
dbcrust vault://app-role@database/postgres-prod
# Interactive vault connection
dbcrust vault:///
```
## Python API
DBCrust provides powerful Python integration with three main approaches:
### 1. Direct Command Execution
```python
import dbcrust
# Execute SQL queries
result = dbcrust.run_command("postgres://user:pass@localhost/mydb", "SELECT * FROM users LIMIT 10")
print(result)
# Execute backslash commands
tables = dbcrust.run_command("postgres://user:pass@localhost/mydb", "\\dt")
databases = dbcrust.run_command("postgres://user:pass@localhost/mydb", "\\l")
# Multi-database support
mysql_result = dbcrust.run_command("mysql://user:pass@localhost/mydb", "SHOW TABLES")
sqlite_result = dbcrust.run_command("sqlite:///path/to/database.db", "SELECT * FROM users")
```
### 2. Programmatic Execution with CLI Arguments
```python
import dbcrust
# Execute with additional CLI options - perfect for automation
result = dbcrust.run_with_url(
"postgres://user:pass@localhost/mydb",
["--debug", "-c", "\\dt"]
)
# Use saved sessions without sys.argv conflicts
dbcrust.run_with_url("session://production", ["-o", "json", "-c", "SELECT version()"])
# Clean programmatic calls for integration
dbcrust.run_with_url("docker://postgres-container/mydb")
```
### 3. Interactive CLI from Python
```python
import dbcrust
# Launch interactive CLI
dbcrust.run_cli("postgres://user:pass@localhost/mydb")
# Or without specifying URL (will prompt for connection)
dbcrust.run_cli()
```
### 4. PostgresClient Class
```python
from dbcrust import PostgresClient
# Connect to database
client = PostgresClient(
host="localhost",
port=5432,
user="postgres",
password="secret",
dbname="myapp"
)
# Execute queries
results = client.execute("SELECT * FROM users LIMIT 10")
print(results)
# List operations
databases = client.list_databases()
tables = client.list_tables()
# Use the new run_command method
result = client.run_command("SELECT COUNT(*) FROM users")
```
### 5. Django ORM Performance Analysis
For Django developers, DBCrust includes a powerful ORM analyzer that detects performance issues:
```python
from dbcrust.django import analyzer
# Analyze Django ORM queries for performance issues
with analyzer.analyze() as analysis:
# Your Django ORM code here
books = Book.objects.all()
for book in books:
print(book.author.name) # Will detect N+1 query
# Get detailed analysis results
results = analysis.get_results()
print(results.summary)
```
**Features:**
- **N+1 Query Detection** - Automatically identifies repeated query patterns
- **Missing Optimizations** - Detects missing `select_related()` and `prefetch_related()`
- **Transaction Safety** - Optional rollback mode for safe analysis
- **EXPLAIN Integration** - Combines with DBCrust for database-level insights
- **Actionable Recommendations** - Provides specific code suggestions
**Perfect for:**
- Development debugging and optimization
- Performance testing in CI/CD pipelines
- Production monitoring and analysis
- Code review automation
[**π Complete Django Analyzer Documentation β**](https://clement-tourriere.github.io/dbcrust/django-analyzer/)
## Command Reference
| Command | Description |
|-----------------|---------------------------------|
| `\l` | List databases |
| `\dt` | List tables |
| `\d <table>` | Describe table |
| `\c <database>` | Switch database |
| `\x` | Toggle expanded display |
| `\e` | Toggle EXPLAIN mode |
| `\ed` | Edit query in external editor |
| `\i <file>` | Execute SQL file |
| `\docker` | List Docker database containers |
| `\q` | Quit |
<details>
<summary>View all commands</summary>
| Command | Description |
|-----------|-------------------------|
| `\a` | Toggle autocomplete |
| `\cs` | Toggle column selection |
| `\config` | Show configuration |
| `\save` | Save current connection |
| `\pgpass` | Show .pgpass info |
| `\n` | Named queries |
| `\s` | Session management |
| `\h` | Help |
</details>
## Advanced Features
<details>
<summary>SSH Tunneling</summary>
Configure automatic SSH tunnels in your config file:
```toml
[ssh_tunnel_patterns]
"^db\\.internal\\..*\\.com$" = "jumphost.example.com"
".*\\.private\\.net" = "user@jumphost.example.com:2222"
```
</details>
<details>
<summary>HashiCorp Vault</summary>
Set up Vault integration:
```bash
export VAULT_ADDR="https://vault.example.com"
export VAULT_TOKEN="your-token"
dbcrust vault://my-role@database/postgres-prod
```
</details>
<details>
<summary>Configuration</summary>
DBCrust stores configuration in `~/.config/dbcrust/config.toml`:
```toml
[database]
default_limit = 1000
expanded_display_default = false
[ssh_tunnel_patterns]
"^db\\.internal\\..*\\.com$" = "jumphost.example.com"
```
</details>
<details>
<summary>Docker Integration</summary>
DBCrust can connect to databases running in Docker containers:
```bash
# Connect to a specific container
dbcrust docker://postgres-container
# Interactive container selection
dbcrust docker://
# With credentials and database
dbcrust docker://user:pass@container-name/dbname
```
Features:
- Automatic port detection for exposed containers
- OrbStack DNS support for containers without exposed ports
- Support for custom OrbStack domains via `dev.orbstack.domains` label
- Automatic DNS for Docker Compose projects: `service.project.orb.local`
</details>
## Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
### Development Setup
```bash
git clone git@gitlab.gitguardian.ovh:clement-tourriere/dbcrust.git
cd dbcrust
cargo build
cargo test
```
### Running Tests
```bash
cargo test -- --nocapture
```
## Security
- All connections support SSL/TLS encryption
- Passwords are never stored in plain text
- SSH key authentication supported
- HashiCorp Vault integration for dynamic credentials
- Audit logging for enterprise environments
## Performance
- Written in Rust for maximum performance
- Efficient connection pooling
- Minimal memory footprint
- Fast query execution and result rendering
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
- **[π Documentation](https://clement-tourriere.github.io/dbcrust/)** - Comprehensive guides and API reference
- **[π Issues](https://github.com/clement-tourriere/dbcrust/issues)** - Bug reports and feature requests
- **[π¦ PyPI Package](https://pypi.org/project/dbcrust/)** - Install via pip or uv
- **[β GitHub Repository](https://github.com/clement-tourriere/dbcrust)** - Source code and contributions
---
Built with β€οΈ using [Rust](https://www.rust-lang.org/), [SQLx](https://github.com/launchbadge/sqlx),
and [reedline](https://github.com/nushell/reedline).
Raw data
{
"_id": null,
"home_page": null,
"name": "dbcrust",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "dbcrust, database, postgres, mysql, sqlite, cli, interactive, sql, postgresql, mysql, sqlite, ssh-tunnel, vault, docker",
"author": "dbcrust authors",
"author_email": "Cl\u00e9ment Tourri\u00e8re <clement.tourriere@gmail.com>",
"download_url": null,
"platform": null,
"description": "# DBCrust\n\n**The modern database CLI that speaks your language \u2014 PostgreSQL, MySQL, SQLite with zero compromises.**\n\n[](https://www.rust-lang.org/)\n[](LICENSE)\n[](https://clement-tourriere.github.io/dbcrust/)\n[](https://pypi.org/project/dbcrust/)\n\n## Why DBCrust?\n\nDBCrust brings the power of modern CLI tools to database management. Built in Rust for maximum performance, it provides\nan intuitive interface for PostgreSQL, MySQL, and SQLite with features that boost developer productivity.\n\n## \ud83d\ude80 Key Features\n\n- **Multi-Database Support** - PostgreSQL, MySQL, SQLite in one tool\n- **Smart Autocompletion** - Context-aware suggestions for tables, columns, and SQL keywords\n- **Django ORM Analyzer** - Detect N+1 queries and optimization opportunities in Django applications\n- **Query Visualization** - Beautiful EXPLAIN output with execution plans\n- **Enterprise Security** - SSH tunneling, HashiCorp Vault integration, and encrypted connections\n- **Docker Integration** - Connect to databases in Docker containers with automatic port detection and OrbStack DNS\n support\n- **Python Integration** - Use as a library in your Python applications\n- **Developer Experience** - History, syntax highlighting, and external editor support\n\n## Quick Start\n\n```bash\n# Quick run with uv (no installation needed)\nuvx dbcrust postgres://user:pass@localhost/mydb\n\n# Or install globally\nuv tool install dbcrust\ndbcrust postgres://user:pass@localhost/mydb\n\n# Short alias also available\ndbc postgres://user:pass@localhost/mydb\n\n# Multi-database support\ndbcrust mysql://user:pass@localhost/mydb\ndbcrust sqlite:///path/to/database.db\n\n# Docker container databases\ndbcrust docker://postgres-container\ndbcrust docker:// # Interactive container selection\n```\n\n## Installation\n\n### Prerequisites\n\n- Rust 2024 edition or later (for building from source)\n- [uv](https://github.com/astral-sh/uv) (recommended for Python installation)\n\n### Quick Install with uv (Recommended)\n\n```bash\n# Install globally as a tool\nuv tool install dbcrust\n\n# Or run directly without installation\nuvx dbcrust postgres://user:pass@localhost/mydb\n```\n\n### Install from PyPI\n\n```bash\n# Using uv\nuv pip install dbcrust\n\n# Using pip (if you prefer)\npip install dbcrust\n```\n\n### Install from Source\n\n```bash\ngit clone git@gitlab.gitguardian.ovh:clement-tourriere/dbcrust.git\ncd dbcrust\ncargo install --path .\n```\n\n## Usage Examples\n\n### Basic Connection\n\n```bash\n# PostgreSQL\ndbcrust postgres://postgres:pass@localhost/myapp\n\n# MySQL \ndbcrust mysql://root:pass@localhost:3306/myapp\n\n# SQLite\ndbcrust sqlite:///./myapp.db\n\n# Docker containers\ndbcrust docker://my-postgres-container\ndbcrust docker://user:pass@container-name/database\n```\n\n### Interactive Commands\n\n```sql\n-- List databases\n\\l\n\n-- List tables\n\\\ndt\n\n-- Describe table structure\n\\d users\n\n-- Switch database\n\\c analytics\n\n-- List Docker containers\n\\docker\n\n-- Query with autocompletion\nSELECT id, name, email\nFROM users\nWHERE active = true;\n```\n\n### Query Visualization\n\nEnable EXPLAIN mode to see execution plans:\n\n```\n\\e\nSELECT * FROM users WHERE email = 'user@example.com';\n```\n\nOutput:\n\n```\n\u25cb Execution Time: 1.23 ms\n\u25cb Planning Time: 0.15 ms\nIndex Scan\n\u2502 Finds relevant records based on an Index. Index Scans perform 2 read operations: one to read the index and another to read the actual value from the table.\n\u2502 \u25cb Duration: 0.96 ms\n\u2502 \u25cb Cost: 4\n\u2502 \u25cb Rows: 1\n\u2502 on users\n\u2502 using email_idx\n\u2502 filter (email = 'user@example.com')\n\u251c\u25ba id + name + email + created_at\n```\n\n### SSH Tunneling\n\n```bash\n# Connect through SSH tunnel\ndbcrust postgres://user:pass@db.internal.com/myapp \\\n --ssh-tunnel jumphost.example.com\n\n# With SSH credentials\ndbcrust postgres://user:pass@db.internal.com/myapp \\\n --ssh-tunnel user:pass@jumphost.example.com:2222\n```\n\n### Vault Integration\n\n```bash\n# Connect using HashiCorp Vault\ndbcrust vault://app-role@database/postgres-prod\n\n# Interactive vault connection\ndbcrust vault:///\n```\n\n## Python API\n\nDBCrust provides powerful Python integration with three main approaches:\n\n### 1. Direct Command Execution\n\n```python\nimport dbcrust\n\n# Execute SQL queries\nresult = dbcrust.run_command(\"postgres://user:pass@localhost/mydb\", \"SELECT * FROM users LIMIT 10\")\nprint(result)\n\n# Execute backslash commands\ntables = dbcrust.run_command(\"postgres://user:pass@localhost/mydb\", \"\\\\dt\")\ndatabases = dbcrust.run_command(\"postgres://user:pass@localhost/mydb\", \"\\\\l\")\n\n# Multi-database support\nmysql_result = dbcrust.run_command(\"mysql://user:pass@localhost/mydb\", \"SHOW TABLES\")\nsqlite_result = dbcrust.run_command(\"sqlite:///path/to/database.db\", \"SELECT * FROM users\")\n```\n\n### 2. Programmatic Execution with CLI Arguments\n\n```python\nimport dbcrust\n\n# Execute with additional CLI options - perfect for automation\nresult = dbcrust.run_with_url(\n \"postgres://user:pass@localhost/mydb\", \n [\"--debug\", \"-c\", \"\\\\dt\"]\n)\n\n# Use saved sessions without sys.argv conflicts\ndbcrust.run_with_url(\"session://production\", [\"-o\", \"json\", \"-c\", \"SELECT version()\"])\n\n# Clean programmatic calls for integration\ndbcrust.run_with_url(\"docker://postgres-container/mydb\")\n```\n\n### 3. Interactive CLI from Python\n\n```python\nimport dbcrust\n\n# Launch interactive CLI\ndbcrust.run_cli(\"postgres://user:pass@localhost/mydb\")\n\n# Or without specifying URL (will prompt for connection)\ndbcrust.run_cli()\n```\n\n### 4. PostgresClient Class\n\n```python\nfrom dbcrust import PostgresClient\n\n# Connect to database\nclient = PostgresClient(\n host=\"localhost\",\n port=5432,\n user=\"postgres\",\n password=\"secret\",\n dbname=\"myapp\"\n)\n\n# Execute queries\nresults = client.execute(\"SELECT * FROM users LIMIT 10\")\nprint(results)\n\n# List operations\ndatabases = client.list_databases()\ntables = client.list_tables()\n\n# Use the new run_command method\nresult = client.run_command(\"SELECT COUNT(*) FROM users\")\n```\n\n### 5. Django ORM Performance Analysis\n\nFor Django developers, DBCrust includes a powerful ORM analyzer that detects performance issues:\n\n```python\nfrom dbcrust.django import analyzer\n\n# Analyze Django ORM queries for performance issues\nwith analyzer.analyze() as analysis:\n # Your Django ORM code here\n books = Book.objects.all()\n for book in books:\n print(book.author.name) # Will detect N+1 query\n\n# Get detailed analysis results\nresults = analysis.get_results()\nprint(results.summary)\n```\n\n**Features:**\n- **N+1 Query Detection** - Automatically identifies repeated query patterns\n- **Missing Optimizations** - Detects missing `select_related()` and `prefetch_related()`\n- **Transaction Safety** - Optional rollback mode for safe analysis\n- **EXPLAIN Integration** - Combines with DBCrust for database-level insights\n- **Actionable Recommendations** - Provides specific code suggestions\n\n**Perfect for:**\n- Development debugging and optimization\n- Performance testing in CI/CD pipelines\n- Production monitoring and analysis\n- Code review automation\n\n[**\ud83d\udcd6 Complete Django Analyzer Documentation \u2192**](https://clement-tourriere.github.io/dbcrust/django-analyzer/)\n\n## Command Reference\n\n| Command | Description |\n|-----------------|---------------------------------|\n| `\\l` | List databases |\n| `\\dt` | List tables |\n| `\\d <table>` | Describe table |\n| `\\c <database>` | Switch database |\n| `\\x` | Toggle expanded display |\n| `\\e` | Toggle EXPLAIN mode |\n| `\\ed` | Edit query in external editor |\n| `\\i <file>` | Execute SQL file |\n| `\\docker` | List Docker database containers |\n| `\\q` | Quit |\n\n<details>\n<summary>View all commands</summary>\n\n| Command | Description |\n|-----------|-------------------------|\n| `\\a` | Toggle autocomplete |\n| `\\cs` | Toggle column selection |\n| `\\config` | Show configuration |\n| `\\save` | Save current connection |\n| `\\pgpass` | Show .pgpass info |\n| `\\n` | Named queries |\n| `\\s` | Session management |\n| `\\h` | Help |\n\n</details>\n\n## Advanced Features\n\n<details>\n<summary>SSH Tunneling</summary>\n\nConfigure automatic SSH tunnels in your config file:\n\n```toml\n[ssh_tunnel_patterns]\n\"^db\\\\.internal\\\\..*\\\\.com$\" = \"jumphost.example.com\"\n\".*\\\\.private\\\\.net\" = \"user@jumphost.example.com:2222\"\n```\n\n</details>\n\n<details>\n<summary>HashiCorp Vault</summary>\n\nSet up Vault integration:\n\n```bash\nexport VAULT_ADDR=\"https://vault.example.com\"\nexport VAULT_TOKEN=\"your-token\"\n\ndbcrust vault://my-role@database/postgres-prod\n```\n\n</details>\n\n<details>\n<summary>Configuration</summary>\n\nDBCrust stores configuration in `~/.config/dbcrust/config.toml`:\n\n```toml\n[database]\ndefault_limit = 1000\nexpanded_display_default = false\n\n[ssh_tunnel_patterns]\n\"^db\\\\.internal\\\\..*\\\\.com$\" = \"jumphost.example.com\"\n```\n\n</details>\n\n<details>\n<summary>Docker Integration</summary>\n\nDBCrust can connect to databases running in Docker containers:\n\n```bash\n# Connect to a specific container\ndbcrust docker://postgres-container\n\n# Interactive container selection\ndbcrust docker://\n\n# With credentials and database\ndbcrust docker://user:pass@container-name/dbname\n```\n\nFeatures:\n\n- Automatic port detection for exposed containers\n- OrbStack DNS support for containers without exposed ports\n- Support for custom OrbStack domains via `dev.orbstack.domains` label\n- Automatic DNS for Docker Compose projects: `service.project.orb.local`\n\n</details>\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Development Setup\n\n```bash\ngit clone git@gitlab.gitguardian.ovh:clement-tourriere/dbcrust.git\ncd dbcrust\ncargo build\ncargo test\n```\n\n### Running Tests\n\n```bash\ncargo test -- --nocapture\n```\n\n## Security\n\n- All connections support SSL/TLS encryption\n- Passwords are never stored in plain text\n- SSH key authentication supported\n- HashiCorp Vault integration for dynamic credentials\n- Audit logging for enterprise environments\n\n## Performance\n\n- Written in Rust for maximum performance\n- Efficient connection pooling\n- Minimal memory footprint\n- Fast query execution and result rendering\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- **[\ud83d\udcda Documentation](https://clement-tourriere.github.io/dbcrust/)** - Comprehensive guides and API reference\n- **[\ud83d\udc1b Issues](https://github.com/clement-tourriere/dbcrust/issues)** - Bug reports and feature requests\n- **[\ud83d\udce6 PyPI Package](https://pypi.org/project/dbcrust/)** - Install via pip or uv\n- **[\u2b50 GitHub Repository](https://github.com/clement-tourriere/dbcrust)** - Source code and contributions\n\n---\n\nBuilt with \u2764\ufe0f using [Rust](https://www.rust-lang.org/), [SQLx](https://github.com/launchbadge/sqlx),\nand [reedline](https://github.com/nushell/reedline).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Multi-database interactive client (PostgreSQL, SQLite, MySQL) with tab completion",
"version": "0.10.3",
"project_urls": {
"Bug Tracker": "https://github.com/clement-tourriere/dbcrust/issues",
"Changelog": "https://github.com/clement-tourriere/dbcrust/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/clement-tourriere/dbcrust#readme",
"Homepage": "https://github.com/clement-tourriere/dbcrust",
"Repository": "https://github.com/clement-tourriere/dbcrust",
"Source Code": "https://github.com/clement-tourriere/dbcrust"
},
"split_keywords": [
"dbcrust",
" database",
" postgres",
" mysql",
" sqlite",
" cli",
" interactive",
" sql",
" postgresql",
" mysql",
" sqlite",
" ssh-tunnel",
" vault",
" docker"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6bb5bc0343607b6385a3439569782ef6f6a9cf6fb6c97012678f3dbfb06dc54e",
"md5": "ab66512e3f2190e1e452b13bc80c38db",
"sha256": "492debc21c04cff47d9668002fefab44f5b4bbb703aa93a19ab7662dff5777ad"
},
"downloads": -1,
"filename": "dbcrust-0.10.3-cp38-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "ab66512e3f2190e1e452b13bc80c38db",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.10",
"size": 4610486,
"upload_time": "2025-07-25T07:41:21",
"upload_time_iso_8601": "2025-07-25T07:41:21.927487Z",
"url": "https://files.pythonhosted.org/packages/6b/b5/bc0343607b6385a3439569782ef6f6a9cf6fb6c97012678f3dbfb06dc54e/dbcrust-0.10.3-cp38-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6b220bcf1d8c9b3040b18806b6a16f1f278221cc2a9b064443cb9ea5ca57eeb6",
"md5": "1b132ab6697b93700b870ce72c432cc0",
"sha256": "a5d54d4b50084468a04c9c287c22c4076c50298d53a51a05ca1abe0b4bb32f94"
},
"downloads": -1,
"filename": "dbcrust-0.10.3-cp38-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "1b132ab6697b93700b870ce72c432cc0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.10",
"size": 4181058,
"upload_time": "2025-07-25T07:41:23",
"upload_time_iso_8601": "2025-07-25T07:41:23.877590Z",
"url": "https://files.pythonhosted.org/packages/6b/22/0bcf1d8c9b3040b18806b6a16f1f278221cc2a9b064443cb9ea5ca57eeb6/dbcrust-0.10.3-cp38-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f672d854576322453c71ed6a7f42e75c987f47f07686cbc94422ce2899aba377",
"md5": "19edb014c9e3db2e69b3e1b89d5837f9",
"sha256": "d9f6c9e7af00146831da0687035da09cc0500c3b65049299b865aa29bd289761"
},
"downloads": -1,
"filename": "dbcrust-0.10.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "19edb014c9e3db2e69b3e1b89d5837f9",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.10",
"size": 4442025,
"upload_time": "2025-07-25T07:41:25",
"upload_time_iso_8601": "2025-07-25T07:41:25.626205Z",
"url": "https://files.pythonhosted.org/packages/f6/72/d854576322453c71ed6a7f42e75c987f47f07686cbc94422ce2899aba377/dbcrust-0.10.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bcbe3820952629c2d26fe9a198c69139477ff812c30b15610169f1b77c0971a0",
"md5": "9537e24dfa144489014f4f22717787d2",
"sha256": "ef805c3b5e455607b557d90e0f78bb0bed1a0c29a4953f39bc3747138e9f9a28"
},
"downloads": -1,
"filename": "dbcrust-0.10.3-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "9537e24dfa144489014f4f22717787d2",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.10",
"size": 4818489,
"upload_time": "2025-07-25T07:41:27",
"upload_time_iso_8601": "2025-07-25T07:41:27.213523Z",
"url": "https://files.pythonhosted.org/packages/bc/be/3820952629c2d26fe9a198c69139477ff812c30b15610169f1b77c0971a0/dbcrust-0.10.3-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "06254167bb7cca70896c7b08c4aff156f1aaddc43ff3ba0e7fc32bf7e63e3355",
"md5": "163fabcf9ad735ff96388cc9df2505fd",
"sha256": "6c4db01354998e7a429db371ba276dfb13eeb8a758d3bd11658a52cabe0ba863"
},
"downloads": -1,
"filename": "dbcrust-0.10.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "163fabcf9ad735ff96388cc9df2505fd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.10",
"size": 4876512,
"upload_time": "2025-07-25T07:41:29",
"upload_time_iso_8601": "2025-07-25T07:41:29.051113Z",
"url": "https://files.pythonhosted.org/packages/06/25/4167bb7cca70896c7b08c4aff156f1aaddc43ff3ba0e7fc32bf7e63e3355/dbcrust-0.10.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9d7d1fa1675a3f82093c1d06097b8db8711a921e96a5b8990fae06a1b1671cba",
"md5": "3377e4e8c79a23e1650ddb9897264e0f",
"sha256": "838ff25b6043ddca74d6f5bef6c7d5dcf06d535e8ed202bf37fa75762068a2c2"
},
"downloads": -1,
"filename": "dbcrust-0.10.3-cp38-abi3-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "3377e4e8c79a23e1650ddb9897264e0f",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.10",
"size": 4723729,
"upload_time": "2025-07-25T07:41:30",
"upload_time_iso_8601": "2025-07-25T07:41:30.924587Z",
"url": "https://files.pythonhosted.org/packages/9d/7d/1fa1675a3f82093c1d06097b8db8711a921e96a5b8990fae06a1b1671cba/dbcrust-0.10.3-cp38-abi3-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9ced10b94d581034a717220fd210409a8d7aaddee7f9b425ac1e673a6dd0ffed",
"md5": "6528c93d0452d33b5dc57c6ad5c809f0",
"sha256": "df4215515fc00f784c6ffa3f92dbfd59533eb8868c7e8a57d723cce4a55f6239"
},
"downloads": -1,
"filename": "dbcrust-0.10.3-cp38-abi3-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "6528c93d0452d33b5dc57c6ad5c809f0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.10",
"size": 5057361,
"upload_time": "2025-07-25T07:41:32",
"upload_time_iso_8601": "2025-07-25T07:41:32.838485Z",
"url": "https://files.pythonhosted.org/packages/9c/ed/10b94d581034a717220fd210409a8d7aaddee7f9b425ac1e673a6dd0ffed/dbcrust-0.10.3-cp38-abi3-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-25 07:41:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "clement-tourriere",
"github_project": "dbcrust",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "dbcrust"
}