![]() |
VOOZH | about |
dotnet add package KustoLoco.Core --version 1.4.6
NuGet\Install-Package KustoLoco.Core -Version 1.4.6
<PackageReference Include="KustoLoco.Core" Version="1.4.6" />
<PackageVersion Include="KustoLoco.Core" Version="1.4.6" />Directory.Packages.props
<PackageReference Include="KustoLoco.Core" />Project file
paket add KustoLoco.Core --version 1.4.6
#r "nuget: KustoLoco.Core, 1.4.6"
#:package KustoLoco.Core@1.4.6
#addin nuget:?package=KustoLoco.Core&version=1.4.6Install as a Cake Addin
#tool nuget:?package=KustoLoco.Core&version=1.4.6Install as a Cake Tool
If you are using this project please give it a ⭐ to show your appreciation - thanks!
Feel free to drop over the Kusto-Loco discord server if you have questions or feedback.
Kusto-Loco is a set of libraries and applications based around the Kusto Query Language (KQL). KQL is normally used against data held in Azure Data Explorer but Kusto-Loco allows you to query in-memory data held in your own applications.
For a super-quick introduction to KQL see this wiki page but to give you a flavour here's a simple query that calculates the average rating of all PCs in a product table and renders the results as a chart.
products
| where Category=='PC'
| join reviews on ProductId
| summarize Rating=avg(Score) by ProductId,ProductName
| order by Rating
| project ProductName, Rating
| render columnchart
Kusto-Loco makes it easy to load data from CSV, JSON or Parquet files or from sets of POCOs held in memory. Query results can be serialised back to files or objects or rendered to HTML charts using the Vega-Lite charting library.
Loading data, running a query and rendering the results to a chart can be done in a few lines of code after referencing the appropriate Nuget Packages.
var context = new KustoQueryContext()
.CopyDataIntoTable("products", productRows); // load data from a set of POCOs
var result = await context.RunQuery("products | summarize count() by Category | render piechart");
var datatable = result.ToDataTable(); // create a datatable to dump into a datagrid
webview.NavigateToString(KustoResultRenderer.RenderToHtml(result)); //render chart
If you just want to get started playing around with KQL on your own file-based data you can use the supplied LokqlDX cross-platform application. <img width="1604" height="974" alt="image" src="https://github.com/user-attachments/assets/af0e7112-8355-4d6a-a333-aa35cc0ff86e" />
Kusto-Loco even comes with a Powershell module that allows you use KQL queries in a Powershell pipeline.
The project is still in active development and APIs may change. However, the core engine is stable and and is actively used in a production environment. Some KQL operators and functions are not yet implemented.
KustoLoco is a fork of the BabyKusto engine created by DavidNx,Vicky Li and David Nissimoff who appear to have developed the core engine as part of a Microsoft Hackathon.
Since then the engine has been heavily extended and optimised by NeilMacMullen with additional help from an amazing bunch of contributors.
The project leans heavily on a number of open source libraries including:
Contributors are always welcome, even if it's 'just' to improve the documentaion ! If you'd like to help with the project please see the Contributing page.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 4 NuGet packages that depend on KustoLoco.Core:
| Package | Downloads |
|---|---|
|
KustoLoco.Rendering
Chart rendering for KustoLoco |
|
|
KustoLoco.FileFormats
Support for KQL querying of common file-formats |
|
|
KustoLoco.Rendering.ScottPlot
ScottPlot Chart rendering for KustoLoco |
|
|
KustoLoco.PluginSupport
Plugin support for the Lokql engine and LokqlDx application |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.4.6 | 354 | 6/8/2026 |
| 1.4.5 | 516 | 5/28/2026 |
| 1.4.4 | 744 | 4/25/2026 |
| 1.4.2 | 3,435 | 1/17/2026 |
| 1.4.1 | 1,265 | 11/24/2025 |
| 1.4.0 | 574 | 11/16/2025 |
| 1.3.9 | 1,361 | 10/5/2025 |
| 1.3.8 | 629 | 9/21/2025 |
| 1.3.7 | 490 | 9/10/2025 |
| 1.3.5 | 553 | 8/31/2025 |
| 1.3.4 | 457 | 8/20/2025 |
| 1.3.3 | 414 | 8/17/2025 |
| 1.3.2 | 293 | 8/13/2025 |
| 1.3.1 | 333 | 8/11/2025 |
| 1.3.0 | 244 | 8/10/2025 |
| 1.2.8 | 371 | 7/27/2025 |
| 1.2.7 | 511 | 7/19/2025 |
| 1.2.6 | 613 | 7/6/2025 |
| 1.2.5 | 777 | 6/9/2025 |
| 1.2.4 | 600 | 5/25/2025 |