Tical.SDK.Core
0.8.1
dotnet add package Tical.SDK.Core --version 0.8.1
NuGet\Install-Package Tical.SDK.Core -Version 0.8.1
<PackageReference Include="Tical.SDK.Core" Version="0.8.1" />
<PackageVersion Include="Tical.SDK.Core" Version="0.8.1" />
<PackageReference Include="Tical.SDK.Core" />
paket add Tical.SDK.Core --version 0.8.1
#r "nuget: Tical.SDK.Core, 0.8.1"
#:package Tical.SDK.Core@0.8.1
#addin nuget:?package=Tical.SDK.Core&version=0.8.1
#tool nuget:?package=Tical.SDK.Core&version=0.8.1
Tical.SDK.Core
The UI-free core of the Tical SDK: shared models, the exporter contract, and the sync-store abstraction.
This is everything a standalone exporter needs — it has no Avalonia dependency. If you are
writing a context plugin with its own UI, use
Tical.SDK instead, which builds on this package.
Contains:
TimeEntry,Tag— the shared entry modelsIEntryExporter+ExporterLoader— the exporter API (namespaceTical.Exporting)IEntrySyncStore/EntrySyncStore— the sync-store abstractionIContextHost,ITimerControl,IContextNotifications,IEntryRecorder— host surfacesTicalConstants
Installing
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Tical.SDK.Core" Version="0.7.3" ExcludeAssets="runtime" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.1" ExcludeAssets="runtime" />
</ItemGroup>
</Project>
ExcludeAssets="runtime" is not optional. Tical loads Tical.SDK.Core.dll from the host
application. If your exporter folder ships its own copy, the CLR loads a second set of the same
types and every cast across the boundary fails at runtime — your exporter will not load.
ExcludeAssets="runtime" is the setting that does this, not PrivateAssets="all": the latter
governs what flows on to consumers of your package, and leaves the DLL sitting in your
exporter folder.
A minimal exporter
using Tical.Exporting;
public sealed class CsvExporter : IEntryExporter
{
public string Id => "csv";
public string Name => "CSV";
public string FileExtension => "csv";
public string? IconPathData => null;
public async Task ExportAsync(ExportRequest request, CancellationToken cancellationToken = default)
{
var lines = request.Entries.Select(e =>
$"{e.StartTime:O},{e.EndTime:O},{e.Description},{e.Duration}");
await File.WriteAllLinesAsync(request.FilePath, lines, cancellationToken);
}
}
ExportRequest also carries WorkspaceNames, a Guid→name map for resolving
TimeEntry.WorkspaceId.
Build, then drop the resulting DLL into Exporters\Csv\ next to your Tical installation.
Version compatibility
The SDK version you compile against must be less than or equal to the version bundled with the Tical host your users run. The host supplies the assembly at load time, so compiling against a newer SDK than the host ships means binding against members that are not there.
Follows Semantic Versioning against the plugin ABI: a major bump means exporters built against the previous major stop loading.
Documentation
Full exporter guide and worked examples: see docs/EXPORTERS.md in the Tical repository.
Licence
Proprietary — see LICENSE-SDK.md in this package. Free to use for building and distributing
Tical exporters, including commercially; redistributing the SDK assemblies themselves is not
permitted.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- CommunityToolkit.Mvvm (>= 8.4.1)
- sqlite-net-pcl (>= 1.9.172)
- SQLitePCLRaw.bundle_green (>= 2.1.11)
- SQLitePCLRaw.lib.e_sqlite3 (>= 3.50.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Tical.SDK.Core:
| Package | Downloads |
|---|---|
|
Tical.SDK
SDK for building Tical context plugins (integrations, custom UI and settings sections). |
GitHub repositories
This package is not used by any popular GitHub repositories.