Xapi.Core
0.2.0
dotnet add package Xapi.Core --version 0.2.0
NuGet\Install-Package Xapi.Core -Version 0.2.0
<PackageReference Include="Xapi.Core" Version="0.2.0" />
<PackageVersion Include="Xapi.Core" Version="0.2.0" />
<PackageReference Include="Xapi.Core" />
paket add Xapi.Core --version 0.2.0
#r "nuget: Xapi.Core, 0.2.0"
#:package Xapi.Core@0.2.0
#addin nuget:?package=Xapi.Core&version=0.2.0
#tool nuget:?package=Xapi.Core&version=0.2.0
Xapi.Core
Experience API (xAPI 2.0, IEEE 9274.1.1, and 1.0.3) models for .NET: the statement model, strict JSON reading
and writing for both versions, validation, and statement comparison. JSON is read and written without
reflection. Xapi.Client and Xapi.Lrs build on this package; use it on its own to read, check or write xAPI
JSON.
dotnet add package Xapi.Core
Usage
With using Xapi;, using Xapi.Json; and using Xapi.Validation;:
var parsed = XapiJson.ParseStatement(json, XapiVersion.V2_0_0);
if (!parsed.IsSuccess)
{
foreach (var error in parsed.Errors)
{
Console.WriteLine(error); // "<JSON path>: <message> (<error code>)"
}
return;
}
var statement = parsed.Value with { Timestamp = DateTimeOffset.UtcNow };
var errors = StatementValidator.Validate(statement, XapiVersion.V1_0_3);
Console.WriteLine(errors.Count == 0
? XapiJson.SerializeStatement(statement, XapiVersion.V1_0_3)
: "Not valid as xAPI 1.0.3: " + string.Join("; ", errors));
Target frameworks
netstandard2.0 (.NET Framework 4.6.2 and later) and net10.0. The net10.0 build can be trimmed and
published with Native AOT.
Links
- Documentation
- xAPI versions: what differs between 1.0.3 and 2.0.0
- API reference
- Source, issues and changelog
License
Apache License 2.0. The package contains the LICENSE, NOTICE and THIRD-PARTY-NOTICES.md files.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.0)
- System.Text.Json (>= 10.0.0)
-
net10.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Xapi.Core:
| Package | Downloads |
|---|---|
|
Xapi.Lrs
An embeddable xAPI Learning Record Store (xAPI 2.0, IEEE 9274.1.1, and 1.0.3) for ASP.NET Core: minimal API endpoints, version negotiation, Basic or delegated authentication, and EF Core storage. Add Xapi.Lrs.Sqlite or Xapi.Lrs.PostgreSql for a database. |
|
|
Xapi.Client
Experience API (xAPI 2.0, IEEE 9274.1.1, and 1.0.3) client for .NET: Statements with attachments, State and profile documents with ETag preconditions, Agents, Activities and About over HttpClient, with version negotiation. Works on .NET Framework, Unity and modern .NET. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0 | 46 | 10/17/2026 |
| 0.1.0-preview.1 | 47 | 10/17/2026 |