From 3dac91f5067f8c174901122485a72ad3b354407e Mon Sep 17 00:00:00 2001 From: ump45nose <52391318+ump45nose@users.noreply.github.com> Date: Thu, 22 Oct 2026 07:09:50 +0800 Subject: [PATCH 1/3] chore: Include a README in the NuGet packages --- Directory.Build.props | 2 ++ src/README.md | 61 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 src/README.md diff --git a/Directory.Build.props b/Directory.Build.props index d2b10b9..9fe27cb 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -44,6 +44,7 @@ The Apache Software Foundation logo_asf.png Apache-2.0 + README.md https://arrow.apache.org/dotnet/ apache arrow git @@ -55,6 +56,7 @@ + diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000..fb7f184 --- /dev/null +++ b/src/README.md @@ -0,0 +1,61 @@ + + +# Apache Arrow .NET + +[Apache Arrow](https://arrow.apache.org/) is a universal columnar format and +multi-language toolbox for fast data interchange and in-memory analytics. +This package is part of the .NET implementation of Apache Arrow. + +## Packages + +- `Apache.Arrow`: the core library (arrays, schemas, record batches and the + Arrow IPC stream and file formats). +- `Apache.Arrow.Compression`: LZ4 frame and Zstandard codecs for compressed + Arrow IPC data. +- `Apache.Arrow.Flight`: Arrow Flight client and server. +- `Apache.Arrow.Flight.AspNetCore`: ASP.NET Core integration for Arrow Flight servers. +- `Apache.Arrow.Flight.Sql`: Arrow Flight SQL client and server. +- `Apache.Arrow.Operations`: codecs for the Variant binary format, including a + JSON reader and writer. +- `Apache.Arrow.Scalars`: scalar types, including readers, writers and an object + model for the Parquet Variant binary format. + +## Usage + +```csharp +using System.IO; +using System.Threading.Tasks; +using Apache.Arrow; +using Apache.Arrow.Ipc; + +public static async Task ReadArrowAsync(string filename) +{ + using (var stream = File.OpenRead(filename)) + using (var reader = new ArrowFileReader(stream)) + { + return await reader.ReadNextRecordBatchAsync(); + } +} +``` + +## Links + +- Documentation: https://arrow.apache.org/dotnet/ +- Source code and issue tracker: https://github.com/apache/arrow-dotnet From 27ade26f53b7aec0eb642257d2ae4a3ad92395a7 Mon Sep 17 00:00:00 2001 From: ump45nose <52391318+ump45nose@users.noreply.github.com> Date: Thu, 22 Oct 2026 21:14:50 +0800 Subject: [PATCH 2/3] Describe the README example and read all record batches --- src/README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/README.md b/src/README.md index fb7f184..90c6526 100644 --- a/src/README.md +++ b/src/README.md @@ -39,19 +39,28 @@ This package is part of the .NET implementation of Apache Arrow. ## Usage +Example of reading all record batches from an Arrow IPC file: + ```csharp +using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Apache.Arrow; using Apache.Arrow.Ipc; -public static async Task ReadArrowAsync(string filename) +public static async Task> ReadArrowFileAsync(string filename) { + var batches = new List(); using (var stream = File.OpenRead(filename)) using (var reader = new ArrowFileReader(stream)) { - return await reader.ReadNextRecordBatchAsync(); + RecordBatch batch; + while ((batch = await reader.ReadNextRecordBatchAsync()) != null) + { + batches.Add(batch); + } } + return batches; } ``` From 0deb18b5f4ae13430ef893037e80102e4166f6af Mon Sep 17 00:00:00 2001 From: ump45nose <52391318+ump45nose@users.noreply.github.com> Date: Fri, 23 Oct 2026 09:57:11 +0800 Subject: [PATCH 3/3] fix: Ignore non-directory entries during RC package verification The package README caused the Bash verification jobs on Linux, macOS, and Windows to request a nonexistent README.md NuGet package. Iterate only source directories and preserve package names containing spaces. Validated with bash -n, whitespace checks, and eight isolated enumeration assertions covering baseline packages, README files, spaces, and no package directories. Full .NET and RC validation was not run locally. AI-assisted change. --- dev/release/verify_rc.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dev/release/verify_rc.sh b/dev/release/verify_rc.sh index e2c2294..8d0a9a7 100755 --- a/dev/release/verify_rc.sh +++ b/dev/release/verify_rc.sh @@ -172,7 +172,10 @@ test_binary_distribution() { fi pushd nuget - for package in $(cd ../src && echo *); do + for package in ../src/*/; do + [ -d "${package}" ] || continue + package="${package%/}" + package="${package##*/}" for package_type in nupkg snupkg; do fetch_artifact "${package}.${VERSION}.${package_type}" done