| Name | databend JSON |
| Version |
1.2.810
JSON |
| download |
| home_page | None |
| Summary | The multi-modal data warehouse built for the AI era. Unified analytics for structured data, JSON, and vector embeddings with near 100% Snowflake compatibility. |
| upload_time | 2025-09-10 17:25:57 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.10 |
| license | Apache-2.0 |
| keywords |
databend
database
analytics
data-warehouse
sql
olap
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Databend Python Binding
Official Python binding for [Databend](https://databend.com) - The multi-modal data warehouse built for the AI era.
Databend unifies structured data, JSON documents, and vector embeddings in a single platform with near 100% Snowflake compatibility. Built in Rust with MPP architecture and S3-native storage for cloud-scale analytics.
## Installation
```bash
pip install databend
```
To test, run:
```python
python3 -c "import databend; ctx = databend.SessionContext(); ctx.sql('SELECT version() AS version').show()"
```
## API Reference
### Core Operations
| Method | Description |
|--------|-------------|
| `SessionContext()` | Create a new session context |
| `sql(query)` | Execute SQL query, returns DataFrame |
### File Registration
| Method | Description |
|--------|-------------|
| `register_parquet(name, path, pattern=None, connection=None)` | Register Parquet files as table |
| `register_csv(name, path, pattern=None, connection=None)` | Register CSV files as table |
| `register_ndjson(name, path, pattern=None, connection=None)` | Register NDJSON files as table |
| `register_tsv(name, path, pattern=None, connection=None)` | Register TSV files as table |
### Cloud Storage Connections
| Method | Description |
|--------|-------------|
| `create_s3_connection(name, key, secret, endpoint=None, region=None)` | Create S3 connection |
| `create_azblob_connection(name, url, account, key)` | Create Azure Blob connection |
| `create_gcs_connection(name, url, credential)` | Create Google Cloud connection |
| `list_connections()` | List all connections |
| `describe_connection(name)` | Show connection details |
| `drop_connection(name)` | Remove connection |
### Stage Management
| Method | Description |
|--------|-------------|
| `create_stage(name, url, connection)` | Create external stage |
| `show_stages()` | List all stages |
| `list_stages(stage_name)` | List files in stage |
| `describe_stage(name)` | Show stage details |
| `drop_stage(name)` | Remove stage |
### DataFrame Operations
| Method | Description |
|--------|-------------|
| `collect()` | Execute and collect results |
| `show(num=20)` | Display results in console |
| `to_pandas()` | Convert to pandas DataFrame |
| `to_polars()` | Convert to polars DataFrame |
| `to_arrow_table()` | Convert to PyArrow Table |
## Examples
### Local Tables
```python
import databend
ctx = databend.SessionContext()
# Create and query in-memory tables
ctx.sql("CREATE TABLE users (id INT, name STRING, age INT)").collect()
ctx.sql("INSERT INTO users VALUES (1, 'Alice', 25), (2, 'Bob', 30)").collect()
df = ctx.sql("SELECT * FROM users WHERE age > 25").to_pandas()
```
### Working with Local Files
```python
import databend
ctx = databend.SessionContext()
# Query local Parquet files
ctx.register_parquet("orders", "/path/to/orders/")
ctx.register_parquet("customers", "/path/to/customers/")
df = ctx.sql("SELECT * FROM orders JOIN customers ON orders.customer_id = customers.id").to_pandas()
```
### Cloud Storage - S3 Files
```python
import databend
import os
ctx = databend.SessionContext()
# Connect to S3 and query remote files
ctx.create_s3_connection("s3", os.getenv("AWS_ACCESS_KEY_ID"), os.getenv("AWS_SECRET_ACCESS_KEY"))
ctx.register_parquet("trips", "s3://bucket/trips/", connection="s3")
df = ctx.sql("SELECT COUNT(*) FROM trips").to_pandas()
```
### Cloud Storage - S3 Tables
```python
import databend
import os
ctx = databend.SessionContext()
# Create S3 connection and persistent table
ctx.create_s3_connection("s3", os.getenv("AWS_ACCESS_KEY_ID"), os.getenv("AWS_SECRET_ACCESS_KEY"))
ctx.sql("CREATE TABLE s3_table (id INT, name STRING) 's3://bucket/table/' CONNECTION=(CONNECTION_NAME='s3')").collect()
df = ctx.sql("SELECT * FROM s3_table").to_pandas()
```
## Development
```bash
# Setup environment
uv sync
source .venv/bin/activate
# Run tests
uvx maturin develop -E test
pytest tests/
```
Raw data
{
"_id": null,
"home_page": null,
"name": "databend",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Databend Community <hi@databend.com>",
"keywords": "databend, database, analytics, data-warehouse, sql, olap",
"author": null,
"author_email": "Databend Labs <hi@databend.com>",
"download_url": null,
"platform": null,
"description": "# Databend Python Binding\n\nOfficial Python binding for [Databend](https://databend.com) - The multi-modal data warehouse built for the AI era.\n\nDatabend unifies structured data, JSON documents, and vector embeddings in a single platform with near 100% Snowflake compatibility. Built in Rust with MPP architecture and S3-native storage for cloud-scale analytics.\n\n## Installation\n\n```bash\npip install databend\n```\n\nTo test, run:\n```python\npython3 -c \"import databend; ctx = databend.SessionContext(); ctx.sql('SELECT version() AS version').show()\"\n```\n\n## API Reference\n\n### Core Operations\n| Method | Description |\n|--------|-------------|\n| `SessionContext()` | Create a new session context |\n| `sql(query)` | Execute SQL query, returns DataFrame |\n\n### File Registration\n| Method | Description |\n|--------|-------------|\n| `register_parquet(name, path, pattern=None, connection=None)` | Register Parquet files as table |\n| `register_csv(name, path, pattern=None, connection=None)` | Register CSV files as table |\n| `register_ndjson(name, path, pattern=None, connection=None)` | Register NDJSON files as table |\n| `register_tsv(name, path, pattern=None, connection=None)` | Register TSV files as table |\n\n### Cloud Storage Connections\n| Method | Description |\n|--------|-------------|\n| `create_s3_connection(name, key, secret, endpoint=None, region=None)` | Create S3 connection |\n| `create_azblob_connection(name, url, account, key)` | Create Azure Blob connection |\n| `create_gcs_connection(name, url, credential)` | Create Google Cloud connection |\n| `list_connections()` | List all connections |\n| `describe_connection(name)` | Show connection details |\n| `drop_connection(name)` | Remove connection |\n\n### Stage Management\n| Method | Description |\n|--------|-------------|\n| `create_stage(name, url, connection)` | Create external stage |\n| `show_stages()` | List all stages |\n| `list_stages(stage_name)` | List files in stage |\n| `describe_stage(name)` | Show stage details |\n| `drop_stage(name)` | Remove stage |\n\n### DataFrame Operations\n| Method | Description |\n|--------|-------------|\n| `collect()` | Execute and collect results |\n| `show(num=20)` | Display results in console |\n| `to_pandas()` | Convert to pandas DataFrame |\n| `to_polars()` | Convert to polars DataFrame |\n| `to_arrow_table()` | Convert to PyArrow Table |\n\n## Examples\n\n### Local Tables\n\n```python\nimport databend\nctx = databend.SessionContext()\n\n# Create and query in-memory tables\nctx.sql(\"CREATE TABLE users (id INT, name STRING, age INT)\").collect()\nctx.sql(\"INSERT INTO users VALUES (1, 'Alice', 25), (2, 'Bob', 30)\").collect()\ndf = ctx.sql(\"SELECT * FROM users WHERE age > 25\").to_pandas()\n```\n\n### Working with Local Files\n\n```python\nimport databend\nctx = databend.SessionContext()\n\n# Query local Parquet files\nctx.register_parquet(\"orders\", \"/path/to/orders/\")\nctx.register_parquet(\"customers\", \"/path/to/customers/\")\ndf = ctx.sql(\"SELECT * FROM orders JOIN customers ON orders.customer_id = customers.id\").to_pandas()\n```\n\n### Cloud Storage - S3 Files\n\n```python\nimport databend\nimport os\nctx = databend.SessionContext()\n\n# Connect to S3 and query remote files\nctx.create_s3_connection(\"s3\", os.getenv(\"AWS_ACCESS_KEY_ID\"), os.getenv(\"AWS_SECRET_ACCESS_KEY\"))\nctx.register_parquet(\"trips\", \"s3://bucket/trips/\", connection=\"s3\")\ndf = ctx.sql(\"SELECT COUNT(*) FROM trips\").to_pandas()\n```\n\n### Cloud Storage - S3 Tables\n\n```python\nimport databend\nimport os\nctx = databend.SessionContext()\n\n# Create S3 connection and persistent table\nctx.create_s3_connection(\"s3\", os.getenv(\"AWS_ACCESS_KEY_ID\"), os.getenv(\"AWS_SECRET_ACCESS_KEY\"))\nctx.sql(\"CREATE TABLE s3_table (id INT, name STRING) 's3://bucket/table/' CONNECTION=(CONNECTION_NAME='s3')\").collect()\ndf = ctx.sql(\"SELECT * FROM s3_table\").to_pandas()\n```\n\n\n## Development\n\n```bash\n# Setup environment\nuv sync\nsource .venv/bin/activate\n\n# Run tests\nuvx maturin develop -E test\npytest tests/\n```\n\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "The multi-modal data warehouse built for the AI era. Unified analytics for structured data, JSON, and vector embeddings with near 100% Snowflake compatibility.",
"version": "1.2.810",
"project_urls": {
"Documentation": "https://pypi.org/project/databend/",
"Homepage": "https://databend.com",
"Repository": "https://github.com/databendlabs/databend/tree/main/src/bendpy"
},
"split_keywords": [
"databend",
" database",
" analytics",
" data-warehouse",
" sql",
" olap"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f6b60e06c07215973fd65294ce6c3542b3af1479419e7f44d61285f995b2fe67",
"md5": "61e8371f5c534fd3fb7f9bf841e51989",
"sha256": "42551105e1333dbd576eef9d3462d3caf2f108522722b369ed21795646343618"
},
"downloads": -1,
"filename": "databend-1.2.810-cp312-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "61e8371f5c534fd3fb7f9bf841e51989",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 56563350,
"upload_time": "2025-09-10T17:25:57",
"upload_time_iso_8601": "2025-09-10T17:25:57.594266Z",
"url": "https://files.pythonhosted.org/packages/f6/b6/0e06c07215973fd65294ce6c3542b3af1479419e7f44d61285f995b2fe67/databend-1.2.810-cp312-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ab5df0560181d8a5f9491dbffb14494d4b540407f8fb26662a300d4d554e6e7c",
"md5": "4c2eee3caae1e9bcfeec24030c2f62c3",
"sha256": "b1bf92b91875cdf1ae3368d7ad1b9d600b58cbba145122de0340f68920c96ed0"
},
"downloads": -1,
"filename": "databend-1.2.810-cp312-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "4c2eee3caae1e9bcfeec24030c2f62c3",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 54364859,
"upload_time": "2025-09-10T17:26:03",
"upload_time_iso_8601": "2025-09-10T17:26:03.476586Z",
"url": "https://files.pythonhosted.org/packages/ab/5d/f0560181d8a5f9491dbffb14494d4b540407f8fb26662a300d4d554e6e7c/databend-1.2.810-cp312-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e579d0a9ec4604ba822a19810f280a3a649df459666da84df1fe6ce9d9ac00d0",
"md5": "ffd278a404aad267bf7d74a1e642745e",
"sha256": "1a41800d8dc785979c3b6eb1acd17a23c9387b27c4991a703b423648693bce5b"
},
"downloads": -1,
"filename": "databend-1.2.810-cp312-abi3-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "ffd278a404aad267bf7d74a1e642745e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 58732895,
"upload_time": "2025-09-10T17:26:07",
"upload_time_iso_8601": "2025-09-10T17:26:07.910430Z",
"url": "https://files.pythonhosted.org/packages/e5/79/d0a9ec4604ba822a19810f280a3a649df459666da84df1fe6ce9d9ac00d0/databend-1.2.810-cp312-abi3-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4763f33dddc0a7bf661e75281c98445e26d9117ad2217730f5aa46e800499ac6",
"md5": "3942fde9836732def301d560ca262a8b",
"sha256": "bad5e180899c83cdcd56c1aa07ca8efba7710907f74fe06ff3751fe9aa7e7129"
},
"downloads": -1,
"filename": "databend-1.2.810-cp312-abi3-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "3942fde9836732def301d560ca262a8b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.10",
"size": 61747959,
"upload_time": "2025-09-10T17:26:12",
"upload_time_iso_8601": "2025-09-10T17:26:12.798901Z",
"url": "https://files.pythonhosted.org/packages/47/63/f33dddc0a7bf661e75281c98445e26d9117ad2217730f5aa46e800499ac6/databend-1.2.810-cp312-abi3-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-10 17:25:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "databendlabs",
"github_project": "databend",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "databend"
}