edge_intelligence 0.4.3 copy "edge_intelligence: ^0.4.3" to clipboard
edge_intelligence: ^0.4.3 copied to clipboard

Dart bindings for the Edge Intelligence SDK, with Flutter mobile and native desktop runtimes.

edge_intelligence #

Dart bindings for the Edge Intelligence SDK, including Flutter Android/iOS and native Dart desktop runtimes.

The package exposes one framework-neutral Dart API. Flutter plugin metadata is used only to bundle the Android and iOS native runtimes; the public library does not import Flutter or expose Flutter types.

Qwen limitation: EdgeLlm.local(modelUri) is the retained byte-level GGUF compatibility path. It does not accept tokenizer.json and is not compatible with Qwen2/Qwen2.5 chat models; do not point it at a Qwen GGUF. A tokenizer-aware Dart Qwen constructor is outside ADR-026's scope.

Usage #

import "package:edge_intelligence/edge_intelligence.dart";

Future<void> main() async {
  await initEdgeIntelligence();

  try {
    // Legacy byte-level GGUF compatibility path; this must not be a Qwen model.
    final sdk = await EdgeLlm.local("/path/to/model.gguf");
    final reply = await sdk.ask("Summarize edge inference in one sentence.");
    print(reply);
  } finally {
    disposeEdgeIntelligence();
  }
}

On a desktop host, initEdgeIntelligence resolves the packaged artifact for the current operating system:

  • Linux x64: lib/native/linux/x64/libel_ffi.so
  • macOS universal: lib/native/macos/libel_ffi.dylib
  • Windows x64: lib/native/windows/x64/el_ffi.dll

If the package assets cannot be loaded from the host filesystem, initialization fails with an actionable UnsupportedError; hosts with a custom runtime location can pass an externalLibrary directly.

Flutter Android and iOS #

Add edge_intelligence as a normal Flutter dependency. The plugin bundles libel_ffi.so on Android and el_ffi.xcframework on iOS, so no manual native library path is required.

import "package:edge_intelligence/edge_intelligence.dart";
import "package:flutter/widgets.dart";

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await initEdgeIntelligence();
  runApp(const MyApp());
}

Call disposeEdgeIntelligence() from the root application's teardown hook, not immediately after runApp, because runApp returns while the application is still active.

The mobile release includes:

  • Android API 24+ for armeabi-v7a, arm64-v8a, and x86_64.
  • iOS 13+ device and simulator slices in a dynamic XCFramework.

Keep framework-specific model storage, permissions, and UI state in the Flutter application. EdgeLlm.local accepts a local GGUF only for the retained byte-level compatibility path; do not use it with Qwen2/Qwen2.5 chat models.

Supported hosts #

Host Runtime packaging
Flutter Android APK/AAB native libraries
Flutter iOS SwiftPM or CocoaPods XCFramework
Dart Linux x64 Packaged shared library
Dart macOS Packaged universal dynamic library
Dart Windows x64 Packaged DLL

Web is not currently supported by this pub.dev package. Use the npm/WASM package for browser applications.

Example #

example/ contains a runnable Flutter Android/iOS application that selects a non-Qwen GGUF for the retained byte-level compatibility path and streams a response. Run it with:

cd example
flutter pub get
flutter run

example/dart_cli.dart demonstrates the same API from a Dart entrypoint. Because this package includes Flutter plugin metadata, dependency resolution requires a Flutter SDK even when the consuming code imports no Flutter APIs.

0
likes
155
points
216
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Dart bindings for the Edge Intelligence SDK, with Flutter mobile and native desktop runtimes.

Repository (GitHub)
View/report issues

License

Pixar (license)

Dependencies

flutter_rust_bridge

More

Packages that depend on edge_intelligence

Packages that implement edge_intelligence