diff --git a/Directory.Build.props b/Directory.Build.props index d2b10b99..9fe27cbe 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/dev/release/verify_rc.sh b/dev/release/verify_rc.sh index e2c22941..8d0a9a76 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 diff --git a/src/README.md b/src/README.md new file mode 100644 index 00000000..90c65261 --- /dev/null +++ b/src/README.md @@ -0,0 +1,70 @@ + + +# 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 + +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> ReadArrowFileAsync(string filename) +{ + var batches = new List(); + using (var stream = File.OpenRead(filename)) + using (var reader = new ArrowFileReader(stream)) + { + RecordBatch batch; + while ((batch = await reader.ReadNextRecordBatchAsync()) != null) + { + batches.Add(batch); + } + } + return batches; +} +``` + +## Links + +- Documentation: https://arrow.apache.org/dotnet/ +- Source code and issue tracker: https://github.com/apache/arrow-dotnet