LibSql.Http.Client
0.0.6
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
<PackageReference Include="LibSql.Http.Client" Version="0.0.6" />
<PackageVersion Include="LibSql.Http.Client" Version="0.0.6" />
<PackageReference Include="LibSql.Http.Client" />
paket add LibSql.Http.Client --version 0.0.6
#r "nuget: LibSql.Http.Client, 0.0.6"
#addin nuget:?package=LibSql.Http.Client&version=0.0.6
#tool nuget:?package=LibSql.Http.Client&version=0.0.6
LibSql.Http.Client
An alternative libSQL .NET client, supporting HTTP protocol, fully trimmable and AOT compatible.
This is not an official libSQL client
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 | 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 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. |
-
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 |