https://github.com/databendlabs/databend-py
Databend Cloud Python Driver with native interface support
https://github.com/databendlabs/databend-py
database databend driver python
Last synced: 3 months ago
JSON representation
Databend Cloud Python Driver with native interface support
- Host: GitHub
- URL: https://github.com/databendlabs/databend-py
- Owner: databendlabs
- License: apache-2.0
- Created: 2022-10-24T04:28:35.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-25T07:50:48.000Z (about 1 year ago)
- Last Synced: 2025-01-13T12:02:11.617Z (12 months ago)
- Topics: database, databend, driver, python
- Language: Python
- Homepage:
- Size: 315 KB
- Stars: 19
- Watchers: 6
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Notice
We strongly recommend using the [databend-driver](https://pypi.org/project/databend-driver) as it provides more comprehensive features.
# databend-py
Databend Cloud Python Driver with native http interface support
[](https://pypi.org/project/databend-py)
[](https://coveralls.io/github/databendcloud/databend-py?branch=master)
[](https://pypi.org/project/databend-py)
[](https://pypi.org/project/databend-py)
# Installation
pip install databend-py
# Usage
Use the next code to check connection:
> ``` python
> >>> from databend_py import Client
> >>> client = Client(
> host='tenant--warehouse.ch.datafusecloud.com',
> database="default",
> user="user",
> port="443",
> secure=True,
> password="password",settings={"copy_purge":True,"force":True})
> >>> print(client.execute("SELECT 1"))
> ```
The [host]{.title-ref}, [user]{.title-ref}, [password]{.title-ref} info
will be found in databend cloud warehouse connect page as flows:
Pure Client example:
> ``` python
> >>> from databend_py import Client
> >>>
> >>> client = Client.from_url('http://root@localhost:8000/db?secure=False©_purge=True')
> >>>
> >>> client.execute('SHOW TABLES')
> [[], [('test',)]]
> >>> client.execute("show tables",with_column_types=True)
> [[('Tables_in_default', 'String')], [('test',)]] # [[(column_name, column_type)], [(data,)]]
> >>> client.execute('DROP TABLE IF EXISTS test')
> []
> >>> client.execute('CREATE TABLE test (x Int32)')
> []
> >>> client.execute(
> ... 'INSERT INTO test (x) VALUES', [(1,)]
> ... )
> 1
> >>> client.execute('INSERT INTO test (x) VALUES', [(200,)])
> 1
> ```
More usages examples find [here](./examples).
# Features
- Basic SQL.
- TLS support.
- Query settings.
- Types support:
- Float32/64
- \[U\]Int8/16/32/64/128/256
- Date/Date32/DateTime(\'timezone\')/DateTime64(\'timezone\')
- String
- Array(T)
- Nullable(T)
- Bool
# Compatibility
- If databend version \>= v0.9.0 or later, you need to use databend-py
version \>= v0.3.0.
# License
Databend Python Driver is distributed under the [Apache
license]{.title-ref}.