clickhouse-connect-core 0.1.0__tar.gz

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.
Files changed (43) hide show
  1. clickhouse_connect_core-0.1.0/Cargo.lock +139 -0
  2. clickhouse_connect_core-0.1.0/Cargo.toml +7 -0
  3. clickhouse_connect_core-0.1.0/PKG-INFO +42 -0
  4. clickhouse_connect_core-0.1.0/README.md +23 -0
  5. clickhouse_connect_core-0.1.0/ch-core-py/Cargo.toml +21 -0
  6. clickhouse_connect_core-0.1.0/ch-core-py/README.md +23 -0
  7. clickhouse_connect_core-0.1.0/ch-core-py/build.rs +4 -0
  8. clickhouse_connect_core-0.1.0/ch-core-py/src/batch.rs +518 -0
  9. clickhouse_connect_core-0.1.0/ch-core-py/src/decoder.rs +330 -0
  10. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/containers.rs +840 -0
  11. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/fastpath.rs +1387 -0
  12. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/json.rs +350 -0
  13. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/mod.rs +418 -0
  14. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/qbit.rs +553 -0
  15. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/scalar.rs +1692 -0
  16. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/special.rs +932 -0
  17. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/temporal.rs +1043 -0
  18. clickhouse_connect_core-0.1.0/ch-core-py/src/insert/variant.rs +376 -0
  19. clickhouse_connect_core-0.1.0/ch-core-py/src/lib.rs +21 -0
  20. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/containers.rs +226 -0
  21. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/ctx.rs +343 -0
  22. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/errors.rs +69 -0
  23. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/fixed.rs +472 -0
  24. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/json.rs +434 -0
  25. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/mod.rs +284 -0
  26. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/ptr.rs +93 -0
  27. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/qbit.rs +120 -0
  28. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/scalar.rs +592 -0
  29. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/temporal.rs +143 -0
  30. clickhouse_connect_core-0.1.0/ch-core-py/src/pyval/variant_dynamic.rs +417 -0
  31. clickhouse_connect_core-0.1.0/ch-core-py/tests/helpers.py +608 -0
  32. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_containers.py +1427 -0
  33. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_insert_fastpaths.py +409 -0
  34. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_intake_exits.py +768 -0
  35. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_json.py +473 -0
  36. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_low_cardinality.py +230 -0
  37. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_qbit.py +264 -0
  38. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_scalars.py +447 -0
  39. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_strings_special.py +843 -0
  40. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_temporal.py +759 -0
  41. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_variant_dynamic.py +593 -0
  42. clickhouse_connect_core-0.1.0/ch-core-py/tests/test_wide_int.py +263 -0
  43. clickhouse_connect_core-0.1.0/pyproject.toml +30 -0
