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
                    
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="Tical.SDK.Core" Version="0.8.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tical.SDK.Core" Version="0.8.1" />
                    
Directory.Packages.props
<PackageReference Include="Tical.SDK.Core" />
                    
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 Tical.SDK.Core --version 0.8.1
                    
#r "nuget: Tical.SDK.Core, 0.8.1"
                    
#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.
#:package Tical.SDK.Core@0.8.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tical.SDK.Core&version=0.8.1
                    
Install as a Cake Addin
#tool nuget:?package=Tical.SDK.Core&version=0.8.1
                    
Install as a Cake Tool

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 models
  • IEntryExporter + ExporterLoader — the exporter API (namespace Tical.Exporting)
  • IEntrySyncStore / EntrySyncStore — the sync-store abstraction
  • IContextHost, ITimerControl, IContextNotifications, IEntryRecorder — host surfaces
  • TicalConstants

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.

Version Downloads Last Updated
0.8.1 112 9/5/2026
0.8.0 107 9/4/2026
0.7.3 139 8/28/2026
0.7.2 217 8/15/2026
0.7.1 133 8/4/2026
0.6.3 103 8/4/2026