ChalkQL.Sources
0.1.0
dotnet add package ChalkQL.Sources --version 0.1.0
NuGet\Install-Package ChalkQL.Sources -Version 0.1.0
<PackageReference Include="ChalkQL.Sources" Version="0.1.0" />
<PackageVersion Include="ChalkQL.Sources" Version="0.1.0" />
<PackageReference Include="ChalkQL.Sources" />
paket add ChalkQL.Sources --version 0.1.0
#r "nuget: ChalkQL.Sources, 0.1.0"
#:package ChalkQL.Sources@0.1.0
#addin nuget:?package=ChalkQL.Sources&version=0.1.0
#tool nuget:?package=ChalkQL.Sources&version=0.1.0
ChalkQL.Sources
Standard data-source implementations for ChalkQL, the federated SQL query engine for .NET powered by Apache Calcite.
Targets .NET 10.
dotnet add package ChalkQL.Sources
ChalkQL.Sources depends on ChalkQL, so a separate reference to the core package is not required.
Included source implementations:
| Source | |
|---|---|
Chalk.Sources.Poco |
application-owned POCO collections exposed as relational tables |
Chalk.Sources.Ado |
ADO.NET sources with capability-aware SQL pushdown |
Chalk.Sources.DuckDb |
DuckDB integration with native data-chunk reading |
Chalk.Sources.Conformance |
verifies a source's declared capabilities against the source itself |
POCO sources
Application-owned collections can be exposed directly without copying their rows into another store.
Tables may declare keys, collations, statistics and indexes so the planner can make use of structure the application already knows about.
var source = new PocoSourceBuilder("mem")
.AddTable("rates", rows, t => t
.OrderedBy(r => r.Ts)
.ThenBy(r => r.Currency)
.UniqueKey(r => r.Ts, r => r.Currency))
.Build();
Remote SQL sources
ADO.NET and DuckDB sources declare which relational operations they can evaluate. ChalkQL pushes supported work to the source and executes the remainder inside the .NET host.
Queries may span several sources at once, including joins between remote databases and application-owned tables.
Custom sources
Chalk.Sources.Abstractions is distributed with the core ChalkQL package. Implement ISourceRuntime when the built-in sources are not appropriate.
Things that will bite you
Not all ADO.NET providers support zero-allocation reads. Whether ChalkQL can avoid intermediate allocations depends on the provider and the data-access path it exposes.
Documentation
See the ChalkQL guide for source configuration and extension points, and the tutorial for worked federation examples.
The full project source and documentation are in the ChalkQL repository.
Licence
ChalkQL.Sources is licensed under the Apache License 2.0.
| Product | Versions 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. |
-
net10.0
- Apache.Arrow (>= 23.0.0)
- ChalkQL (= 0.1.0)
- DuckDB.NET.Data (>= 1.5.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 50 | 9/18/2026 |
Initial public release of ChalkQL.