@@ -0,0 +1,139 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "ch-core-py"
7
+ version = "0.1.0"
8
+ dependencies = [
9
+ "ch-core-rs",
10
+ "pyo3",
11
+ "pyo3-build-config",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "ch-core-rs"
16
+ version = "0.1.1"
17
+ source = "git+https://github.com/ClickHouse/ch-core-rs?tag=v0.1.1#303c09fc5c064505ade7e2c7bd5a12cd308de549"
18
+
19
+ [[package]]
20
+ name = "heck"
21
+ version = "0.5.0"
22
+ source = "registry+https://github.com/rust-lang/crates.io-index"
23
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
24
+
25
+ [[package]]
26
+ name = "libc"
27
+ version = "0.2.185"
28
+ source = "registry+https://github.com/rust-lang/crates.io-index"
29
+ checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f"
30
+
31
+ [[package]]
32
+ name = "once_cell"
33
+ version = "1.21.4"
34
+ source = "registry+https://github.com/rust-lang/crates.io-index"
35
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
36
+
37
+ [[package]]
38
+ name = "portable-atomic"
39
+ version = "1.13.1"
40
+ source = "registry+https://github.com/rust-lang/crates.io-index"
41
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
42
+
43
+ [[package]]
44
+ name = "proc-macro2"
45
+ version = "1.0.106"
46
+ source = "registry+https://github.com/rust-lang/crates.io-index"
47
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
48
+ dependencies = [
49
+ "unicode-ident",
50
+ ]
51
+
52
+ [[package]]
53
+ name = "pyo3"
54
+ version = "0.29.2"
55
+ source = "registry+https://github.com/rust-lang/crates.io-index"
56
+ checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b"
57
+ dependencies = [
58
+ "libc",
59
+ "once_cell",
60
+ "portable-atomic",
61
+ "pyo3-build-config",
62
+ "pyo3-ffi",
63
+ "pyo3-macros",
64
+ ]
65
+
66
+ [[package]]
67
+ name = "pyo3-build-config"
68
+ version = "0.29.2"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9"
71
+ dependencies = [
72
+ "target-lexicon",
73
+ ]
74
+
75
+ [[package]]
76
+ name = "pyo3-ffi"
77
+ version = "0.29.2"
78
+ source = "registry+https://github.com/rust-lang/crates.io-index"
79
+ checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327"
80
+ dependencies = [
81
+ "libc",
82
+ "pyo3-build-config",
83
+ ]
84
+
85
+ [[package]]
86
+ name = "pyo3-macros"
87
+ version = "0.29.2"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c"
90
+ dependencies = [
91
+ "proc-macro2",
92
+ "pyo3-macros-backend",
93
+ "quote",
94
+ "syn",
95
+ ]
96
+
97
+ [[package]]
98
+ name = "pyo3-macros-backend"
99
+ version = "0.29.2"
100
+ source = "registry+https://github.com/rust-lang/crates.io-index"
101
+ checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952"
102
+ dependencies = [
103
+ "heck",
104
+ "proc-macro2",
105
+ "quote",
106
+ "syn",
107
+ ]
108
+
109
+ [[package]]
110
+ name = "quote"
111
+ version = "1.0.45"
112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
113
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
114
+ dependencies = [
115
+ "proc-macro2",
116
+ ]
117
+
118
+ [[package]]
119
+ name = "syn"
120
+ version = "2.0.117"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
123
+ dependencies = [
124
+ "proc-macro2",
125
+ "quote",
126
+ "unicode-ident",
127
+ ]
128
+
129
+ [[package]]
130
+ name = "target-lexicon"
131
+ version = "0.13.5"
132
+ source = "registry+https://github.com/rust-lang/crates.io-index"
133
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
134
+
135
+ [[package]]
136
+ name = "unicode-ident"
137
+ version = "1.0.24"
138
+ source = "registry+https://github.com/rust-lang/crates.io-index"
139
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
@@ -0,0 +1,7 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = ["ch-core-py"]
4
+
5
+ [profile.release]
6
+ codegen-units = 1
7
+ lto = "fat"
@@ -0,0 +1,42 @@
1
+ Metadata-Version: 2.4
2
+ Name: clickhouse-connect-core
3
+ Version: 0.1.0
4
+ Classifier: Programming Language :: Python :: 3.10
5
+ Classifier: Programming Language :: Python :: 3.11
6
+ Classifier: Programming Language :: Python :: 3.12
7
+ Classifier: Programming Language :: Python :: 3.13
8
+ Classifier: Programming Language :: Python :: 3.14
9
+ Classifier: Programming Language :: Rust
10
+ Summary: Compiled Rust native-format codec for clickhouse-connect
11
+ License-Expression: Apache-2.0
12
+ Requires-Python: >=3.10
13
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
14
+ Project-URL: Documentation, https://clickhouse.com/docs/integrations/language-clients/python/rust-codec
15
+ Project-URL: Homepage, https://github.com/ClickHouse/clickhouse-connect
16
+ Project-URL: Issues, https://github.com/ClickHouse/clickhouse-connect/issues
17
+ Project-URL: Repository, https://github.com/ClickHouse/clickhouse-connect
18
+
19
+ # clickhouse-connect-core
20
+
21
+ Compiled Rust codec for [clickhouse-connect](https://pypi.org/project/clickhouse-connect/). This wheel provides the `_ch_core` extension module that decodes ClickHouse `FORMAT Native` query results and encodes inserts.
22
+
23
+ This package is not meant to be used directly. Install it through the `rust` extra of the main driver:
24
+
25
+ ```bash
26
+ pip install "clickhouse-connect[rust]"
27
+ ```
28
+
29
+ Then enable the codec on a client:
30
+
31
+ ```python
32
+ import clickhouse_connect
33
+
34
+ client = clickhouse_connect.get_client(host="localhost", native_codec="rust")
35
+ ```
36
+
37
+ The codec is experimental and opt in. See the [clickhouse-connect documentation](https://clickhouse.com/docs/integrations/language-clients/python/rust-codec) for supported values, fallback rules, and version compatibility.
38
+
39
+ The `_ch_core` module has no public API contract. Its interface exists solely for the clickhouse-connect driver, which checks a binding API version at client creation and tells you when this wheel needs an upgrade.
40
+
41
+ Issues and source live in the [clickhouse-connect repository](https://github.com/ClickHouse/clickhouse-connect) under `rust/ch-core-py`. The decoding core itself is [ch-core-rs](https://github.com/ClickHouse/ch-core-rs).
42
+
@@ -0,0 +1,23 @@
1
+ # clickhouse-connect-core
2
+
3
+ Compiled Rust codec for [clickhouse-connect](https://pypi.org/project/clickhouse-connect/). This wheel provides the `_ch_core` extension module that decodes ClickHouse `FORMAT Native` query results and encodes inserts.
4
+
5
+ This package is not meant to be used directly. Install it through the `rust` extra of the main driver:
6
+
7
+ ```bash
8
+ pip install "clickhouse-connect[rust]"
9
+ ```
10
+
11
+ Then enable the codec on a client:
12
+
13
+ ```python
14
+ import clickhouse_connect
15
+
16
+ client = clickhouse_connect.get_client(host="localhost", native_codec="rust")
17
+ ```
18
+
19
+ The codec is experimental and opt in. See the [clickhouse-connect documentation](https://clickhouse.com/docs/integrations/language-clients/python/rust-codec) for supported values, fallback rules, and version compatibility.
20
+
21
+ The `_ch_core` module has no public API contract. Its interface exists solely for the clickhouse-connect driver, which checks a binding API version at client creation and tells you when this wheel needs an upgrade.
22
+
23
+ Issues and source live in the [clickhouse-connect repository](https://github.com/ClickHouse/clickhouse-connect) under `rust/ch-core-py`. The decoding core itself is [ch-core-rs](https://github.com/ClickHouse/ch-core-rs).
@@ -0,0 +1,21 @@
1
+ [package]
2
+ name = "ch-core-py"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+ description = "PyO3 binding crate for the clickhouse-connect-core wheel"
6
+ license = "Apache-2.0"
7
+ repository = "https://github.com/ClickHouse/clickhouse-connect"
8
+ readme = "README.md"
9
+
10
+ [lib]
11
+ name = "_ch_core"
12
+ crate-type = ["cdylib"]
13
+
14
+ [dependencies]
15
+ ch-core-rs = { git = "https://github.com/ClickHouse/ch-core-rs", tag = "v0.1.1" }
16
+ # generate-import-lib synthesizes the CPython import library when
17
+ # cross-compiling to Windows targets with no local interpreter
18
+ pyo3 = { version = "0.29", features = ["extension-module", "generate-import-lib"] }
19
+
20
+ [build-dependencies]
21
+ pyo3-build-config = { version = "0.29", features = ["resolve-config"] }
@@ -0,0 +1,23 @@
1
+ # clickhouse-connect-core
2
+
3
+ Compiled Rust codec for [clickhouse-connect](https://pypi.org/project/clickhouse-connect/). This wheel provides the `_ch_core` extension module that decodes ClickHouse `FORMAT Native` query results and encodes inserts.
4
+
5
+ This package is not meant to be used directly. Install it through the `rust` extra of the main driver:
6
+
7
+ ```bash
8
+ pip install "clickhouse-connect[rust]"
9
+ ```
10
+
11
+ Then enable the codec on a client:
12
+
13
+ ```python
14
+ import clickhouse_connect
15
+
16
+ client = clickhouse_connect.get_client(host="localhost", native_codec="rust")
17
+ ```
18
+
19
+ The codec is experimental and opt in. See the [clickhouse-connect documentation](https://clickhouse.com/docs/integrations/language-clients/python/rust-codec) for supported values, fallback rules, and version compatibility.
20
+
21
+ The `_ch_core` module has no public API contract. Its interface exists solely for the clickhouse-connect driver, which checks a binding API version at client creation and tells you when this wheel needs an upgrade.
22
+
23
+ Issues and source live in the [clickhouse-connect repository](https://github.com/ClickHouse/clickhouse-connect) under `rust/ch-core-py`. The decoding core itself is [ch-core-rs](https://github.com/ClickHouse/ch-core-rs).
@@ -0,0 +1,4 @@
1
+ fn main() {
2
+ pyo3_build_config::use_pyo3_cfgs();
3
+ pyo3_build_config::add_extension_module_link_args();
4
+ }