Setting the file. One moment. Verify Install · Chdb Datastore · ClickHouse/agent-skills · Skills Docsscripts/verify_install.py
Python·101 lines·3 KB
,
""
))
15 print(f" [{PASS}] {name}")
16 except Exception as e:
17 results.append((name, FAIL, str(e)))
18 print(f" [{FAIL}] {name}: {e}")
19
20
21def check_python_version():
22 assert sys.version_info >= (3, 9), f"Python 3.9+ required, got {sys.version}"
23
24
25def check_chdb_import():
26 import chdb
27 assert hasattr(chdb, "__version__"), "chdb imported but missing __version__"
28 print(f" chdb version: {chdb.__version__}")
29
30
31def check_datastore_import_from_datastore():
32 from datastore import DataStore
33 assert DataStore is not None
34
35
36def check_datastore_import_from_chdb():
37 from chdb.datastore import DataStore
38 assert DataStore is not None
39
40
41def check_datastore_as_pd():
42 import chdb.datastore as pd
43 assert hasattr(pd, "DataStore")
44
45
46def check_basic_operations():
47 from datastore import DataStore
48
49 ds = DataStore({"name": ["Alice", "Bob", "Carol"], "age": [25, 30, 35]})
50 filtered = ds[ds["age"] > 25]
51 assert len(filtered) == 2, f"Expected 2 rows, got {len(filtered)}"
52
53
54def check_sort():
55 from datastore import DataStore
56
57 ds = DataStore({"name": ["Charlie", "Alice", "Bob"], "value": [3, 1, 2]})
58 sorted_ds = ds.sort_values("value")
59 cols = sorted_ds.columns
60 assert "name" in cols and "value" in cols, f"Missing expected columns: {cols}"
61 assert list(sorted_ds["value"]) == [1, 2, 3], f"Expected sorted values [1, 2, 3], got {list(sorted_ds['value'])}"
62
63
64def check_groupby():
65 from datastore import DataStore
66
67 ds = DataStore({
68 "dept": ["Eng", "Sales", "Eng", "Sales"],
69 "salary": [100, 80, 120, 90],
70 })
71 result = ds.groupby("dept")["salary"].mean()
72 assert len(result) == 2, f"Expected 2 groups, got {len(result)}"
73
74
75if __name__ == "__main__":
76 print("chdb DataStore Installation Verification")
77 print("=" * 45)
78
79 check("Python version >= 3.9", check_python_version)
80 check("import chdb", check_chdb_import)
81 check("from datastore import DataStore", check_datastore_import_from_datastore)
82 check("from chdb.datastore import DataStore", check_datastore_import_from_chdb)
83 check("import chdb.datastore as pd", check_datastore_as_pd)
84 check("Basic filter operation", check_basic_operations)
85 check("Sort operation", check_sort)
86 check("GroupBy aggregation", check_groupby)
87
88 print()
89 print("=" * 45)
90 passed = sum(1 for _, s, _ in results if s == PASS)
91 total = len(results)
92 print(f"Results: {passed}/{total} passed")
93
94 if passed < total:
95 print("\nFailed checks:")
96 for name, status, err in results:
97 if status == FAIL:
98 print(f" - {name}: {err}")
99 sys.exit(1)
100 else:
101 print("All checks passed!")