Skip to content

Files

Latest commit

2a332f3 · Oct 14, 2024

History

History

swift

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Oct 14, 2024
Jun 18, 2023
Oct 13, 2023
Jun 26, 2023
Jan 28, 2024
Feb 22, 2024
Dec 29, 2023
Jan 19, 2024

Apache OpenDAL™ Swift Binding (WIP)

Using the Package

Build C Dependencies

The Swift binding depends on the C binding to OpenDAL. Before using this package, you need to build the C library first:

cd bindings/swift
make build-c

To check whether the package is ready to use, simply run the test:

make test

Add Dependency to Your Project

The package manifest is not located at the root directory of its repository. To use it, add the path of this package to the Package.swift manifest of your project:

// swift-tools-version:5.7
import PackageDescription

let package = Package(
  name: "MyTool",
  dependencies: [
    .package(path: "/path/to/opendal/bindings/swift/OpenDAL"),
  ],
  targets: [
    .target(name: "MyTool", dependencies: [
      .product(name: "OpenDAL", package: "OpenDAL"),
    ]),
  ]
)

Example

The demo below shows how to write a key to the memory storage, and read it back:

import OpenDAL

// Create an operator with `memory` backend.
let op = try Operator(scheme: "memory")

// Write some data into path `/demo`.
let someData = Data([1, 2, 3, 4])
try op.blockingWrite(someData, to: "/demo")

// Read the data back.
let readData = try op.blockingRead("/demo")

// You can use the read data here.
print(readData!)

License and Trademarks

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Apache OpenDAL, OpenDAL, and Apache are either registered trademarks or trademarks of the Apache Software Foundation.