Skip to content

columnar-swift/swift-arrow

Repository files navigation

Swift Arrow

Swift 6.2

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
  • ArrowType has 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.

About

The Swift bindings for Arrow

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages