Open
Conversation
Adds Apache.Arrow.Serialization with a Roslyn incremental source generator that emits compile-time Arrow schema derivation, serialization, and deserialization for types marked with [ArrowSerializable]. - Runtime library (Apache.Arrow.Serialization): attributes, helpers, IPC extension methods, reflection-based RecordBatchBuilder - Source generator (Apache.Arrow.Serialization.Generator): code emission for 31+ type mappings, polymorphism, custom converters, callbacks - Test suite: 197 tests covering all supported types and features - Integrated into solution, central package management, Apache 2.0 headers Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Align with upstream CI which uses .NET 8.0 SDK. All 197 tests pass. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove src/test solution folders from sln so serialization projects appear at root level like all other projects. Change serialization library target from net8.0;net10.0 to net8.0 for CI compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #186.
I needed Arrow POCO serialization for an internal cross-language interop project (C# ↔ vgi-rpc-python). I took inspiration from
System.Text.Json's source generator andMessagePack-CSharp's attribute model, iterated on it with Claude as a coding assistant, and arrived at this implementation.Figured it might be useful upstream — please take a look and let me know what you think.
See README.md for full documentation and examples.