LibSql.Http.Client 0.0.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package LibSql.Http.Client --version 0.0.6
                    
NuGet\Install-Package LibSql.Http.Client -Version 0.0.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LibSql.Http.Client" Version="0.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LibSql.Http.Client" Version="0.0.6" />
                    
Directory.Packages.props
<PackageReference Include="LibSql.Http.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LibSql.Http.Client --version 0.0.6
                    
#r "nuget: LibSql.Http.Client, 0.0.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=LibSql.Http.Client&version=0.0.6
                    
Install LibSql.Http.Client as a Cake Addin
#tool nuget:?package=LibSql.Http.Client&version=0.0.6
                    
Install LibSql.Http.Client as a Cake Tool

LibSql.Http.Client

An alternative libSQL .NET client, supporting HTTP protocol, fully trimmable and AOT compatible.

This is not an official libSQL client

Continuous Integration NuGet NuGet

About

This client is a .NET implementation of HRANA protocol, intented to communicate with libSQL server.

This lib is inspired by libsql-stateless-easy.

Requirements

  • .NET 8 (6 and 7 are supported as well)

Installation

Install Nuget package:

dotnet add package LibSql.Http.Client

Usage

The instance of the client expect an instance of HttpClient.

The most performant way is use a singleton instance of HttpClient.

Check the offical .NET HTTP client guidelines for more information.

var handler = new SocketsHttpHandler
{
    PooledConnectionLifetime = TimeSpan.FromMinutes(15) // Recreate every 15 minutes
};
var sharedClient = new HttpClient(handler);
var libSqlClient = new LibSqlHttpClient(sharedClient, new Uri("http://localhost:8080"));

Check the Docs for more

Features

  • ✅ Single and batch commands
  • ✅ Transactions (*)
  • ✅ Positional args
  • ✅ Named args via Dictionary
  • ✅ Micro ORM like queries and results with minimum overhead
  • ❌ Interactive transactions not supported (transactions are done in a single request)

* Transactions are possible per statement(s) only. So distributed transaction is not possible (yet)!

Demo App

 dotnet run --project src/LibSql.Http.Client.DemoConsoleApp/LibSql.Http.Client.DemoConsoleApp.csproj

Check the code.

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 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.7 180 7/30/2024
0.0.6 117 7/14/2024
0.0.5 101 7/14/2024
0.0.4 105 7/14/2024
0.0.4-alpha.0.3 81 7/12/2024
0.0.4-alpha.0.2 66 7/12/2024
0.0.4-alpha.0.1 60 7/12/2024
0.0.3 124 7/11/2024
0.0.2 105 7/10/2024
0.0.0-alpha.0 60 7/10/2024