A Swift implementation of Apache Arrow, the universal columnar format for fast data interchange and in-memory analytics.
This is a work in progress. Do not use in production. Progress is fast however, expect a beta in December.
This project is based on Arrow-Swift, the official Swift implementation of Apache Arrow. The decision was made to at least temporarily operate independently of the Apache Software Foundation (ASF). Currently there are no active ASF maintaners with knowledge of Swift, and the only Apache approved CI for Swift is setup-swift which is unmaintained, leading to intermittent CI failures. This has led to delays in much-needed fixes being implemented.
The intention is to continue contributing to the official Apache-Swift repository, however changes can be iterated on more quickly here.
Original source: https://github.com/apache/arrow-swift
Changes made since forking Arrow-Swift:
- CI uses the swiftlang workflows: https://github.com/swiftlang/github-workflows
ArrowTypehas been moved from a class hierarchy to an enum to improve concurrency support.- Tests have been migrated to Swift Testing.
- A migration from reference to value types, where appropriate, has begun.
- A DockerFile for compiling ArrowFlight protocol buffers and grpc classes is provided.
- C export has been made Swift 6 compatible through MainActor annotations. This is a workaround.