chdb-tool
0.0.3.69
dotnet tool install --global chdb-tool --version 0.0.3.69
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local chdb-tool --version 0.0.3.69
#tool dotnet:?package=chdb-tool&version=0.0.3.69
nuke :add-package chdb-tool --version 0.0.3.69
chdb
A .NET Core binding for chdb library.
Usage
Running on platforms: linux, osx, windows, and architectures: x64, arm64.
Note for windows users - there is no windows bild in sight, but you can still use it in WSL.
Currently the librairy is too large to be packed into a nuget package, so you need to install it manually. Use the update_libchdb.sh script to download the library for your platform and architecture.
# download the latest version of the library - it takes a version as an optional argument
./update_libchdb.sh
# install the package to your project
dotnet add package chdb
Also place the library in appropriate folder, and add following to your csproj file:
<ItemGroup>
<None Update="libchdb.so">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
Then you can use it in your code like this:
using ChDb;
var result = ChDb.Query("select version()");
Console.WriteLine(result.Text);
// 23.10.1.1
var s = new Session();
var result = s.Query("select * from system.formats where is_output = 1", "PrettyCompact");
// ┌─name───────────────────────────────────────┬─is_input─┬─is_output─┬─supports_parallel_parsing─┬─supports_parallel_formatting─┐
// │ Prometheus │ 0 │ 1 │ 0 │ 0 │
// │ PostgreSQLWire │ 0 │ 1 │ 0 │ 0 │
// │ MySQLWire │ 0 │ 1 │ 0 │ 0 │
// │ JSONEachRowWithProgress │ 0 │ 1 │ 0 │ 0 │
// │ ODBCDriver2 │ 0 │ 1 │ 0 │ 0 │
// ...
var result = s.Query("DESCRIBE s3('https://datasets-documentation.s3.eu-west-3.amazonaws.com/house_parquet/house_0.parquet')");
Console.WriteLine(result.Text);
or use it right in F# interactive with dotnet fsi
:
#r "nuget: chdb"
open ChDb
// print out result in the PrettyCompact format by default
let result = ChDb.Query "select version()"
printfn "%s" result.Text
// or save result to a text or binary file in any supported format
let result = ChDb.Query("select * from system.formats where is_output = 1", "CSVWithNames")
System.IO.File.WriteAllBytes("supported_formats.csv", result.Buf)
chdb-tool
This is a dotnet tool, running chdb library.
Probably you better served using the clickhouse client and run clickhouse local
, but maybe it is more useful in some cases.
Installation
Requires .NET SDK 6.0 or later.
dotnet tool install --global chdb-tool
OS supported: linux, osx ARCH supported: x64, arm64
Usage
Try any of this commands lines to see which output you get.
chdb
chdb --version
chdb --help
chdb "select version()"
chdb "select * from system.formats where is_output = 1" PrettyCompact
Build
./update_libchdb.sh [v1.2.1]
cp libchdb.so src/chdb/
dotnet build -c Release
dotnet test -c Release
dotnet pack -c Release
dotnet nuget add source ./nupkg --name chdb
dotnet tool update -g chdb-tool
chdb --version
Authors
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.