C# and NuGet
Use YetAnotherAI.Takanawa for desktop .NET applications, Unity, Godot C# projects, and .NET Android or iOS applications. The package exposes a netstandard2.0 managed API and ships native assets built from the Rust FFI library.
Install
Add the NuGet package:
<PackageReference Include="YetAnotherAI.Takanawa" Version="0.8.3" />Unity and Godot projects can install the package through their NuGet workflow or copy the package into their normal managed dependency pipeline.
Usage
using YetAnotherAI.Takanawa;
Takanawa.Init(maxIo: 4);
using var download = TakanawaDownload.Create(new DownloadConfig(
url: "https://example.com/file.zip",
targetPath: "/tmp/file.zip",
parallelism: 4,
hashKind: HashKind.Sha256,
expectedHash: expectedSha256Bytes));
download.SetProgressCallback(snapshot =>
{
Console.WriteLine($"{snapshot.Phase}: {snapshot.DownloadedBytes}/{snapshot.ContentLen}");
});
download.SetSpeedCallback(snapshot =>
{
Console.WriteLine($"{snapshot.BytesPerSecond} B/s");
});
download.Start();Dispose each TakanawaDownload when it is no longer needed. Call Takanawa.Shutdown() when the process or app domain is done using Takanawa.
Native Assets
The NuGet package includes 64-bit native runtime assets for Windows, macOS, Linux, and Android. Apple mobile builds consume the packaged Takanawa.xcframework through the package's transitive MSBuild target.
Local Development
Run the C# binding checks:
mise run test:csharpPack and verify the NuGet package after staging release native artifacts:
mise run pack:csharp