chdb-tool 0.0.3.69

dotnet tool install --global chdb-tool --version 0.0.3.69
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local chdb-tool --version 0.0.3.69
This package contains a .NET tool you can call from the shell/command line.
#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.

GitHub License example workflow NuGet Version NuGet Downloads

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

NuGet Version NuGet Downloads

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.0.3.69 179 2/18/2024
0.0.2.66 166 2/10/2024