chdb 3.1.0__cp313-cp313-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of chdb might be problematic. Click here for more details.

@@ -0,0 +1,370 @@
1
+ Metadata-Version: 2.2
2
+ Name: chdb
3
+ Version: 3.1.0
4
+ Summary: chDB is an in-process SQL OLAP Engine powered by ClickHouse
5
+ Home-page: https://github.com/chdb-io/chdb
6
+ Author: auxten
7
+ Author-email: auxten@clickhouse.com
8
+ License: Apache-2.0
9
+ Project-URL: Homepage, https://clickhouse.com/chdb
10
+ Project-URL: Documentation, https://clickhouse.com/docs/en/chdb
11
+ Project-URL: Source, https://github.com/chdb-io/chdb
12
+ Project-URL: Download, https://pypi.org/project/chdb/#files
13
+ Project-URL: Twitter, https://twitter.com/chdb_io
14
+ Platform: Mac
15
+ Platform: Linux
16
+ Classifier: Development Status :: 4 - Beta
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: License :: OSI Approved :: Apache Software License
19
+ Classifier: Operating System :: MacOS :: MacOS X
20
+ Classifier: Operating System :: POSIX
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Topic :: Database
27
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
28
+ Requires-Python: >=3.8
29
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
30
+ License-File: LICENSE.txt
31
+ Requires-Dist: pyarrow>=13.0.0
32
+ Requires-Dist: pandas>=2.0.0
33
+ Dynamic: requires-dist
34
+ Dynamic: requires-python
35
+
36
+ <div align="center">
37
+ <a href="https://clickhouse.com/blog/chdb-joins-clickhouse-family">📢 chDB joins the ClickHouse family 🐍+🚀</a>
38
+ </div>
39
+ <div align="center">
40
+ <picture>
41
+ <source media="(prefers-color-scheme: dark)" srcset="https://github.com/chdb-io/chdb/raw/main/docs/_static/snake-chdb-dark.png" height="130">
42
+ <img src="https://github.com/chdb-io/chdb/raw/main/docs/_static/snake-chdb.png" height="130">
43
+ </picture>
44
+
45
+ [![Build X86](https://github.com/chdb-io/chdb/actions/workflows/build_linux_x86_wheels.yml/badge.svg?event=release)](https://github.com/chdb-io/chdb/actions/workflows/build_linux_x86_wheels.yml)
46
+ [![PyPI](https://img.shields.io/pypi/v/chdb.svg)](https://pypi.org/project/chdb/)
47
+ [![Downloads](https://static.pepy.tech/badge/chdb)](https://pepy.tech/project/chdb)
48
+ [![Discord](https://img.shields.io/discord/1098133460310294528?logo=Discord)](https://discord.gg/D2Daa2fM5K)
49
+ [![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Twitter)](https://twitter.com/chdb_io)
50
+ </div>
51
+
52
+ # chDB
53
+
54
+
55
+ > chDB is an in-process SQL OLAP Engine powered by ClickHouse [^1]
56
+ > For more details: [The birth of chDB](https://auxten.com/the-birth-of-chdb/)
57
+
58
+
59
+ ## Features
60
+
61
+ * In-process SQL OLAP Engine, powered by ClickHouse
62
+ * No need to install ClickHouse
63
+ * Minimized data copy from C++ to Python with [python memoryview](https://docs.python.org/3/c-api/memoryview.html)
64
+ * Input&Output support Parquet, CSV, JSON, Arrow, ORC and 60+[more](https://clickhouse.com/docs/en/interfaces/formats) formats, [samples](tests/format_output.py)
65
+ * Support Python DB API 2.0, [example](examples/dbapi.py)
66
+
67
+
68
+
69
+ ## Arch
70
+ <div align="center">
71
+ <img src="https://github.com/chdb-io/chdb/raw/main/docs/_static/arch-chdb3.png" width="450">
72
+ </div>
73
+
74
+ ## Get Started
75
+ Get started with **chdb** using our [Installation and Usage Examples](https://clickhouse.com/docs/en/chdb)
76
+
77
+ <br>
78
+
79
+ ## Installation
80
+ Currently, chDB supports Python 3.8+ on macOS and Linux (x86_64 and ARM64).
81
+ ```bash
82
+ pip install chdb
83
+ ```
84
+
85
+ ## Usage
86
+
87
+ ### Run in command line
88
+ > `python3 -m chdb SQL [OutputFormat]`
89
+ ```bash
90
+ python3 -m chdb "SELECT 1,'abc'" Pretty
91
+ ```
92
+
93
+ <br>
94
+
95
+ ### Data Input
96
+ The following methods are available to access on-disk and in-memory data formats:
97
+
98
+ <details>
99
+ <summary><h4>🗂️ Query On File</h4> (Parquet, CSV, JSON, Arrow, ORC and 60+)</summary>
100
+
101
+ You can execute SQL and return desired format data.
102
+
103
+ ```python
104
+ import chdb
105
+ res = chdb.query('select version()', 'Pretty'); print(res)
106
+ ```
107
+
108
+ ### Work with Parquet or CSV
109
+ ```python
110
+ # See more data type format in tests/format_output.py
111
+ res = chdb.query('select * from file("data.parquet", Parquet)', 'JSON'); print(res)
112
+ res = chdb.query('select * from file("data.csv", CSV)', 'CSV'); print(res)
113
+ print(f"SQL read {res.rows_read()} rows, {res.bytes_read()} bytes, elapsed {res.elapsed()} seconds")
114
+ ```
115
+
116
+ ### Pandas dataframe output
117
+ ```python
118
+ # See more in https://clickhouse.com/docs/en/interfaces/formats
119
+ chdb.query('select * from file("data.parquet", Parquet)', 'Dataframe')
120
+ ```
121
+ </details>
122
+
123
+ <details>
124
+ <summary><h4>🗂️ Query On Table</h4> (Pandas DataFrame, Parquet file/bytes, Arrow bytes) </summary>
125
+
126
+ ### Query On Pandas DataFrame
127
+ ```python
128
+ import chdb.dataframe as cdf
129
+ import pandas as pd
130
+ # Join 2 DataFrames
131
+ df1 = pd.DataFrame({'a': [1, 2, 3], 'b': ["one", "two", "three"]})
132
+ df2 = pd.DataFrame({'c': [1, 2, 3], 'd': ["①", "②", "③"]})
133
+ ret_tbl = cdf.query(sql="select * from __tbl1__ t1 join __tbl2__ t2 on t1.a = t2.c",
134
+ tbl1=df1, tbl2=df2)
135
+ print(ret_tbl)
136
+ # Query on the DataFrame Table
137
+ print(ret_tbl.query('select b, sum(a) from __table__ group by b'))
138
+ ```
139
+ </details>
140
+
141
+ <details>
142
+ <summary><h4>🗂️ Query with Stateful Session</h4></summary>
143
+
144
+ ```python
145
+ from chdb import session as chs
146
+
147
+ ## Create DB, Table, View in temp session, auto cleanup when session is deleted.
148
+ sess = chs.Session()
149
+ sess.query("CREATE DATABASE IF NOT EXISTS db_xxx ENGINE = Atomic")
150
+ sess.query("CREATE TABLE IF NOT EXISTS db_xxx.log_table_xxx (x String, y Int) ENGINE = Log;")
151
+ sess.query("INSERT INTO db_xxx.log_table_xxx VALUES ('a', 1), ('b', 3), ('c', 2), ('d', 5);")
152
+ sess.query(
153
+ "CREATE VIEW db_xxx.view_xxx AS SELECT * FROM db_xxx.log_table_xxx LIMIT 4;"
154
+ )
155
+ print("Select from view:\n")
156
+ print(sess.query("SELECT * FROM db_xxx.view_xxx", "Pretty"))
157
+ ```
158
+
159
+ see also: [test_stateful.py](tests/test_stateful.py).
160
+ </details>
161
+
162
+ <details>
163
+ <summary><h4>🗂️ Query with Python DB-API 2.0</h4></summary>
164
+
165
+ ```python
166
+ import chdb.dbapi as dbapi
167
+ print("chdb driver version: {0}".format(dbapi.get_client_info()))
168
+
169
+ conn1 = dbapi.connect()
170
+ cur1 = conn1.cursor()
171
+ cur1.execute('select version()')
172
+ print("description: ", cur1.description)
173
+ print("data: ", cur1.fetchone())
174
+ cur1.close()
175
+ conn1.close()
176
+ ```
177
+ </details>
178
+
179
+
180
+ <details>
181
+ <summary><h4>🗂️ Query with UDF (User Defined Functions)</h4></summary>
182
+
183
+ ```python
184
+ from chdb.udf import chdb_udf
185
+ from chdb import query
186
+
187
+ @chdb_udf()
188
+ def sum_udf(lhs, rhs):
189
+ return int(lhs) + int(rhs)
190
+
191
+ print(query("select sum_udf(12,22)"))
192
+ ```
193
+
194
+ Some notes on chDB Python UDF(User Defined Function) decorator.
195
+ 1. The function should be stateless. So, only UDFs are supported, not UDAFs(User Defined Aggregation Function).
196
+ 2. Default return type is String. If you want to change the return type, you can pass in the return type as an argument.
197
+ The return type should be one of the following: https://clickhouse.com/docs/en/sql-reference/data-types
198
+ 3. The function should take in arguments of type String. As the input is TabSeparated, all arguments are strings.
199
+ 4. The function will be called for each line of input. Something like this:
200
+ ```
201
+ def sum_udf(lhs, rhs):
202
+ return int(lhs) + int(rhs)
203
+
204
+ for line in sys.stdin:
205
+ args = line.strip().split('\t')
206
+ lhs = args[0]
207
+ rhs = args[1]
208
+ print(sum_udf(lhs, rhs))
209
+ sys.stdout.flush()
210
+ ```
211
+ 5. The function should be pure python function. You SHOULD import all python modules used IN THE FUNCTION.
212
+ ```
213
+ def func_use_json(arg):
214
+ import json
215
+ ...
216
+ ```
217
+ 6. Python interpertor used is the same as the one used to run the script. Get from `sys.executable`
218
+
219
+ see also: [test_udf.py](tests/test_udf.py).
220
+ </details>
221
+
222
+
223
+ <details>
224
+ <summary><h4>🗂️ Python Table Engine</h4></summary>
225
+
226
+ ### Query on Pandas DataFrame
227
+
228
+ ```python
229
+ import chdb
230
+ import pandas as pd
231
+ df = pd.DataFrame(
232
+ {
233
+ "a": [1, 2, 3, 4, 5, 6],
234
+ "b": ["tom", "jerry", "auxten", "tom", "jerry", "auxten"],
235
+ }
236
+ )
237
+
238
+ chdb.query("SELECT b, sum(a) FROM Python(df) GROUP BY b ORDER BY b").show()
239
+ ```
240
+
241
+ ### Query on Arrow Table
242
+
243
+ ```python
244
+ import chdb
245
+ import pyarrow as pa
246
+ arrow_table = pa.table(
247
+ {
248
+ "a": [1, 2, 3, 4, 5, 6],
249
+ "b": ["tom", "jerry", "auxten", "tom", "jerry", "auxten"],
250
+ }
251
+ )
252
+
253
+ chdb.query(
254
+ "SELECT b, sum(a) FROM Python(arrow_table) GROUP BY b ORDER BY b", "debug"
255
+ ).show()
256
+ ```
257
+
258
+ ### Query on chdb.PyReader class instance
259
+
260
+ 1. You must inherit from chdb.PyReader class and implement the `read` method.
261
+ 2. The `read` method should:
262
+ 1. return a list of lists, the first demension is the column, the second dimension is the row, the columns order should be the same as the first arg `col_names` of `read`.
263
+ 1. return an empty list when there is no more data to read.
264
+ 1. be stateful, the cursor should be updated in the `read` method.
265
+ 3. An optional `get_schema` method can be implemented to return the schema of the table. The prototype is `def get_schema(self) -> List[Tuple[str, str]]:`, the return value is a list of tuples, each tuple contains the column name and the column type. The column type should be one of the following: https://clickhouse.com/docs/en/sql-reference/data-types
266
+
267
+ ```python
268
+ import chdb
269
+
270
+ class myReader(chdb.PyReader):
271
+ def __init__(self, data):
272
+ self.data = data
273
+ self.cursor = 0
274
+ super().__init__(data)
275
+
276
+ def read(self, col_names, count):
277
+ print("Python func read", col_names, count, self.cursor)
278
+ if self.cursor >= len(self.data["a"]):
279
+ return []
280
+ block = [self.data[col] for col in col_names]
281
+ self.cursor += len(block[0])
282
+ return block
283
+
284
+ reader = myReader(
285
+ {
286
+ "a": [1, 2, 3, 4, 5, 6],
287
+ "b": ["tom", "jerry", "auxten", "tom", "jerry", "auxten"],
288
+ }
289
+ )
290
+
291
+ chdb.query(
292
+ "SELECT b, sum(a) FROM Python(reader) GROUP BY b ORDER BY b"
293
+ ).show()
294
+ ```
295
+
296
+ see also: [test_query_py.py](tests/test_query_py.py).
297
+
298
+ ### Limitations
299
+
300
+ 1. Column types supported: pandas.Series, pyarrow.array, chdb.PyReader
301
+ 1. Data types supported: Int, UInt, Float, String, Date, DateTime, Decimal
302
+ 1. Python Object type will be converted to String
303
+ 1. Pandas DataFrame performance is all of the best, Arrow Table is better than PyReader
304
+
305
+
306
+ </details>
307
+
308
+ For more examples, see [examples](examples) and [tests](tests).
309
+
310
+ <br>
311
+
312
+ ## Demos and Examples
313
+
314
+ - [Project Documentation](https://clickhouse.com/docs/en/chdb) and [Usage Examples](https://clickhouse.com/docs/en/chdb/install/python)
315
+ - [Colab Notebooks](https://colab.research.google.com/drive/1-zKB6oKfXeptggXi0kUX87iR8ZTSr4P3?usp=sharing) and other [Script Examples](examples)
316
+
317
+ ## Benchmark
318
+
319
+ - [ClickBench of embedded engines](https://benchmark.clickhouse.com/#eyJzeXN0ZW0iOnsiQXRoZW5hIChwYXJ0aXRpb25lZCkiOnRydWUsIkF0aGVuYSAoc2luZ2xlKSI6dHJ1ZSwiQXVyb3JhIGZvciBNeVNRTCI6dHJ1ZSwiQXVyb3JhIGZvciBQb3N0Z3JlU1FMIjp0cnVlLCJCeXRlSG91c2UiOnRydWUsImNoREIiOnRydWUsIkNpdHVzIjp0cnVlLCJjbGlja2hvdXNlLWxvY2FsIChwYXJ0aXRpb25lZCkiOnRydWUsImNsaWNraG91c2UtbG9jYWwgKHNpbmdsZSkiOnRydWUsIkNsaWNrSG91c2UiOnRydWUsIkNsaWNrSG91c2UgKHR1bmVkKSI6dHJ1ZSwiQ2xpY2tIb3VzZSAoenN0ZCkiOnRydWUsIkNsaWNrSG91c2UgQ2xvdWQiOnRydWUsIkNsaWNrSG91c2UgKHdlYikiOnRydWUsIkNyYXRlREIiOnRydWUsIkRhdGFiZW5kIjp0cnVlLCJEYXRhRnVzaW9uIChzaW5nbGUpIjp0cnVlLCJBcGFjaGUgRG9yaXMiOnRydWUsIkRydWlkIjp0cnVlLCJEdWNrREIgKFBhcnF1ZXQpIjp0cnVlLCJEdWNrREIiOnRydWUsIkVsYXN0aWNzZWFyY2giOnRydWUsIkVsYXN0aWNzZWFyY2ggKHR1bmVkKSI6ZmFsc2UsIkdyZWVucGx1bSI6dHJ1ZSwiSGVhdnlBSSI6dHJ1ZSwiSHlkcmEiOnRydWUsIkluZm9icmlnaHQiOnRydWUsIktpbmV0aWNhIjp0cnVlLCJNYXJpYURCIENvbHVtblN0b3JlIjp0cnVlLCJNYXJpYURCIjpmYWxzZSwiTW9uZXREQiI6dHJ1ZSwiTW9uZ29EQiI6dHJ1ZSwiTXlTUUwgKE15SVNBTSkiOnRydWUsIk15U1FMIjp0cnVlLCJQaW5vdCI6dHJ1ZSwiUG9zdGdyZVNRTCI6dHJ1ZSwiUG9zdGdyZVNRTCAodHVuZWQpIjpmYWxzZSwiUXVlc3REQiAocGFydGl0aW9uZWQpIjp0cnVlLCJRdWVzdERCIjp0cnVlLCJSZWRzaGlmdCI6dHJ1ZSwiU2VsZWN0REIiOnRydWUsIlNpbmdsZVN0b3JlIjp0cnVlLCJTbm93Zmxha2UiOnRydWUsIlNRTGl0ZSI6dHJ1ZSwiU3RhclJvY2tzIjp0cnVlLCJUaW1lc2NhbGVEQiAoY29tcHJlc3Npb24pIjp0cnVlLCJUaW1lc2NhbGVEQiI6dHJ1ZX0sInR5cGUiOnsic3RhdGVsZXNzIjpmYWxzZSwibWFuYWdlZCI6ZmFsc2UsIkphdmEiOmZhbHNlLCJjb2x1bW4tb3JpZW50ZWQiOmZhbHNlLCJDKysiOmZhbHNlLCJNeVNRTCBjb21wYXRpYmxlIjpmYWxzZSwicm93LW9yaWVudGVkIjpmYWxzZSwiQyI6ZmFsc2UsIlBvc3RncmVTUUwgY29tcGF0aWJsZSI6ZmFsc2UsIkNsaWNrSG91c2UgZGVyaXZhdGl2ZSI6ZmFsc2UsImVtYmVkZGVkIjp0cnVlLCJzZXJ2ZXJsZXNzIjpmYWxzZSwiUnVzdCI6ZmFsc2UsInNlYXJjaCI6ZmFsc2UsImRvY3VtZW50IjpmYWxzZSwidGltZS1zZXJpZXMiOmZhbHNlfSwibWFjaGluZSI6eyJzZXJ2ZXJsZXNzIjp0cnVlLCIxNmFjdSI6dHJ1ZSwiTCI6dHJ1ZSwiTSI6dHJ1ZSwiUyI6dHJ1ZSwiWFMiOnRydWUsImM2YS5tZXRhbCwgNTAwZ2IgZ3AyIjp0cnVlLCJjNmEuNHhsYXJnZSwgNTAwZ2IgZ3AyIjp0cnVlLCJjNS40eGxhcmdlLCA1MDBnYiBncDIiOnRydWUsIjE2IHRocmVhZHMiOnRydWUsIjIwIHRocmVhZHMiOnRydWUsIjI0IHRocmVhZHMiOnRydWUsIjI4IHRocmVhZHMiOnRydWUsIjMwIHRocmVhZHMiOnRydWUsIjQ4IHRocmVhZHMiOnRydWUsIjYwIHRocmVhZHMiOnRydWUsIm01ZC4yNHhsYXJnZSI6dHJ1ZSwiYzVuLjR4bGFyZ2UsIDIwMGdiIGdwMiI6dHJ1ZSwiYzZhLjR4bGFyZ2UsIDE1MDBnYiBncDIiOnRydWUsImRjMi44eGxhcmdlIjp0cnVlLCJyYTMuMTZ4bGFyZ2UiOnRydWUsInJhMy40eGxhcmdlIjp0cnVlLCJyYTMueGxwbHVzIjp0cnVlLCJTMjQiOnRydWUsIlMyIjp0cnVlLCIyWEwiOnRydWUsIjNYTCI6dHJ1ZSwiNFhMIjp0cnVlLCJYTCI6dHJ1ZX0sImNsdXN0ZXJfc2l6ZSI6eyIxIjp0cnVlLCIyIjp0cnVlLCI0Ijp0cnVlLCI4Ijp0cnVlLCIxNiI6dHJ1ZSwiMzIiOnRydWUsIjY0Ijp0cnVlLCIxMjgiOnRydWUsInNlcnZlcmxlc3MiOnRydWUsInVuZGVmaW5lZCI6dHJ1ZX0sIm1ldHJpYyI6ImhvdCIsInF1ZXJpZXMiOlt0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlXX0=)
320
+
321
+ - [chDB vs Pandas](https://colab.research.google.com/drive/1FogLujJ_-ds7RGurDrUnK-U0IW8a8Qd0)
322
+
323
+ - [Benchmark on DataFrame: chDB Pandas DuckDB Polars](https://benchmark.clickhouse.com/#eyJzeXN0ZW0iOnsiQWxsb3lEQiI6dHJ1ZSwiQWxsb3lEQiAodHVuZWQpIjp0cnVlLCJBdGhlbmEgKHBhcnRpdGlvbmVkKSI6dHJ1ZSwiQXRoZW5hIChzaW5nbGUpIjp0cnVlLCJBdXJvcmEgZm9yIE15U1FMIjp0cnVlLCJBdXJvcmEgZm9yIFBvc3RncmVTUUwiOnRydWUsIkJ5Q29uaXR5Ijp0cnVlLCJCeXRlSG91c2UiOnRydWUsImNoREIgKERhdGFGcmFtZSkiOnRydWUsImNoREIgKFBhcnF1ZXQsIHBhcnRpdGlvbmVkKSI6dHJ1ZSwiY2hEQiI6dHJ1ZSwiQ2l0dXMiOnRydWUsIkNsaWNrSG91c2UgQ2xvdWQgKGF3cykiOnRydWUsIkNsaWNrSG91c2UgQ2xvdWQgKGF6dXJlKSI6dHJ1ZSwiQ2xpY2tIb3VzZSBDbG91ZCAoZ2NwKSI6dHJ1ZSwiQ2xpY2tIb3VzZSAoZGF0YSBsYWtlLCBwYXJ0aXRpb25lZCkiOnRydWUsIkNsaWNrSG91c2UgKGRhdGEgbGFrZSwgc2luZ2xlKSI6dHJ1ZSwiQ2xpY2tIb3VzZSAoUGFycXVldCwgcGFydGl0aW9uZWQpIjp0cnVlLCJDbGlja0hvdXNlIChQYXJxdWV0LCBzaW5nbGUpIjp0cnVlLCJDbGlja0hvdXNlICh3ZWIpIjp0cnVlLCJDbGlja0hvdXNlIjp0cnVlLCJDbGlja0hvdXNlICh0dW5lZCkiOnRydWUsIkNsaWNrSG91c2UgKHR1bmVkLCBtZW1vcnkpIjp0cnVlLCJDbG91ZGJlcnJ5Ijp0cnVlLCJDcmF0ZURCIjp0cnVlLCJDcnVuY2h5IEJyaWRnZSBmb3IgQW5hbHl0aWNzIChQYXJxdWV0KSI6dHJ1ZSwiRGF0YWJlbmQiOnRydWUsIkRhdGFGdXNpb24gKFBhcnF1ZXQsIHBhcnRpdGlvbmVkKSI6dHJ1ZSwiRGF0YUZ1c2lvbiAoUGFycXVldCwgc2luZ2xlKSI6dHJ1ZSwiQXBhY2hlIERvcmlzIjp0cnVlLCJEcnVpZCI6dHJ1ZSwiRHVja0RCIChEYXRhRnJhbWUpIjp0cnVlLCJEdWNrREIgKFBhcnF1ZXQsIHBhcnRpdGlvbmVkKSI6dHJ1ZSwiRHVja0RCIjp0cnVlLCJFbGFzdGljc2VhcmNoIjp0cnVlLCJFbGFzdGljc2VhcmNoICh0dW5lZCkiOmZhbHNlLCJHbGFyZURCIjp0cnVlLCJHcmVlbnBsdW0iOnRydWUsIkhlYXZ5QUkiOnRydWUsIkh5ZHJhIjp0cnVlLCJJbmZvYnJpZ2h0Ijp0cnVlLCJLaW5ldGljYSI6dHJ1ZSwiTWFyaWFEQiBDb2x1bW5TdG9yZSI6dHJ1ZSwiTWFyaWFEQiI6ZmFsc2UsIk1vbmV0REIiOnRydWUsIk1vbmdvREIiOnRydWUsIk1vdGhlcmR1Y2siOnRydWUsIk15U1FMIChNeUlTQU0pIjp0cnVlLCJNeVNRTCI6dHJ1ZSwiT3hsYSI6dHJ1ZSwiUGFuZGFzIChEYXRhRnJhbWUpIjp0cnVlLCJQYXJhZGVEQiAoUGFycXVldCwgcGFydGl0aW9uZWQpIjp0cnVlLCJQYXJhZGVEQiAoUGFycXVldCwgc2luZ2xlKSI6dHJ1ZSwiUGlub3QiOnRydWUsIlBvbGFycyAoRGF0YUZyYW1lKSI6dHJ1ZSwiUG9zdGdyZVNRTCAodHVuZWQpIjpmYWxzZSwiUG9zdGdyZVNRTCI6dHJ1ZSwiUXVlc3REQiAocGFydGl0aW9uZWQpIjp0cnVlLCJRdWVzdERCIjp0cnVlLCJSZWRzaGlmdCI6dHJ1ZSwiU2luZ2xlU3RvcmUiOnRydWUsIlNub3dmbGFrZSI6dHJ1ZSwiU1FMaXRlIjp0cnVlLCJTdGFyUm9ja3MiOnRydWUsIlRhYmxlc3BhY2UiOnRydWUsIlRlbWJvIE9MQVAgKGNvbHVtbmFyKSI6dHJ1ZSwiVGltZXNjYWxlREIgKGNvbXByZXNzaW9uKSI6dHJ1ZSwiVGltZXNjYWxlREIiOnRydWUsIlVtYnJhIjp0cnVlfSwidHlwZSI6eyJDIjpmYWxzZSwiY29sdW1uLW9yaWVudGVkIjpmYWxzZSwiUG9zdGdyZVNRTCBjb21wYXRpYmxlIjpmYWxzZSwibWFuYWdlZCI6ZmFsc2UsImdjcCI6ZmFsc2UsInN0YXRlbGVzcyI6ZmFsc2UsIkphdmEiOmZhbHNlLCJDKysiOmZhbHNlLCJNeVNRTCBjb21wYXRpYmxlIjpmYWxzZSwicm93LW9yaWVudGVkIjpmYWxzZSwiQ2xpY2tIb3VzZSBkZXJpdmF0aXZlIjpmYWxzZSwiZW1iZWRkZWQiOmZhbHNlLCJzZXJ2ZXJsZXNzIjpmYWxzZSwiZGF0YWZyYW1lIjp0cnVlLCJhd3MiOmZhbHNlLCJhenVyZSI6ZmFsc2UsImFuYWx5dGljYWwiOmZhbHNlLCJSdXN0IjpmYWxzZSwic2VhcmNoIjpmYWxzZSwiZG9jdW1lbnQiOmZhbHNlLCJzb21ld2hhdCBQb3N0Z3JlU1FMIGNvbXBhdGlibGUiOmZhbHNlLCJ0aW1lLXNlcmllcyI6ZmFsc2V9LCJtYWNoaW5lIjp7IjE2IHZDUFUgMTI4R0IiOnRydWUsIjggdkNQVSA2NEdCIjp0cnVlLCJzZXJ2ZXJsZXNzIjp0cnVlLCIxNmFjdSI6dHJ1ZSwiYzZhLjR4bGFyZ2UsIDUwMGdiIGdwMiI6dHJ1ZSwiTCI6dHJ1ZSwiTSI6dHJ1ZSwiUyI6dHJ1ZSwiWFMiOnRydWUsImM2YS5tZXRhbCwgNTAwZ2IgZ3AyIjp0cnVlLCIxOTJHQiI6dHJ1ZSwiMjRHQiI6dHJ1ZSwiMzYwR0IiOnRydWUsIjQ4R0IiOnRydWUsIjcyMEdCIjp0cnVlLCI5NkdCIjp0cnVlLCJkZXYiOnRydWUsIjcwOEdCIjp0cnVlLCJjNW4uNHhsYXJnZSwgNTAwZ2IgZ3AyIjp0cnVlLCJBbmFseXRpY3MtMjU2R0IgKDY0IHZDb3JlcywgMjU2IEdCKSI6dHJ1ZSwiYzUuNHhsYXJnZSwgNTAwZ2IgZ3AyIjp0cnVlLCJjNmEuNHhsYXJnZSwgMTUwMGdiIGdwMiI6dHJ1ZSwiY2xvdWQiOnRydWUsImRjMi44eGxhcmdlIjp0cnVlLCJyYTMuMTZ4bGFyZ2UiOnRydWUsInJhMy40eGxhcmdlIjp0cnVlLCJyYTMueGxwbHVzIjp0cnVlLCJTMiI6dHJ1ZSwiUzI0Ijp0cnVlLCIyWEwiOnRydWUsIjNYTCI6dHJ1ZSwiNFhMIjp0cnVlLCJYTCI6dHJ1ZSwiTDEgLSAxNkNQVSAzMkdCIjp0cnVlLCJjNmEuNHhsYXJnZSwgNTAwZ2IgZ3AzIjp0cnVlfSwiY2x1c3Rlcl9zaXplIjp7IjEiOnRydWUsIjIiOnRydWUsIjQiOnRydWUsIjgiOnRydWUsIjE2Ijp0cnVlLCIzMiI6dHJ1ZSwiNjQiOnRydWUsIjEyOCI6dHJ1ZSwic2VydmVybGVzcyI6dHJ1ZX0sIm1ldHJpYyI6ImhvdCIsInF1ZXJpZXMiOlt0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlXX0=)
324
+
325
+
326
+ <div align="center">
327
+ <img src="https://github.com/chdb-io/chdb/raw/main/docs/_static/df_bench.png" width="800">
328
+ </div>
329
+
330
+
331
+ ## Documentation
332
+ - For chdb specific examples and documentation refer to [chDB docs](https://clickhouse.com/docs/en/chdb)
333
+ - For SQL syntax, please refer to [ClickHouse SQL Reference](https://clickhouse.com/docs/en/sql-reference/syntax)
334
+
335
+
336
+ ## Events
337
+
338
+ - Demo chDB at [ClickHouse v23.7 livehouse!](https://t.co/todc13Kn19) and [Slides](https://docs.google.com/presentation/d/1ikqjOlimRa7QAg588TAB_Fna-Tad2WMg7_4AgnbQbFA/edit?usp=sharing)
339
+
340
+ ## Contributing
341
+ Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
342
+ There are something you can help:
343
+ - [ ] Help test and report bugs
344
+ - [ ] Help improve documentation
345
+ - [ ] Help improve code quality and performance
346
+
347
+ ### Bindings
348
+
349
+ We welcome bindings for other languages, please refer to [bindings](bindings.md) for more details.
350
+
351
+ ## Paper
352
+
353
+ - [ClickHouse - Lightning Fast Analytics for Everyone](https://www.vldb.org/pvldb/vol17/p3731-schulze.pdf)
354
+
355
+ ## License
356
+ Apache 2.0, see [LICENSE](LICENSE.txt) for more information.
357
+
358
+ ## Acknowledgments
359
+ chDB is mainly based on [ClickHouse](https://github.com/ClickHouse/ClickHouse) [^1]
360
+ for trade mark and other reasons, I named it chDB.
361
+
362
+ ## Contact
363
+ - Discord: [https://discord.gg/D2Daa2fM5K](https://discord.gg/D2Daa2fM5K)
364
+ - Email: auxten@clickhouse.com
365
+ - Twitter: [@chdb](https://twitter.com/chdb_io)
366
+
367
+
368
+ <br>
369
+
370
+ [^1]: ClickHouse® is a trademark of ClickHouse Inc. All trademarks, service marks, and logos mentioned or depicted are the property of their respective owners. The use of any third-party trademarks, brand names, product names, and company names does not imply endorsement, affiliation, or association with the respective owners.
@@ -0,0 +1,28 @@
1
+ chdb/__init__.py,sha256=P2TgVZoELhpe-zVd_HLI9jlotBpIbtrjA5Cgi64Ap-M,3762
2
+ chdb/__main__.py,sha256=xNNtDY38d973YM5dlxiIazcqqKhXJSpNb7JflyyrXGE,1185
3
+ chdb/_chdb.cpython-313-darwin.so,sha256=7FWQqGK8rniizn_tW8eBFeH4_l1DcDOBq6oc0KdzYvM,356177056
4
+ chdb/rwabc.py,sha256=tbiwCrXirfrfx46wCJxS64yvFe6pVWIPGdSuvrAL5Ys,2102
5
+ chdb/dataframe/__init__.py,sha256=1_mrZZiJwqBTnH_P8_FCbbYXIWWY5sxnaFpe3-tDLF4,680
6
+ chdb/dataframe/query.py,sha256=ggvE8A5vtabFg9gSTp99S7LCrnIEwbWtb-PtJVT8Ct0,12759
7
+ chdb/dbapi/__init__.py,sha256=aaNhxXNBC1ZkFr260cbGR8msOinTp0VoNTT_j8AXGUc,2205
8
+ chdb/dbapi/connections.py,sha256=4RBO0h-B149xEicE8cXSSJl9wpXa4FQMY_4SghgEvCw,2762
9
+ chdb/dbapi/converters.py,sha256=0SDqgixUTCz0LtWke_HHzgF1lFJhpsQrR_-ky3b-JRY,7447
10
+ chdb/dbapi/cursors.py,sha256=OXF36raoyI3MIC5SCQ5IvnCtbOnppga4Q1IKOt2EIsk,7920
11
+ chdb/dbapi/err.py,sha256=kUI9-A8LNqBoMoo4jh2NFsLCOLoPEwh9YIuz_qMoLoM,2017
12
+ chdb/dbapi/times.py,sha256=_qXgDaYwsHntvpIKSKXp1rrYIgtq6Z9pLyLnO2XNoL0,360
13
+ chdb/dbapi/constants/FIELD_TYPE.py,sha256=ytFzgAnGmb9hvdsBlnK68qdZv_a6jYFIXT6VSAb60z8,370
14
+ chdb/dbapi/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ chdb/session/__init__.py,sha256=fCUROZ5L1-92o2lcASiWJpFu-80-kDoSrNfouLEmLg8,50
16
+ chdb/session/state.py,sha256=nx9KlqZyPTHAflToXCJVRBUSMjJFvyh6x2akP7Gc7h0,4360
17
+ chdb/state/__init__.py,sha256=RVUIWDqDi7gte4Os7Mz1wPXFyFpdHT_p1klJC7QtluI,55
18
+ chdb/state/sqlitelike.py,sha256=-2bQRs6WDREr90pe8UtaYbQK-BWSkko1Ma8cLSzLUf4,4511
19
+ chdb/udf/__init__.py,sha256=qSMaPEre7w1pYz8uJ-iZtuu8wYOUNRcI_8UNuaOymGE,80
20
+ chdb/udf/udf.py,sha256=z0A1RmyZrx55bykpvvS-LpVt1lMrQOexjvU5zxCdCSA,3935
21
+ chdb/utils/__init__.py,sha256=tXRcwBRGW2YQNBZWV4Mitw5QlCu_qlSRCjllw15XHbs,171
22
+ chdb/utils/trace.py,sha256=W-pvDoKlnzq6H_7FiWjr5_teN40UNE4E5--zbUrjOIc,2511
23
+ chdb/utils/types.py,sha256=MGLFIjoDvu7Uc2Wy8EDY60jjue66HmMPxbhrujjrZxQ,7530
24
+ chdb-3.1.0.dist-info/LICENSE.txt,sha256=isYVtNCO5910aj6e9bJJ6kQceivkLqsMlFSNYwzGGKI,11366
25
+ chdb-3.1.0.dist-info/METADATA,sha256=1Rgw8I9c27wfqXTiZWCT7-bL1DrqK9VoipeOCTCfJ2w,19490
26
+ chdb-3.1.0.dist-info/WHEEL,sha256=ygSUdKQqFRWAIjRhJtlcnHn2B3mflIIsg3Ttx70GyCY,109
27
+ chdb-3.1.0.dist-info/top_level.txt,sha256=se0Jj0A2-ijfMW51hIjiuNyDJPqy5xJU1G8a_IEdllI,11
28
+ chdb-3.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.8.2)
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-macosx_11_0_arm64
5
+
@@ -0,0 +1,2 @@
1
+ _chdb
2
+ chdb