Meridian.Engine 0.1.0-preview.7

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

Meridian

Embeddable, time-correct reporting for .NET systems that already own their data: define metrics once, point Meridian at your store, and get chart-ready series back — bucketed in the right time zone, cached, invalidated on write, as chart-agnostic JSON.

This package is one part of Meridian. Most applications start with:

dotnet add package Meridian.Engine --prerelease
dotnet add package Meridian.Sources.DuckDb --prerelease   # or .PostgreSql, .SqlServer, .MySql, .ClickHouse, or your own IPointSource
dotnet add package Meridian.Views.Json --prerelease

Quick start

var athlete = new DimensionId("athlete");
var trainingLoad = new MetricId("training-load");

var catalog = new InMemoryMetricCatalog(
[
    new MetricDefinition(trainingLoad, "Training load", new Unit("au"), "mean", [athlete], TimeGrain.Instant),
]);

var source = new DuckDbPointSource(
    new DuckDbSourceOptions("Data Source=:memory:", Relation: "read_parquet('data/load/*.parquet')"),
    athlete);

var meridian = MeridianRuntime.InMemory(catalog, source);

var chart = await meridian.Engine.RunAsync(
    PipelineSpec.Create(
        tenant: "my-club",
        metric: trainingLoad,
        entities: [new EntityRef(athlete, 7), new EntityRef(athlete, 9)],
        timeframe: new DateInterval(Instant.FromUtc(new DateTime(2026, 1, 1)), Instant.FromUtc(new DateTime(2026, 7, 1))),
        view: new ViewSpec(ChartKind.Line, AxisSource.Time, SeriesBy: athlete),
        Transform.Resample(Period.Week, Aggregators.Mean, GapPolicy.LeaveMissing)),
    ProjectionOptions.Default with { Calendar = CalendarContext.For("Europe/London") });

Console.WriteLine(ChartViewJson.Serialize(chart));

Highlights

  • Time done right — readings bucketed in the report's time zone (DST included); calendar dates never shift; legacy wall-clock columns read with explicit DST rules.
  • Fast on your existing data — bucketing pushed down into the database when exact; multiple metrics in one query, from long (row per value) or wide (column per metric) tables; repeats from cache in microseconds.
  • Safe caching — per-entity slices, finished-view caching, write-driven invalidation with versioned keys.
  • Chart-agnostic output — plain JSON series and axes for any charting library, API or agent.

Documentation, benchmarks and the roadmap: https://github.com/gyandal/meridian

Product Compatible and additional computed target framework versions.
.NET 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 Meridian.Engine:

Package Downloads
Meridian.Hosts.Mcp

An agent tool surface for Meridian: describe the metric catalog and run bounded, typed report queries.

Meridian.Sources.DuckDb

Meridian IPointSource over DuckDB — query DuckDB tables or Parquet files directly, with time-bucket aggregation pushed down into SQL.

Meridian.Sources.Sql

The shared SQL engine behind Meridian's database sources: long and wide layouts, dimensions, batched multi-metric queries, exact time handling and calendar-bucket pushdown, over any ADO.NET provider through a small SQL dialect.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.7 93 9/30/2026
0.1.0-preview.6 84 9/29/2026
0.1.0-preview.5 77 9/29/2026
0.1.0-preview.4 69 9/29/2026
0.1.0-preview.3 73 9/25/2026
0.1.0-preview.2 79 9/25/2026
0.1.0-preview.1 73 9/24/2026