| tag | b81715a1c4798dd5df2e4dac99e2fe4aa233a489 | |
|---|---|---|
| tagger | Curt Hagenlocher <curt@hagenlocher.org> | Mon Oct 13 18:42:46 2025 -0700 | 
| object | fcc16d879fe3618b2a6806851922c51beb1a3fd2 | 
22.1.0 RC1
| commit | fcc16d879fe3618b2a6806851922c51beb1a3fd2 | [log] [tgz] | 
|---|---|---|
| author | Sutou Kouhei <kou@clear-code.com> | Tue Oct 14 10:42:24 2025 +0900 | 
| committer | GitHub <noreply@github.com> | Mon Oct 13 18:42:24 2025 -0700 | 
| tree | 1f129d70f158292cf4eaeafe05457fe8f15b6948 | |
| parent | 621e347e06d772e44d458898bf7443971139d0c6 [diff] | 
chore: Fix version detection (#127) ## What's Changed We should use `<VersionPrefix>` not `<Version>` because GH-114 changed the tag. Closes #126.
An implementation of Arrow targeting .NET Standard.
See our current feature matrix for currently available features.
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
using Apache.Arrow;
using Apache.Arrow.Ipc;
public static async Task<RecordBatch> ReadArrowAsync(string filename)
{
    using (var stream = File.OpenRead(filename))
    using (var reader = new ArrowFileReader(stream))
    {
        var recordBatch = await reader.ReadNextRecordBatchAsync();
        Debug.WriteLine("Read record batch with {0} column(s)", recordBatch.ColumnCount);
        return recordBatch;
    }
}
Apache.Arrow.Compression package. When reading compressed data, you must pass an Apache.Arrow.Compression.CompressionCodecFactory instance to the ArrowFileReader or ArrowStreamReader constructor, and when writing compressed data a CompressionCodecFactory must be set in the IpcOptions. Alternatively, a custom implementation of ICompressionCodecFactory can be used.Install the latest .NET Core SDK from https://dotnet.microsoft.com/download.
dotnet build
To build the NuGet package run the following command to build a debug flavor, preview package into the artifacts folder.
dotnet pack
When building the officially released version run: (see Note below about current git repository)
dotnet pack -c Release
Which will build the final/stable package.
NOTE: When building the officially released version, ensure that your git repository has the origin remote set to https://github.com/apache/arrow.git, which will ensure Source Link is set correctly. See https://github.com/dotnet/sourcelink/blob/main/docs/README.md for more information.
There are two output artifacts:
Apache.Arrow.<version>.nupkg - this contains the executable assembliesApache.Arrow.<version>.snupkg - this contains the debug symbols filesBoth of these artifacts can then be uploaded to https://www.nuget.org/packages/manage/upload.
Build from the Apache Arrow project root.
docker build -f csharp/build/docker/Dockerfile .
dotnet test
All build artifacts are placed in the artifacts folder in the project root.
This project follows the coding style specified in Coding Style.
See https://google.github.io/flatbuffers/flatbuffers_guide_use_java_c-sharp.html for how to get the flatc executable.
Run flatc --csharp on each .fbs file in the format folder. And replace the checked in .cs files under FlatBuf with the generated files.
Update the non-generated FlatBuffers .cs files with the files from the google/flatbuffers repo.