DataLiteC Package

DataLiteC is a Swift package that provides a system interface to the SQLite C library. It supports macOS, iOS, and Linux platforms, using the system SQLite library via pkg-config.

Overview

DataLiteC is a Swift system library wrapper that links directly to the SQLite C API. It does not add any abstractions and enables direct usage of SQLite's C functions within Swift code.

Installation

Adding DataLiteC to Your Project

To use DataLiteC in your Swift project, add it to the dependencies section of your Package.swift file:

// swift-tools-version: 5.10

import PackageDescription

let package = Package(
    name: "YourProject",
    dependencies: [
        .package(url: "https://github.com/angd-dev/data-lite-c.git", from: "1.0.0")
    ],
    targets: [
        .target(
            name: "YourTarget",
            dependencies: [
                .product(name: "DataLiteC", package: "data-lite-c")
            ]
        )
    ]
)

System Requirements

DataLiteC requires SQLite to be installed on your system:

  • Linux: Install sqlite3 and development headers:

    sudo apt-get install sqlite3 libsqlite3-dev
    
  • macOS: Install SQLite using Homebrew:

    brew install sqlite
    

Usage

Once the package is added, you can import it and use SQLite's C API directly:

import DataLiteC

var db: OpaquePointer?
if sqlite3_open(":memory:", &db) == SQLITE_OK {
    print("Successfully opened connection to database.")
    sqlite3_close(db)
} else {
    print("Unable to open database.")
}

Troubleshooting

If you encounter build errors such as missing sqlite3.h, ensure that pkg-config can locate SQLite:

pkg-config --cflags sqlite3

If the command returns nothing, manually set the PKG_CONFIG_PATH:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"

License

This project is licensed under the MIT License. See the LICENSE file for details.

Description
No description provided
Readme MIT 13 MiB
Languages
C 100%