Pure.Chart.Model.Abstractions 0.1.0-preview.2.0.0

This is a prerelease version of Pure.Chart.Model.Abstractions.
dotnet add package Pure.Chart.Model.Abstractions --version 0.1.0-preview.2.0.0
                    
NuGet\Install-Package Pure.Chart.Model.Abstractions -Version 0.1.0-preview.2.0.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="Pure.Chart.Model.Abstractions" Version="0.1.0-preview.2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Pure.Chart.Model.Abstractions" Version="0.1.0-preview.2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Pure.Chart.Model.Abstractions" />
                    
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 Pure.Chart.Model.Abstractions --version 0.1.0-preview.2.0.0
                    
#r "nuget: Pure.Chart.Model.Abstractions, 0.1.0-preview.2.0.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 Pure.Chart.Model.Abstractions@0.1.0-preview.2.0.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=Pure.Chart.Model.Abstractions&version=0.1.0-preview.2.0.0&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Pure.Chart.Model.Abstractions&version=0.1.0-preview.2.0.0&prerelease
                    
Install as a Cake Tool

Pure.Chart.Model.Abstractions

Chart model interfaces for the Pure ecosystem — immutable, composable abstractions over chart data structures.

.NET build & test Build and Deploy NuGet License: MIT

Overview

Pure.Chart.Model.Abstractions defines a set of minimal, read-only interfaces that represent the structural components of a chart. Each interface exposes only getters — no mutation, no side effects. All string properties are typed as IString from Pure.Primitives.Abstractions, keeping the model decoupled from concrete string representations.

Interfaces

Interface Namespace Description
IChart Pure.Chart.Model.Abstractions Root chart model — title, description, type, axes, and series
IChartType Pure.Chart.Model.Abstractions Named category of chart (e.g. bar, line, pie)
IChartSeries Pure.Chart.Model.Abstractions A single data series — legend label, axis source bindings, and line type
IAxis Pure.Chart.Model.Abstractions A chart axis with a legend label

Design Principles

  • Immutable — all interfaces expose only get properties; no setters, no methods that mutate state.
  • Composable — IChart is built from IChartType, IAxis, and IEnumerable<IChartSeries>; complex structure is expressed through composition.
  • Primitive-typed — string properties use IString from Pure.Primitives.Abstractions, not System.String, keeping the model framework-agnostic.
  • AOT-compatible — the library is fully compatible with Native AOT compilation.

Dependencies

Target Frameworks

  • .NET 7
  • .NET 8
  • .NET 9
  • .NET 10

Installation

dotnet add package Pure.Chart.Model.Abstractions

Usage

Implement the interfaces to model a chart in your domain:

using Pure.Chart.Model.Abstractions;
using Pure.Primitives.Abstractions.String;

public sealed class BarChartType : IChartType
{
    public IString Name { get; } = new StringValue("Bar");
}

public sealed class SalesChart : IChart
{
    public IString Title { get; } = new StringValue("Monthly Sales");
    public IString Description { get; } = new StringValue("Sales figures by month");
    public IChartType Type { get; } = new BarChartType();
    public IAxis XAxis { get; } = new MonthAxis();
    public IAxis YAxis { get; } = new RevenueAxis();
    public IEnumerable<IChartSeries> Series { get; } = [new SalesSeries()];
}
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  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 is compatible.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Pure.Chart.Model.Abstractions:

Package Downloads
Pure.Chart.RichRelationalModel.Abstractions

Package Description

Pure.Chart.Model.HashCodes

Package Description

Pure.Chart.Model

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.2.0.0 249 10/23/2026
0.1.0-preview.1.0.0 3,040 4/19/2026
0.1.0-preview.0.1.0 1,044 2/7/2026