SabrTrader.Pipeline.AddOns.Contracts 0.17.0

dotnet add package SabrTrader.Pipeline.AddOns.Contracts --version 0.17.0
                    
NuGet\Install-Package SabrTrader.Pipeline.AddOns.Contracts -Version 0.17.0
                    
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="SabrTrader.Pipeline.AddOns.Contracts" Version="0.17.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SabrTrader.Pipeline.AddOns.Contracts" Version="0.17.0" />
                    
Directory.Packages.props
<PackageReference Include="SabrTrader.Pipeline.AddOns.Contracts" />
                    
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 SabrTrader.Pipeline.AddOns.Contracts --version 0.17.0
                    
#r "nuget: SabrTrader.Pipeline.AddOns.Contracts, 0.17.0"
                    
#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 SabrTrader.Pipeline.AddOns.Contracts@0.17.0
                    
#: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=SabrTrader.Pipeline.AddOns.Contracts&version=0.17.0
                    
Install as a Cake Addin
#tool nuget:?package=SabrTrader.Pipeline.AddOns.Contracts&version=0.17.0
                    
Install as a Cake Tool

SabrTrader.Pipeline.AddOns.Contracts

The add-on seam for SabrTrader.

An add-on is a DLL that adds its own windows and Control Center menu entries to the platform, the platform-level counterpart of an indicator, which lives on a chart. Drop the DLL in Documents\SabrTrader\Plugins and the host discovers it, lists it and runs it. No host changes, no recompile, no restart.

public sealed class VolumeScannerAddOn : IAddOn
{
    public AddOnManifest Manifest { get; } =
        new("acme.volume-scanner", "Volume Scanner", "Acme", "1.0.0");

    public AddOnContributions Initialize(IAddOnHost host) => new(
        windows: new[]
        {
            new AddOnWindowKind("main", () => new ScannerWindow(host))
            {
                MenuTitle   = "Volume Scanner",
                MenuSection = AddOnMenuSection.New,
            },
        });
}

What you get

IAddOn The one export. Discovered by reflection; Initialize hands you the host.
AddOnWindowKind A window the host can open: from the menu, from your own code, or on workspace restore.
IAddOnWindow One open window: a caption plus an AddOnView.
AddOnView The window body, declared from the same panel elements a chart-trader tab uses.
IAddOnWindowState<T> Opt in and the window comes back with the workspace, state and all.
IAddOnHost Accounts and orders (ITradingService), historical bars (IHistoricalDataService), live ticks (ITickSource), instruments, a private settings store and the activity log.

Why the view is declared, not drawn

An add-on never references WPF or Avalonia. It declares its window body from the panel-element vocabulary (ChartPanelButton, ChartPanelLabel, ChartPanelNumber, ChartPanelRow and the rest) and the host renders it in the user's theme on the platform's own window chrome.

That is what makes one add-on run unchanged in both of the platform's hosts, keeps your code off the UI thread, and means a slow add-on cannot wedge the Control Center's render loop. Element callbacks arrive on the window's thread; writes to elements are safe from any thread and are coalesced by the host, so a background worker updates a live readout with no dispatcher of its own.

Install SabrTrader.Sdk, which bundles this package with the rest of the contract surface. Developer guide: https://www.sabrtrader.com/pages/sdk-addons

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 SabrTrader.Pipeline.AddOns.Contracts:

Package Downloads
SabrTrader.Sdk

The one package to install for building SabrTrader plugins: indicators, strategies, drawing tools, bar types, Market Analyzer columns, add-ons and venue plugins. It bundles the contract assemblies you compile against, and SabrTrader provides the implementations when it loads your plugin.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.17.0 87 9/29/2026
0.15.0 100 9/24/2026
0.12.0 92 9/21/2026
0.11.0 142 9/5/2026